Page MenuHome

Crash on loading blends with nested BG scenes
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 960/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 446.14

Blender Version
Broken: version: 2.83.1, branch: master, commit date: 2020-06-25 09:47, hash: rB8289fc688b3e
Worked: (newest version of Blender that worked as expected)

Short description of error
Blender crashes when a file that has linked BG scene that in turn has nested BG scene(s) Three levels of nested BG scenes seems to cause trouble.

Exact steps for others to reproduce the error
1: make a blend (mine has some text at each step as reference), save.
2: link step 1's blend scene into a new blend and set as the BG scene, save.
3: link the blend from step 2's scene into a 3rd blend and set as the BG scene, save.
4: link the blend from step 3's scene into a 4rd blend and set as the BG scene, save.
5: try to load the saved blend from step 4.
Based on an issue we are having with our production files I tried to replicate an crash. I can't say I can reproduce it without fail but I have a series of nest BG scene blends that crash Blender. Up to the 3rd scene seems OK, but the 4th crashes. If I change the names and text the 4th seems OK, but won't save a new text object in the scene.

Event Timeline

Exception thrown: read access violation. sce_iter was 0x20786D90C98.

>	blender.exe!scene_validate_setscene__liblink(Scene * sce, const int totscene) Line 6090	C
 	blender.exe!lib_link_scenes_check_set(Main * bmain) Line 6289	C
 	blender.exe!lib_link_all(FileData * fd, Main * bmain) Line 9711	C
 	blender.exe!read_libraries(FileData * basefd, ListBase * mainlist) Line 12119	C
 	blender.exe!blo_read_file_internal(FileData * fd, const unsigned char * filepath) Line 9948	C
 	blender.exe!BLO_read_from_file(const unsigned char * filepath, eBLOReadSkip skip_flags, ReportList * reports) Line 320	C
 	blender.exe!BKE_blendfile_read(bContext * C, const unsigned char * filepath, const BlendFileReadParams * params, ReportList * reports) Line 444	C
 	blender.exe!WM_file_read(bContext * C, const unsigned char * filepath, ReportList * reports) Line 712	C
 	blender.exe!wm_file_read_opwrap(bContext * C, const unsigned char * filepath, ReportList * reports, const bool autoexec_init) Line 2177	C
 	blender.exe!wm_open_mainfile__open(bContext * C, wmOperator * op) Line 2319	C
 	blender.exe!operator_state_dispatch(bContext * C, wmOperator * op, OperatorDispatchTarget * targets) Line 2213	C
 	blender.exe!wm_open_mainfile_dispatch(bContext * C, wmOperator * op) Line 2346	C
 	blender.exe!wm_open_mainfile_invoke(bContext * C, wmOperator * op, const wmEvent * UNUSED_event) Line 2351	C
 	blender.exe!wm_operator_invoke(bContext * C, wmOperatorType * ot, wmEvent * event, PointerRNA * properties, ReportList * reports, const bool poll_only, bool use_last_properties) Line 1284	C
 	blender.exe!wm_operator_call_internal(bContext * C, wmOperatorType * ot, PointerRNA * properties, ReportList * reports, const short context, const bool poll_only, wmEvent * event) Line 1532	C
 	blender.exe!WM_operator_name_call_ptr(bContext * C, wmOperatorType * ot, short context, PointerRNA * properties) Line 1547	C
 	blender.exe!WM_operator_name_call_with_properties(bContext * C, const unsigned char * opstring, short context, IDProperty * properties) Line 1567	C
 	blender.exe!wm_open_mainfile_after_dialog_callback(bContext * C, void * user_data) Line 2238	C
 	blender.exe!wm_block_file_close_discard(bContext * C, void * arg_block, void * arg_data) Line 3071	C
 	blender.exe!ui_apply_but_funcs_after(bContext * C) Line 922	C
 	blender.exe!ui_popup_handler(bContext * C, const wmEvent * event, void * userdata) Line 10889	C
 	blender.exe!wm_handler_ui_call(bContext * C, wmEventHandler_UI * handler, const wmEvent * event, int always_pass) Line 622	C
 	blender.exe!wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) Line 2743	C
 	blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Line 2854	C
 	blender.exe!wm_event_do_handlers(bContext * C) Line 3283	C
 	blender.exe!WM_main(bContext * C) Line 478	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 548	C
 	[External Code]
Richard Antalik (ISS) changed the task status from Needs Triage to Confirmed.Aug 6 2020, 7:03 AM

Yes, I am sorry about the file naming. I can replicate the crash by linking the linking_scene.blend's scene into a fresh blend and setting it to the background, saving and then attempting to open it. The linking_scene.blend itself opens fine.