peter-kish / gloot

A universal inventory system for the Godot game engine.
MIT License
644 stars 28 forks source link

Godot crashing while trying to update to gloot v3.0.0 #248

Closed LeeWannacott closed 1 month ago

LeeWannacott commented 1 month ago

It's loading my CtrlInventoryGrid as type Control and hiding everything it contains and if I click on the node in the tree, or save the scene godot segfaults (I have this issue with CtrlItemSlot as well); signal 11 is trying to access something in memory that doesn't exist I think?.

I tried deleting all my nodes and re-adding them, but it don't work.

image

If I change the nodes type to anything that is not Control it shows up and its children although it shows missingnode. Is its type supposed to be control or CtrlInventoryGrid? image

Godot crash message:

handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7c91d3642520] (??:0)
[2] /usr/local/bin/godot() [0x4a6a7f2] (??:0)
[3] /usr/local/bin/godot() [0x1460daa] (??:0)
[4] /usr/local/bin/godot() [0x1466996] (??:0)
[5] /usr/local/bin/godot() [0x13b16c2] (??:0)
[6] /usr/local/bin/godot() [0x13b36e2] (??:0)
[7] /usr/local/bin/godot() [0x140af31] (??:0)
[8] /usr/local/bin/godot() [0x161be63] (??:0)
[9] /usr/local/bin/godot() [0x161bfc8] (??:0)
[10] /usr/local/bin/godot() [0x2365b83] (??:0)
[11] /usr/local/bin/godot() [0x23bb166] (??:0)
[12] /usr/local/bin/godot() [0x23d3899] (??:0)
[13] /usr/local/bin/godot() [0x4a1affe] (??:0)
[14] /usr/local/bin/godot() [0x4ba0bf] (??:0)
[15] /usr/local/bin/godot() [0x405c047] (??:0)
[16] /usr/local/bin/godot() [0x405d97f] (??:0)
[17] /usr/local/bin/godot() [0x4c112d] (??:0)
[18] /usr/local/bin/godot() [0x420290] (??:0)
[19] /lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7c91d3629d90] (??:0)
[20] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7c91d3629e40] (??:0)
[21] /usr/local/bin/godot() [0x43d44a] (??:0)
-- END OF BACKTRACE --
LeeWannacott commented 1 month ago

I was able to reproduce this in a fresh project, so looks like its not related to anything in my project. I made a fresh scene with a characterbody2d and added ctrlInventoryGrid -> inventory -> gridConstraint ; I also added ctrlItemSlot -> ItemSlot and then I went project -> reload current project in Godots editor and it crashes. I'm on Godot v4.3.

Only shows these nodes after crashing: image

If the ctrlInventoryGrid isn't assigned an inventory it still crashes however you can click on gloot nodes after the crash, if you have assigned an inventory it will crash if clicking on it, same with the ctrlItemSlot. I didn't assign any protoset, I imagine it doesn't make a difference.

peter-kish commented 1 month ago

I managed to confirm this one 😬 Looking into it...

peter-kish commented 1 month ago

adcfcbf987e98627ba24431b7a723ef3cffbe56d should fix this. Unfortunately it introduces some glitches when duplicating GLoot nodes in the editor, but I think it's better to have that than the editor crash.