Closed BetterToAutomateTheWorld closed 8 years ago
There is no precise source for the crash. We only know the callback and the mod in which is supposedly crashed. Actually, the only on_place
callbacks implemented in default
are uses of minetest.rotate_node
and plant growth callbacks. Unless minetest.rotate_node
is crashing the server there is no way default is responsible.
Here's another one....
2016-03-04 03:24:58: ACTION[ServerThread]: player PLAYERGIRL5 crafts xdecor:pressure_stone_off 2016-03-04 03:25:06: ACTION[ServerThread]: PLAYERGIRL5 places node xdecor:pressure_stone_off at (16411,23,16937) 2016-03-04 03:25:06: ACTION[ServerThread]: facedir: 3 2016-03-04 03:25:06: ACTION[ServerThread]: PLAYERGIRL5 places node xdecor:pressure_stone_off at (16412,22,16938) 2016-03-04 03:25:06: ACTION[ServerThread]: facedir: 0 2016-03-04 03:25:09: ACTION[ServerThread]: PLAYERGIRL5 digs xdecor:pressure_stone_off at (16412,22,16938) 2016-03-04 03:25:10: ACTION[ServerThread]: cristhian digs default:dirt_with_grass at (15040,4,15710) 2016-03-04 03:25:11: ACTION[ServerThread]: cristhian digs default:dirt_with_grass at (15039,4,15710) 2016-03-04 03:25:11: ACTION[ServerThread]: cristhian digs default:dirt_with_grass at (15040,4,15711) 2016-03-04 03:25:12: ACTION[ServerThread]: cristhian digs default:dirt_with_grass at (15039,4,15711) 2016-03-04 03:25:13: ACTION[ServerThread]: PLAYERGIRL5 places node xdecor:pressure_stone_off at (16412,23,16937) 2016-03-04 03:25:13: ACTION[ServerThread]: facedir: 2 2016-03-04 03:25:13: ACTION[ServerThread]: cristhian digs default:dirt_with_grass at (15041,4,15710) 2016-03-04 03:25:13: ACTION[ServerThread]: cristhian digs default:dirt_with_grass at (15041,4,15711) 2016-03-04 03:25:14: ERROR[main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-03-04 03:25:14: ERROR[main]: Lua: Double fault error from mod 'xdecor' in callback node_on_timer(): error in error handling
And after the crash...
2016-03-04 03:32:57: ACTION[ServerThread]: CHAT:
sory i step into a stone presure plate:( and it crushde us all
A stone pressure plate ? Isn't it a mesecons feature ?
@ObaniGemini No it's a new xdecor feature.
Surely linked to https://github.com/kilbith/xdecor/issues/34
This includes the latest commits from xdecor : https://github.com/MinetestForFun/server-minetestforfun-skyblock/commit/1251a8acbe530d5b9d6a2b8a7485af336e5c85a1
All the other crashs are unlogical according to the code in default.
Ok, then I closed this issue, thank you for the subtree/updates of xdecor
I don't think the issue is completely solved. We still need to figure out what those crashs in default are about. @crabman77 has been investigating the nature of those errors, I'm not sure if he has committed anything yet.
2016-03-06 17:57:23: ERROR[main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-03-06 17:57:23: ERROR[main]: Lua: Double fault error from mod 'xdecor' in callback node_on_timer(): error in error handling
Thank you @cessna151 we will investigate
trouvé. les plaques de pressions qui ne sont toujours pas codées comme il le faut.
Lua: Runtime error from mod 'xdecor' in callback node_on_timer(): ...kyblock/bin/../games/Skyblock/mods/xdecor/mechanisms.lua:13: attempt to index local 'door' (a nil value)
xdecor ne supporte pas le mod protecteur et ses portes :(
crash xdecor fixé https://github.com/MinetestForFun/server-minetestforfun-skyblock/commit/ae6fdf0b1c1c5cdfbb129fd3da14ad99145be52c
@crabman77 tu peux appliquer sur creative aussi stp ? @kilbith ça devrait t'intéresser ^
Merci pour le signal. Sinon ça serait sympa de faire profiter votre travail sur upstream. J'accepte aussi les pull-requests et les évalue aussi vite que possible.
Il semble que le patch proposé par @crabman77 soit redondant voire inefficace, la vérification de la nouvelle API est déjà faite plus en amont dans le timer : https://github.com/kilbith/xdecor/blob/master/mechanisms.lua#L31
Etes-vous bien sûr d'avoir utilisé cette ligne de code sur votre serveur ?
@kilbith door.get est présente mais doit renvoyer un node si il est enregistré en tant que porte avec la nouvelle api, mais le mod protector à l'ancienne api, du coup door.get() renvoie nil https://github.com/MinetestForFun/server-minetestforfun-skyblock/blob/master/mods/doors/init.lua#L69
door:open() échoue donc https://github.com/kilbith/xdecor/blob/master/mechanisms.lua#L13
Alors je viens de vérifier avec l'ancienne API du mod doors
et rien d'anormal se passe. La petite vérification que j'avais ajouté fait bien son boulot.
Enfaite protector a sa propre fonction pour enregistrer les portes, donc les portes testées avec doors.get(node) sont inconnues de doors, d'ou le "nil" renvoyé, qui conduit à "nil:open(player)".
2016-03-13 00:36:17: ERROR[main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-03-13 00:36:17: ERROR[main]: Lua: Double fault error from mod 'farming' in callback item_OnPlace(): error in error handling
And again...
2016-03-13 02:13:15: ERROR[main]: UNRECOVERABLE error occurred. Stopping server. Please fix the following error: 2016-03-13 02:13:15: ERROR[main]: Lua: Double fault error from mod 'default' in callback item_OnPlace(): error in error handling
default, farming, xdecor, that's all of our mods which use the "item_OnPlace()" function, maybe the problem isn't this mods but something else... quests system ? builtin ? default skyblock mods which call this mods ?
I don't know...