Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Baking a modified gridmap before re-saving the scene will give a computer freeze. #14795

Closed
kakoeimon opened this issue Dec 18, 2017 · 18 comments

Comments

@kakoeimon
Copy link

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Manjaro 64bit, Godot-Master, GT540M

Issue description:

Baking a modified gridmap before re-saving the scene will give a computer freeze.

Steps to reproduce:
Create a Gridmap with parts that can be baked, place a BakedLightmap on the scene save and bake.
Afterwards modifie the placement of the objects in the gridmap and bake before saving again.
You get a computer freeze.

@akien-mga
Copy link
Member

Can you run it through gdb, and get a backtrace when it freezes? When the freeze happens, you can pause execution in gdb with Ctrl+C and get a backtrace with bt.

Note that to properly debug the editor and not the project manager, the simplest is to do:

cd /path/to/project/folder
gdb godot   // or path to your godot compiled binary if not in PATH
> run -e

@kakoeimon
Copy link
Author

kakoeimon commented Dec 18, 2017

Thread 1 "godot.x11.tools" received signal SIGINT, Interrupt.
0x00007ffff48116f0 in _int_malloc () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff48116f0 in _int_malloc () from /usr/lib/libc.so.6
#1  0x00007ffff4812230 in _int_realloc () from /usr/lib/libc.so.6
#2  0x00007ffff481322e in realloc () from /usr/lib/libc.so.6
#3  0x0000555557b15c83 in Memory::realloc_static (p_memory=0x55555e977cf0, 
    p_bytes=512, p_pad_align=true) at core/os/memory.cpp:137
#4  0x000055555620c5b8 in Vector<wchar_t>::resize (this=0x7fffffffc1a8, 
    p_size=87) at ./core/vector.h:294
#5  0x00005555579b5aae in String::operator+= (this=0x7fffffffc1a8, p_str=...)
    at core/ustring.cpp:220
#6  0x00005555579b59d0 in String::operator+ (this=0x7fffffffc198, p_str=...)
    at core/ustring.cpp:196
#7  0x0000555556a3e74d in EditorLog::_error_handler (p_self=0x55555cb85d50, 
    p_func=0x5555586af262 <RID_Owner<VisualServerScene::Instance>::get(RID const&)::__FUNCTION__> "get", p_file=0x5555586ae722 "core/rid.h", p_line=154, 
    p_error=0x5555586ae730 "Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null", p_errorexp=0x5555586d61e8 "", p_type=ERR_HANDLER_ERROR)
    at editor/editor_log.cpp:47
#8  0x0000555557b0b11b in _err_print_error (
    p_function=0x5555586af262 <RID_Owner<VisualServerScene::Instance>::get(RID const&)::__FUNCTION__> "get", p_file=0x5555586ae722 "core/rid.h", p_line=154, 
    p_error=0x5555586ae730 "Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null", p_type=ERR_HANDLER_ERROR) at core/error_macros.cpp:89
#9  0x000055555783aac9 in RID_Owner<VisualServerScene::Instance>::get (
---Type <return> to continue, or q <return> to quit---
    this=0x7fffed046098, p_rid=...) at core/rid.h:154
#10 0x00005555578291b7 in VisualServerScene::instance_set_use_lightmap (
    this=0x7fffecf2e020, p_instance=..., p_lightmap_instance=..., 
    p_lightmap=...) at servers/visual/visual_server_scene.cpp:659
#11 0x0000555557827ecf in VisualServerScene::instance_set_base (
    this=0x7fffecf2e020, p_instance=..., p_base=...)
    at servers/visual/visual_server_scene.cpp:375
#12 0x0000555557812fa6 in VisualServerRaster::instance_set_base (
    this=0x55555906c720, arg1=..., arg2=...)
    at servers/visual/visual_server_raster.h:517
#13 0x0000555557861aa6 in VisualServerWrapMT::instance_set_base (
    this=0x55555937d880, p1=..., p2=...)
    at servers/visual/visual_server_wrap_mt.h:438
#14 0x000055555729c0ed in VisualInstance::set_base (this=0x55555f1143f0, 
    p_base=...) at scene/3d/visual_instance.cpp:121
#15 0x0000555557279df9 in BakedLightmap::set_light_data (this=0x55555f1143f0, 
    p_data=...) at scene/3d/baked_lightmap.cpp:621
#16 0x0000555557278d22 in BakedLightmap::bake (this=0x55555f1143f0, 
    p_from_node=0x55555deb91c0, p_create_visual_debug=false)
    at scene/3d/baked_lightmap.cpp:552
#17 0x0000555556b0e94d in BakedLightmapEditorPlugin::_bake (
    this=0x55555dc85e40) at editor/plugins/baked_lightmap_editor_plugin.cpp:10
#18 0x00005555561daded in MethodBind0::call (this=0x55555dc871b0, 
---Type <return> to continue, or q <return> to quit---
    p_object=0x55555dc85e40, p_args=0x7fffffffcb60, p_arg_count=0, r_error=...)
    at core/method_bind.gen.inc:54
#19 0x0000555557ab69c9 in Object::call (this=0x55555dc85e40, p_method=..., 
    p_args=0x7fffffffcb60, p_argcount=0, r_error=...) at core/object.cpp:913
#20 0x0000555557ab836f in Object::emit_signal (this=0x55555dc86100, 
    p_name=..., p_args=0x7fffffffcb60, p_argcount=0) at core/object.cpp:1194
#21 0x0000555557ab8902 in Object::emit_signal (this=0x55555dc86100, 
    p_name=..., p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...)
    at core/object.cpp:1239
#22 0x0000555556fb7059 in BaseButton::_gui_input (this=0x55555dc86100, 
    p_event=...) at scene/gui/base_button.cpp:138
#23 0x0000555556ae9076 in MethodBind1<Ref<InputEvent> >::call (
    this=0x555559bd1ac0, p_object=0x55555dc86100, p_args=0x7fffffffce40, 
    p_arg_count=1, r_error=...) at core/method_bind.gen.inc:729
#24 0x0000555557ab5c95 in Object::call_multilevel (this=0x55555dc86100, 
    p_method=..., p_args=0x7fffffffce40, p_argcount=1) at core/object.cpp:747
#25 0x0000555557ab659e in Object::call_multilevel (this=0x55555dc86100, 
    p_name=..., p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...)
    at core/object.cpp:853
#26 0x0000555556f24213 in Viewport::_gui_call_input (this=0x555559f94ef0, 
    p_control=0x55555dc86100, p_input=...) at scene/main/viewport.cpp:1466
#27 0x0000555556f25a6d in Viewport::_gui_input_event (this=0x555559f94ef0, 
    p_event=...) at scene/main/viewport.cpp:1811
---Type <return> to continue, or q <return> to quit---
#28 0x0000555556f29206 in Viewport::input (this=0x555559f94ef0, p_event=...)
    at scene/main/viewport.cpp:2419
#29 0x0000555556f23441 in Viewport::_vp_input (this=0x555559f94ef0, p_ev=...)
    at scene/main/viewport.cpp:1311
#30 0x000055555640cafe in MethodBind1<Ref<InputEvent> const&>::call (
    this=0x555559b96240, p_object=0x555559f94ef0, p_args=0x7fffffffd3c0, 
    p_arg_count=1, r_error=...) at core/method_bind.gen.inc:729
#31 0x0000555557ab69c9 in Object::call (this=0x555559f94ef0, p_method=..., 
    p_args=0x7fffffffd3c0, p_argcount=1, r_error=...) at core/object.cpp:913
#32 0x0000555557ab64ca in Object::call (this=0x555559f94ef0, p_name=..., 
    p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...)
    at core/object.cpp:837
#33 0x0000555556f74be3 in SceneTree::call_group_flags (this=0x555559aa9800, 
    p_call_flags=2, p_group=..., p_function=..., p_arg1=..., p_arg2=..., 
    p_arg3=..., p_arg4=..., p_arg5=...) at scene/main/scene_tree.cpp:246
#34 0x0000555556f7599e in SceneTree::input_event (this=0x555559aa9800, 
    p_event=...) at scene/main/scene_tree.cpp:403
#35 0x00005555561667f7 in InputDefault::parse_input_event (
    this=0x5555599da840, p_event=...) at main/input_default.cpp:345
#36 0x0000555556143fd6 in OS_X11::process_xevents (this=0x7fffffffda10)
    at platform/x11/os_x11.cpp:1706
#37 0x0000555556146f79 in OS_X11::run (this=0x7fffffffda10)
    at platform/x11/os_x11.cpp:2290
---Type <return> to continue, or q <return> to quit---
#38 0x000055555613bcff in main (argc=2, argv=0x7fffffffdf18)
    at platform/x11/godot_x11.cpp:54

The repeating error in the freeze is :

ERROR: get: Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null
   At: core/rid.h:154.

I found and another case of freeze. Make the gridmap to get outside of the extends of the BakedLightmap. (This haven't produced any problems in my second test. Edit: 2 No this was again part of saving the scene)

@akien-mga
Copy link
Member

Note: Use three backquotes before and after the text you're pasting to get it properly formatted:

```
This will be
preformatted
```

@kakoeimon
Copy link
Author

Saving does not seems to solve the problem, but saving and restart.

@kakoeimon
Copy link
Author

@akien-mga I belive I found the "workflow" to prevent the freeze.
I have to clear the Light Data from the BakedLightmap before making any changes to the GridMap. This way works as expected.
I hope this info helps, to solve the issue.

@kakoeimon
Copy link
Author

kakoeimon commented Dec 18, 2017

@akien-mga more problems on the way. For example if I bake and do not save and try to close the scene then I get a freeze again.

Here it is the backtrace :

Thread 1 "godot.x11.tools" received signal SIGINT, Interrupt.
0x00007ffff487787b in write () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff487787b in write () from /usr/lib/libc.so.6
#1  0x00007ffff48092cd in _IO_new_file_write () from /usr/lib/libc.so.6
#2  0x00007ffff48085af in new_do_write () from /usr/lib/libc.so.6
#3  0x00007ffff4809a8e in __GI__IO_file_xsputn () from /usr/lib/libc.so.6
#4  0x00007ffff47dfe6b in buffered_vfprintf () from /usr/lib/libc.so.6
#5  0x00007ffff47dd1ce in vfprintf () from /usr/lib/libc.so.6
#6  0x0000555557ba04ea in StdLogger::logv (this=0x555558f61e60, 
    p_format=0x555557d6acd5 "\033[0;31m   At: %s:%i.\033[0m\n", 
    p_list=0x7fffffffc020, p_err=true) at core/io/logger.cpp:225
#7  0x0000555557b9f7f2 in Logger::logf_error (this=0x555558f61e60, 
    p_format=0x555557d6acd5 "\033[0;31m   At: %s:%i.\033[0m\n")
    at core/io/logger.cpp:97
#8  0x00005555567e7c49 in UnixTerminalLogger::log_error (this=0x555558f61e60, 
    p_function=0x5555586af4c0 <VisualServerScene::instance_set_use_lightmap(RID, RID, RID)::__FUNCTION__> "instance_set_use_lightmap", 
    p_file=0x5555586ae048 "servers/visual/visual_server_scene.cpp", 
    p_line=660, p_code=0x5555586ae108 "Condition ' !instance ' is true.", 
    p_rationale=0x5555586d61e8 "", p_type=Logger::ERR_ERROR)
    at drivers/unix/os_unix.cpp:504
#9  0x0000555557ba0759 in CompositeLogger::log_error (this=0x555558f61ea0, 
    p_function=0x5555586af4c0 <VisualServerScene::instance_set_use_lightmap(RID, RID, RID)::__FUNCTION__> "instance_set_use_lightmap", 
    p_file=0x5555586ae048 "servers/visual/visual_server_scene.cpp", 
---Type <return> to continue, or q <return> to quit---
    p_line=660, p_code=0x5555586ae108 "Condition ' !instance ' is true.", 
    p_rationale=0x5555586d61e8 "", p_type=Logger::ERR_ERROR)
    at core/io/logger.cpp:259
#10 0x0000555557b35a45 in OS::print_error (this=0x7fffffffda30, 
    p_function=0x5555586af4c0 <VisualServerScene::instance_set_use_lightmap(RID, RID, RID)::__FUNCTION__> "instance_set_use_lightmap", 
    p_file=0x5555586ae048 "servers/visual/visual_server_scene.cpp", 
    p_line=660, p_code=0x5555586ae108 "Condition ' !instance ' is true.", 
    p_rationale=0x5555586d61e8 "", p_type=Logger::ERR_ERROR)
    at core/os/os.cpp:85
#11 0x0000555557b0b0a8 in _err_print_error (
    p_function=0x5555586af4c0 <VisualServerScene::instance_set_use_lightmap(RID, RID, RID)::__FUNCTION__> "instance_set_use_lightmap", 
    p_file=0x5555586ae048 "servers/visual/visual_server_scene.cpp", 
    p_line=660, p_error=0x5555586ae108 "Condition ' !instance ' is true.", 
    p_type=ERR_HANDLER_ERROR) at core/error_macros.cpp:83
#12 0x00005555578291f2 in VisualServerScene::instance_set_use_lightmap (
    this=0x7fffecf2e020, p_instance=..., p_lightmap_instance=..., 
    p_lightmap=...) at servers/visual/visual_server_scene.cpp:660
#13 0x0000555557827ecf in VisualServerScene::instance_set_base (
    this=0x7fffecf2e020, p_instance=..., p_base=...)
    at servers/visual/visual_server_scene.cpp:375
#14 0x0000555557833ff9 in VisualServerScene::free (this=0x7fffecf2e020, 
---Type <return> to continue, or q <return> to quit---
    p_rid=...) at servers/visual/visual_server_scene.cpp:3301
#15 0x000055555780ddd0 in VisualServerRaster::free (this=0x55555906ca90, 
    p_rid=...) at servers/visual/visual_server_raster.cpp:78
#16 0x0000555557866e86 in VisualServerWrapMT::free (this=0x55555937dd70, 
    p1=...) at servers/visual/visual_server_wrap_mt.h:560
#17 0x000055555729c231 in VisualInstance::~VisualInstance (
    this=0x55555deec100, __in_chrg=<optimized out>)
    at scene/3d/visual_instance.cpp:134
#18 0x0000555557284afa in BakedLightmap::~BakedLightmap (this=0x55555deec100, 
    __in_chrg=<optimized out>) at scene/3d/baked_lightmap.h:60
#19 0x00005555563fc086 in memdelete<Node> (p_class=0x55555deec100)
    at core/os/memory.h:117
#20 0x0000555556f4c0c3 in Node::_notification (this=0x55555dfeb810, 
    p_notification=1) at scene/main/node.cpp:163
#21 0x000055555619efaa in Node::_notificationv (this=0x55555dfeb810, 
    p_notification=1, p_reversed=true) at ./scene/main/node.h:45
#22 0x00005555562a7473 in Spatial::_notificationv (this=0x55555dfeb810, 
    p_notification=1, p_reversed=true) at ./scene/3d/spatial.h:57
#23 0x0000555557ab6b42 in Object::notification (this=0x55555dfeb810, 
    p_notification=1, p_reversed=true) at core/object.cpp:923
#24 0x0000555557ab3c6b in Object::_predelete (this=0x55555dfeb810)
    at core/object.cpp:385
#25 0x0000555557abf185 in predelete_handler (p_object=0x55555dfeb810)
---Type <return> to continue, or q <return> to quit---
    at core/object.cpp:1904
#26 0x00005555563fc066 in memdelete<Node> (p_class=0x55555dfeb810)
    at core/os/memory.h:115
#27 0x0000555556888d9c in EditorData::remove_scene (this=0x55555a0c1fb0, 
    p_idx=0) at editor/editor_data.cpp:498
#28 0x0000555556917187 in EditorNode::_remove_edited_scene (
    this=0x55555a0c1880) at editor/editor_node.cpp:2825
#29 0x0000555556917253 in EditorNode::_remove_scene (this=0x55555a0c1880, 
    index=0) at editor/editor_node.cpp:2835
#30 0x000055555691459f in EditorNode::_discard_changes (this=0x55555a0c1880, 
    p_str=...) at editor/editor_node.cpp:2564
#31 0x000055555691f732 in EditorNode::_scene_tab_closed (this=0x55555a0c1880, 
    p_tab=0) at editor/editor_node.cpp:4021
#32 0x0000555556201df0 in MethodBind1<int>::call (this=0x55555df20d30, 
    p_object=0x55555a0c1880, p_args=0x7fffffffcb60, p_arg_count=1, r_error=...)
    at ./core/method_bind.gen.inc:729
#33 0x0000555557ab69c9 in Object::call (this=0x55555a0c1880, p_method=..., 
    p_args=0x7fffffffcb60, p_argcount=1, r_error=...) at core/object.cpp:913
#34 0x0000555557ab836f in Object::emit_signal (this=0x55555bc28510, 
    p_name=..., p_args=0x7fffffffcb60, p_argcount=1) at core/object.cpp:1194
#35 0x0000555557ab8902 in Object::emit_signal (this=0x55555bc28510, 
    p_name=..., p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...)
    at core/object.cpp:1239
---Type <return> to continue, or q <return> to quit---
#36 0x00005555570f2e63 in Tabs::_gui_input (this=0x55555bc28510, p_event=...)
    at scene/gui/tabs.cpp:181
#37 0x000055555640cafe in MethodBind1<Ref<InputEvent> const&>::call (
    this=0x555559beef00, p_object=0x55555bc28510, p_args=0x7fffffffce60, 
    p_arg_count=1, r_error=...) at core/method_bind.gen.inc:729
#38 0x0000555557ab5c95 in Object::call_multilevel (this=0x55555bc28510, 
    p_method=..., p_args=0x7fffffffce60, p_argcount=1) at core/object.cpp:747
#39 0x0000555557ab659e in Object::call_multilevel (this=0x55555bc28510, 
    p_name=..., p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...)
    at core/object.cpp:853
#40 0x0000555556f24213 in Viewport::_gui_call_input (this=0x555559f95410, 
    p_control=0x55555bc28510, p_input=...) at scene/main/viewport.cpp:1466
#41 0x0000555556f25a6d in Viewport::_gui_input_event (this=0x555559f95410, 
    p_event=...) at scene/main/viewport.cpp:1811
#42 0x0000555556f29206 in Viewport::input (this=0x555559f95410, p_event=...)
    at scene/main/viewport.cpp:2419
#43 0x0000555556f23441 in Viewport::_vp_input (this=0x555559f95410, p_ev=...)
    at scene/main/viewport.cpp:1311
#44 0x000055555640cafe in MethodBind1<Ref<InputEvent> const&>::call (
    this=0x555559b967d0, p_object=0x555559f95410, p_args=0x7fffffffd3e0, 
    p_arg_count=1, r_error=...) at core/method_bind.gen.inc:729
#45 0x0000555557ab69c9 in Object::call (this=0x555559f95410, p_method=..., 
    p_args=0x7fffffffd3e0, p_argcount=1, r_error=...) at core/object.cpp:913
---Type <return> to continue, or q <return> to quit---
#46 0x0000555557ab64ca in Object::call (this=0x555559f95410, p_name=..., 
    p_arg1=..., p_arg2=..., p_arg3=..., p_arg4=..., p_arg5=...)
    at core/object.cpp:837
#47 0x0000555556f74be3 in SceneTree::call_group_flags (this=0x555559aa92e0, 
    p_call_flags=2, p_group=..., p_function=..., p_arg1=..., p_arg2=..., 
    p_arg3=..., p_arg4=..., p_arg5=...) at scene/main/scene_tree.cpp:246
#48 0x0000555556f7599e in SceneTree::input_event (this=0x555559aa92e0, 
    p_event=...) at scene/main/scene_tree.cpp:403
#49 0x00005555561667f7 in InputDefault::parse_input_event (
    this=0x5555599df500, p_event=...) at main/input_default.cpp:345
#50 0x0000555556143fd6 in OS_X11::process_xevents (this=0x7fffffffda30)
    at platform/x11/os_x11.cpp:1706
#51 0x0000555556146f79 in OS_X11::run (this=0x7fffffffda30)
    at platform/x11/os_x11.cpp:2290
#52 0x000055555613bcff in main (argc=2, argv=0x7fffffffdf38)
    at platform/x11/godot_x11.cpp:54

Also more problems ...
If I bake I get some corruption in the objects... for example spaces between the objects.
Do you want me to create a separated issue for this or you want to keep the issues over here?
I am saying this cause BakedLightmap and Gridmap is too recent.

@akien-mga
Copy link
Member

You can keep them here for now, @reduz will have an in-depth look at the issues you reported.

@kakoeimon
Copy link
Author

Sorry @akien-mga I just created a new issue as you were writing this. : #14798
I believe that the new issue it's better to be keeped separated cause it required an example project to be more clear.
Anything else I will report here.

reduz added a commit that referenced this issue Dec 19, 2017
Not sure if this is the same problem, as reported, please test.
@reduz
Copy link
Member

reduz commented Dec 19, 2017

I may fixed this, but not quite convinced it's your same problem. Would appreciate a test scene that crashes.

@kakoeimon
Copy link
Author

@reduz Now I cannot even fill the cells of the Gridmap and the GridMap I loaded was empty.
I will create a fresh project to be sure.

@kakoeimon
Copy link
Author

Checked in new project too. I cannot place any mesh by using the gridmap.

@kakoeimon
Copy link
Author

If I edit the tilemap and try to re-bake I get this error in loop:

ERROR: get: Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null
   At: core/rid.h:154.
ERROR: instance_set_use_lightmap: Condition ' !instance ' is true.
   At: servers/visual/visual_server_scene.cpp:660.

Test file :
gridtest.zip

@kakoeimon
Copy link
Author

Forgot to add the test.tscn as Main Scene in the preferences.
Anyway test/test.tscn is the test...

@kakoeimon
Copy link
Author

@reduz This error is everywhere :

ERROR: get: Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null
   At: core/rid.h:154.
ERROR: instance_set_use_lightmap: Condition ' !instance ' is true.
   At: servers/visual/visual_server_scene.cpp:660.

Even without GridMap if you bake and save and the close the scene you get it.
If you save and quite you get it.
If you copy again the file and force re-importwhile you have a scene with a bake which uses the file, you get it.

@capnm
Copy link
Contributor

capnm commented Dec 21, 2017

(BackedLightmap issues without GridMap)
++ right after Light data -> Load:
(btw. although it's possible to save the data in a *.res file, it's disabled for load)

ERROR: get_global_transform: Condition ' !is_inside_tree() ' is true. returned: Transform()
   At: scene/3d/spatial.cpp:265.
ERROR: get_global_transform: Condition ' !is_inside_tree() ' is true. returned: Transform()
   At: scene/3d/spatial.cpp:265.
ERROR: can_instance: Condition ' !ti ' is true. returned: false
   At: core/class_db.cpp:488.
ERROR: get_parent_class: Condition ' !ti ' is true. returned: StringName()
   At: core/class_db.cpp:289.
ERROR: get_parent_class: Condition ' !ti ' is true. returned: StringName()
   At: core/class_db.cpp:289.
…

++ I can confirm, at some point after baking / saving lightmap.tres
the exit() of a 'played project' or the godot-tool jumps to an endless loop:

ERROR: ~List: Condition ' _first != __null ' is true.
   At: core/self_list.h:99.
ERROR: get: Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null
   At: core/rid.h:154.
ERROR: instance_set_use_lightmap: Condition ' !instance ' is true.
   At: servers/visual/visual_server_scene.cpp:660.
ERROR: get: Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null
   At: core/rid.h:154.
ERROR: instance_set_use_lightmap: Condition ' !instance ' is true.
   At: servers/visual/visual_server_scene.cpp:660.
ERROR: get: Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null
   At: core/rid.h:154.
ERROR: instance_set_use_lightmap: Condition ' !instance ' is true.
   At: servers/visual/visual_server_scene.cpp:660.
…
(gdb) b core/rid.h:154
Haltepunkt 1 at 0x573182: core/rid.h:154. (87 locations)
…
[Thread 0x7fffe51ff700 (LWP 26972) exited]
ERROR: get_global_transform: Condition ' !is_inside_tree() ' is true. returned: Transform()
   At: scene/3d/spatial.cpp:265.
ERROR: get_global_transform: Condition ' !is_inside_tree() ' is true. returned: Transform()
   At: scene/3d/spatial.cpp:265.
[New Thread 0x7fffe51ff700 (LWP 26973)]
[Thread 0x7fffe51ff700 (LWP 26973) exited]
ERROR: ~List: Condition ' _first != __null ' is true.
   At: core/self_list.h:99.

Thread 1 "godot3" hit Breakpoint 1, RID_Owner<VisualServerScene::Instance>::get () at core/rid.h:154
154			ERR_FAIL_COND_V(!id_map.has(p_rid.get_data()), NULL);
(gdb) bt
#0  RID_Owner<VisualServerScene::Instance>::get () at core/rid.h:154
#1  0x0000000001b6f86a in VisualServerScene::instance_set_use_lightmap () at servers/visual/visual_server_scene.cpp:659
#2  0x0000000001b73b31 in VisualServerScene::instance_set_base () at servers/visual/visual_server_scene.cpp:375
#3  0x0000000001b74f70 in VisualServerScene::free () at servers/visual/visual_server_scene.cpp:3301
#4  0x00000000013fcc58 in VisualInstance::~VisualInstance () at scene/3d/visual_instance.cpp:134
#5  0x00000000006d212c in memdelete<Node> () at core/os/memory.h:117
#6  0x000000000122549d in Node::_notification () at scene/main/node.cpp:163
#7  0x0000000001cc161b in Object::notification () at core/object.cpp:923
#8  Object::_predelete () at core/object.cpp:385
#9  0x00000000006d2119 in memdelete<Node> () at core/os/memory.h:115
#10 0x0000000000dfa817 in EditorData::clear_edited_scenes () at editor/editor_data.cpp:758
#11 0x0000000000c5358e in EditorNode::_notification () at editor/editor_node.cpp:284
#12 0x0000000000c7c74d in EditorNode::_notificationv () at editor/editor_node.h:95
#13 0x0000000001cbffa4 in Object::notification () at core/object.cpp:923
#14 0x0000000001221acf in Node::_propagate_exit_tree () at scene/main/node.cpp:279
#15 0x00000000012219bd in Node::_propagate_exit_tree () at scene/main/node.cpp:268
#16 0x0000000001222479 in Node::_set_tree () at scene/main/node.cpp:2635
#17 0x00000000011ff9e3 in SceneTree::finish () at scene/main/scene_tree.cpp:583
#18 0x000000000041ed83 in main () at platform/x11/godot_x11.cpp:54
(gdb) list
149		_FORCE_INLINE_ T *get(const RID &p_rid) {
150	
151	#ifdef DEBUG_ENABLED
152	
153			ERR_FAIL_COND_V(!p_rid.is_valid(), NULL);
154			ERR_FAIL_COND_V(!id_map.has(p_rid.get_data()), NULL);
155	#endif
156			return static_cast<T *>(p_rid.get_data());
157		}
158	

@HummusSamurai
Copy link
Contributor

Might be solved by DoubleDeez@4193bf1

@capnm
Copy link
Contributor

capnm commented Dec 26, 2017

Nope, I still get the same crash (see my previous comment) at
c2240a2

@leiget
Copy link

leiget commented Jan 1, 2018

EDIT: I updated the error message below because I missed another error appearing right below the first one I gave. Both errors happen at the same time, looping infinitely.

I'm having a similar issue when saving an external, linked scene (that contains meshes with materials) after making changes to it, then tabbing back to the scene that links that external scene. I get the same error, looping indefinitely:

The meshes are imported .dae files that have lightmaps generated for them in the Godot importer tab.

ERROR: get: Condition ' !id_map.has(p_rid.get_data()) ' is true. returned: __null
     At: core/rid.h:154.
ERROR: instance_set_use_lightmap: Condition ' !instance ' is true.
     At: servers/visual/visual_server_scene.cpp:660.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants