godot_voxel
godot_voxel copied to clipboard
Connecting a SDFPreview directly to a input node that is connected to the output crashes the editor
When connecting an SDFPreview directly to an input node when editing an generator graph, godot crashes with following trace:
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v3.5.beta.custom_build (cec7fc4ffeba4de992436ed9c7f8fe428c22a6b1)
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /usr/lib/libc.so.6(+0x42560) [0x7f88ddb76560] (??:0)
[2] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x1165d5b] (/home/mai/projects/github/godot/modules/voxel/editor/graph/voxel_graph_editor.cpp:895)
[3] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x116acc9] (/home/mai/projects/github/godot/modules/voxel/editor/graph/voxel_graph_editor.cpp:115)
[4] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x117322f] (/home/mai/projects/github/godot/modules/voxel/editor/graph/voxel_graph_editor.cpp:293)
[5] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x35799e4] (/home/mai/projects/github/godot/core/object.cpp:929)
[6] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x24fa402] (/home/mai/projects/github/godot/scene/main/scene_tree.cpp:1073)
[7] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x2505d7e] (/home/mai/projects/github/godot/scene/main/scene_tree.cpp:604 (discriminator 3))
[8] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x8506c4] (/home/mai/projects/github/godot/main/main.cpp:2274)
[9] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x833821] (/home/mai/projects/github/godot/platform/x11/os_x11.cpp:3835)
[10] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x81a56f] (/home/mai/projects/github/godot/platform/x11/godot_x11.cpp:55)
[11] /usr/lib/libc.so.6(+0x2d310) [0x7f88ddb61310] (??:0)
[12] /usr/lib/libc.so.6(__libc_start_main+0x81) [0x7f88ddb613c1] (??:0)
[13] /home/mai/projects/github/godot/bin/godot.x11.opt.tools.64() [0x8202f5] (??:?)
-- END OF BACKTRACE --
If however, you either connect the input only to the preview, or the input does not effect the output node, the editor does not crash.
Steps to reproduce:
- Create an VoxelGeneratorGraph
- Add an SDFPreview node to the output of InputY, which per default should be connected to an SdfPlane and it to the output
- Maybe move the SdfPreview node a bit around
- Godot Crashes with the above trace
Godot version: 3.x; commit cec7fc4ffeba4de992436ed9c7f8fe428c22a6b1 GodotVoxel commit: 07c756dbb2909c9a7db39cfd64a38f8df1cb54e2
Looks like due to how inputs are implemented it is actually not possible to plug a debug view on them. Their output is only valid for a very short time during execution of the graph but gets unbound after that (and there is no safe way to "not unbind" them), so when the preview tries to update the data is no longer available.
I'll push a fix for the editor not to crash, but will look for a way to make this case work properly later.
It should no longer crash in master and godot3.x branches.
Can confirm that the current godot3.x branch dosn't produce a crash anymore