testserver venik tried to grab wielded light? #4574

Open
opened 2023-05-21 11:23:55 +00:00 by AliasAlreadyTaken · 4 comments
2023-05-21 05:35:10: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'wielded_light' in callback environment_Step(): attempt to index a nil value
2023-05-21 05:35:10: ERROR[Main]: stack traceback:
2023-05-21 05:35:10: ERROR[Main]: 	[C]: in function 'get_hit_params'
2023-05-21 05:35:10: ERROR[Main]: 	...test_test/bin/../mods/yl_commons/features/tool_alert.lua:358: in function 'on_punch'
2023-05-21 05:35:10: ERROR[Main]: 	...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:116: in function 'try_to_pickup'
2023-05-21 05:35:10: ERROR[Main]: 	...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:180: in function 'trace_and_pickup'
2023-05-21 05:35:10: ERROR[Main]: 	...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:193: in function 'func'
2023-05-21 05:35:10: ERROR[Main]: 	...inetest_test/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_test/bin/../builtin/profiler/instrumentation.lua:101>
2023-05-21 05:35:10: ERROR[Main]: 	.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:446: in function <.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:432>
``` 2023-05-21 05:35:10: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'wielded_light' in callback environment_Step(): attempt to index a nil value 2023-05-21 05:35:10: ERROR[Main]: stack traceback: 2023-05-21 05:35:10: ERROR[Main]: [C]: in function 'get_hit_params' 2023-05-21 05:35:10: ERROR[Main]: ...test_test/bin/../mods/yl_commons/features/tool_alert.lua:358: in function 'on_punch' 2023-05-21 05:35:10: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:116: in function 'try_to_pickup' 2023-05-21 05:35:10: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:180: in function 'trace_and_pickup' 2023-05-21 05:35:10: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:193: in function 'func' 2023-05-21 05:35:10: ERROR[Main]: ...inetest_test/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_test/bin/../builtin/profiler/instrumentation.lua:101> 2023-05-21 05:35:10: ERROR[Main]: .../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:446: in function <.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:432> ```
AliasAlreadyTaken added the
1. kind/bug
label 2023-05-21 11:23:59 +00:00
Member

I'm not sure how wielded_light ended up there.

The crash happened in yl_commons, caused by the way I'm calling on_punch(player) without additional parameters. It works fine in vanilla, but yl_commons wraps on_punch() functions and assumes that other parameters are not nil.

I can prevent this crash from venik, by passing more args, or figuring other way to pick up stuff. (I'm not sure what is the right API to use here).
3c1e01fe2d/init.lua (L116)

Or yl_commons can be more defensive and don't assume that you punch stuff with something...
530e79496f/features/tool_alert.lua (L337)

I'm not sure how `wielded_light` ended up there. The crash happened in yl_commons, caused by the way I'm calling `on_punch(player)` without additional parameters. It works fine in vanilla, but yl_commons wraps `on_punch()` functions and assumes that other parameters are not nil. I can prevent this crash from venik, by passing more args, or figuring other way to pick up stuff. (I'm not sure what is the right API to use here). https://gitea.your-land.de/whosit/dvornik/src/commit/3c1e01fe2de9bae2b0c229cae891442ec8f2ce3c/init.lua#L116 Or `yl_commons` can be more defensive and don't assume that you punch stuff with something... https://gitea.your-land.de/your-land/yl_commons/src/commit/530e79496fb3b38d02d44d0350b8489c4e63ab31/features/tool_alert.lua#L337
Member

apparently the groups argument to minetest.get_hit_params can be nil, but the tool_capabilities cannot. i modified the tool alert code to avert a crash, but i've got no idea what dvornik/venik is. 411088d876

apparently the `groups` argument to `minetest.get_hit_params` can be `nil`, but the `tool_capabilities` cannot. i modified the tool alert code to avert a crash, but i've got no idea what dvornik/venik is. https://gitea.your-land.de/your-land/yl_commons/commit/411088d8768ce708841725213b9e839a39ad7d20
flux added the
4. step/ready to QA test
label 2023-05-21 16:31:53 +00:00
Author
Owner

2023-05-22 19:02:38: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'wielded_light' in callback environment_Step(): attempt to index a nil value
2023-05-22 19:02:38: ERROR[Main]: stack traceback:
2023-05-22 19:02:38: ERROR[Main]: [C]: in function 'get_hit_params'
2023-05-22 19:02:38: ERROR[Main]: ...test_test/bin/../mods/yl_commons/features/tool_alert.lua:358: in function 'on_punch'
2023-05-22 19:02:38: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:116: in function 'try_to_pickup'
2023-05-22 19:02:38: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:180: in function 'trace_and_pickup'
2023-05-22 19:02:38: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:193: in function 'func'
2023-05-22 19:02:38: ERROR[Main]: ...inetest_test/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_test/bin/../builtin/profiler/instrumentation.lua:101>
2023-05-22 19:02:38: ERROR[Main]: .../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:446: in function <.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:432>

2023-05-22 19:02:38: ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'wielded_light' in callback environment_Step(): attempt to index a nil value 2023-05-22 19:02:38: ERROR[Main]: stack traceback: 2023-05-22 19:02:38: ERROR[Main]: [C]: in function 'get_hit_params' 2023-05-22 19:02:38: ERROR[Main]: ...test_test/bin/../mods/yl_commons/features/tool_alert.lua:358: in function 'on_punch' 2023-05-22 19:02:38: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:116: in function 'try_to_pickup' 2023-05-22 19:02:38: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:180: in function 'trace_and_pickup' 2023-05-22 19:02:38: ERROR[Main]: ...t/bin/../worlds/Minetest_test/worldmods/dvornik/init.lua:193: in function 'func' 2023-05-22 19:02:38: ERROR[Main]: ...inetest_test/bin/../builtin/profiler/instrumentation.lua:108: in function <...inetest_test/bin/../builtin/profiler/instrumentation.lua:101> 2023-05-22 19:02:38: ERROR[Main]: .../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:446: in function <.../mt/5.7.0/Minetest_test/bin/../builtin/game/register.lua:432>
Member

I guess I should just stop pushing unfinished garbage for testing on the test server.

I guess I should just stop pushing unfinished garbage for testing on the test server.
Sign in to join this conversation.
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: your-land/bugtracker#4574
No description provided.