mesecons
mesecons copied to clipboard
Servercrash when using gates in combinaation with movestones
2018-02-16 20:47:20: ERROR[Main]: ServerError: AsyncErr: environment_Step: Runtime error from mod 'mesecons' in callback environment_Step(): basic_string::_M_construct null not valid
2018-02-16 20:47:20: ERROR[Main]: stack traceback:
2018-02-16 20:47:20: ERROR[Main]: [C]: in function 'set_int'
2018-02-16 20:47:20: ERROR[Main]: ...in64\bin\..\mods\mesecons-master\mesecons_gates\init.lua:49: in function 'action_change'
2018-02-16 20:47:20: ERROR[Main]: ...-win64\bin\..\mods\mesecons-master\mesecons/internal.lua:236: in function <...-win64\bin\..\mods\mesecons-master\mesecons/internal.lua:229>
2018-02-16 20:47:20: ERROR[Main]: ...n64\bin\..\mods\mesecons-master\mesecons/actionqueue.lua:93: in function 'execute'
2018-02-16 20:47:20: ERROR[Main]: ...n64\bin\..\mods\mesecons-master\mesecons/actionqueue.lua:84: in function <...n64\bin\..\mods\mesecons-master\mesecons/actionqueue.lua:61>
2018-02-16 20:47:20: ERROR[Main]: ...p\minetest-0.4.16-win64\bin\..\builtin\game\register.lua:412: in function <...p\minetest-0.4.16-win64\bin\..\builtin\game\register.lua:392>
2018-02-16 20:47:20: ERROR[Main]: stack traceback:
Can somebody have a look at this? It crashes servers 100% . To test it build something like this: M = Sticky Movestone N = NOR-Gate
NNN MMM MMM NNN
orient the NOR-Gates so, that when one line is activated, the line next to it gets pulled in the same direction
orient the NOR-Gates so, that when one line is activated, the line next to it gets pulled in the same direction
Perhaps this is obvious how to do this to you, but it certainly isn't for me. Just make a screenshot.
screenshot Hope you can see everything
looks like exposing a core bug
Yes there is obviously a core bug as it crashes in the engine code, but there is still a mod bug so that it calls the engine code wrongly.
Reproduced. Place a mesecon at the crosshair, and it will crash.
WARNING: it breaks the world! Removing mesecon_actionqueue is mandatory after such experiment, and there may be consequences.
The reason is that it can’t handle moving conductors well at all. It queues activation of the left movestone, but on the next step, the right movestone moves first, substituting it with the gate. The gate expects a named rule, but gets unnamed one that was queued for the movestone.
Core issue: #406
unable to replicate.
the set_int call seems to have been removed.
Confirmed. This works now.