minetest-mods / 3d_armor

Visible player armor & wielded items for minetest
Other
17 stars 39 forks source link

The server crashes when the player relogs referring to 3d_armor (again?) #106

Closed Timofei302 closed 1 year ago

Timofei302 commented 1 year ago

I'm building a Minetest server to play with friends. And while testing the administrative part of the server and the Troll mod, I ran into the problem that when reconnecting the player, the server crashes with a lua error. And judging by the error, this is caused by the 3d_armor (and skinsdb) mod.

Video with error:

https://github.com/minetest-mods/3d_armor/assets/59145732/925326fc-9a84-4bb4-a26f-bf3f5dbe5841

Error:

AsyncErr: Lua: Runtime error from mod '' in callback environment_Step(): (load):1578: attempt to index field 'items_progress' (a nil value)
stack traceback:
(load):1578: in function 'get_items_fs'
(load):1774: in function 'make_fs'
(load):177: in function 'func'
/home/user/.minetest/mods/3d_armor/3d_armor/api.lua:341: in function 'run_callbacks'
/home/user/.minetest/mods/skinsdb/init.lua:55: in function 'update_player_visuals'
/home/user/.minetest/mods/3d_armor/3d_armor/api.lua:529: in function 'set_player_armor'
/home/user/.minetest/mods/3d_armor/3d_armor/init.lua:291: in function 'init_player_armor'
/home/user/.minetest/mods/3d_armor/3d_armor/init.lua:338: in function 'func'
/usr/share/minetest/builtin/common/after.lua:20: in function </usr/share/minetest/builtin/common/after.lua:5>
/usr/share/minetest/builtin/game/register.lua:446: in function </usr/share/minetest/builtin/game/register.lua:432>

Additional information:

fluxionary commented 1 year ago

this is a bug in a mod that's registering a callback w/ 3d armor, not 3d armor itself. we can't see what it is, because the path to the mod's code is replaced with (load)? can you provide a list of other mods that you have installed?

fluxionary commented 1 year ago

the code in question belongs to i3, which doesn't generate sane stack traces because it isn't written in lua. i suggest you switch from i3 to unified_inventory.

Timofei302 commented 1 year ago

the code in question belongs to i3, which doesn't generate sane stack traces because it isn't written in lua. i suggest you switch from i3 to unified_inventory.

Yes. I have I3 installed. When I sit down at the computer, I will check whether replacing I3 with

Timofei302 commented 1 year ago

And I finally tested the fluxionary assumption. Yes, the problem turned out to be in the i3 modification. Therefore, I think it's worth closing this issue.