AsyncErr: Lua: Runtime error from mod 'ggraffiti' in callback luaentity_Activate(): .minetest/mods/ggraffiti/canvas.lua:45: attempt to index field 'bitmap_size' (a nil value)
stack traceback:
.minetest/mods/ggraffiti/canvas.lua:45: in function 'update'
.minetest/mods/ggraffiti/canvas.lua:27: in function </home/nataly/.minetest/mods/ggraffiti/canvas.lua:19>
Hi, thank you for your feedback :-) I understand your description to mean that the following happened:
You created a new world and opened it.
You sprayed some graffiti.
You closed the world and opened it again.
Without you doing anything (like spraying graffiti again), it crashed.
This probably means that some graffiti entities have not been saved correctly. If you just want to get the world working again, you can do the /clearobjects command before it crashes. That will remove all graffiti (and all other entities). You might have to copy & paste the command if typing it takes too long (longer than the time you have before the world crashes).
If I do the steps I've described above on Minetest 5.6.1, Minetest Game 5.6.1, no mods except ggraffiti enabled, I don't get a crash. Does this always happen for you? What MT version are you using? With what game and, if any, with what other mods do you get this crash? Is there anything special you have to do for it to happen?
Thanks a lot for reply. I am using "Minetest Game", "Dreambuilder Game" and many other mods. Yes looks like game cannot save correctly something for a first time. But then I turn off mod, remove "Unknown Objects" (They was canvas for my paints ) on walls. Then turning on again - and never get such crashes. So it becomes usable after re-enabling mod.
I am using 5.6.1 or 5.7.0 builds.
Perhaps also do a check for if the node it's supposed to be "attached" to is air, if so also clean it up too. (This would fix another comment #4165, and provide a quicker way to remove grief graffiti (just replace the node(s)).
Perhaps also do a check for if the node it's supposed to be "attached" to is air, if so also clean it up too. (This would fix another comment #4165, and provide a quicker way to remove grief graffiti (just replace the node(s)).
Done :) I implemented it in a different way, though.
Working like a charm but after restart got this:
Hi, thank you for your feedback :-) I understand your description to mean that the following happened:
This probably means that some graffiti entities have not been saved correctly. If you just want to get the world working again, you can do the
/clearobjects
command before it crashes. That will remove all graffiti (and all other entities). You might have to copy & paste the command if typing it takes too long (longer than the time you have before the world crashes).If I do the steps I've described above on Minetest 5.6.1, Minetest Game 5.6.1, no mods except
ggraffiti
enabled, I don't get a crash. Does this always happen for you? What MT version are you using? With what game and, if any, with what other mods do you get this crash? Is there anything special you have to do for it to happen?Yeah without further to go on I can't help debug too.
Hmm, I wonder if there would be a way to help auto-recover from stuff like this. (If there is a way to do that as well)
Thanks a lot for reply. I am using "Minetest Game", "Dreambuilder Game" and many other mods. Yes looks like game cannot save correctly something for a first time. But then I turn off mod, remove "Unknown Objects" (They was canvas for my paints ) on walls. Then turning on again - and never get such crashes. So it becomes usable after re-enabling mod. I am using 5.6.1 or 5.7.0 builds.
If it doesn't happen again, then ... well. May the bug sleep for a hundred years.
Or maybe it was just a heisenbug.
Anyway it is possible to adopt to the bug. Old bug better than new features(but this is not known for sure ).
BTW, incorrectly saved canvases are now removed automatically and no longer crash the server. Thanks for the suggestion, @ApolloX :-)
The relevant commit
Perhaps also do a check for if the node it's supposed to be "attached" to is air, if so also clean it up too. (This would fix another comment #4165, and provide a quicker way to remove grief graffiti (just replace the node(s)).
Done :) I implemented it in a different way, though.