Page MenuHome

Crash when using a workspace/layout data path in a driver.
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-7-6.1.7601-SP1 64 Bits
Graphics card: Intel(R) HD Graphics 4600 Intel 4.3.0 - Build 10.18.14.5117

Blender Version
Broken: version:

  • 2.91.0, branch: master, commit date: 2020-11-25 08:34, hash: rB0f45cab862b8
  • 2.92.0, 2020-12-04

Worked: 2.83.9

Short description of error
Crash when using a driver with Workspace as ID type and Layout as ID.

Exact steps for others to reproduce the error
Simplified steps:

  1. Download the attached file.
  2. In the Workspace Properties, copy the data path to the custom property.
  3. Switch to the Object Properties and edit the driver.
  4. Paste the data path.



2.91.0

  1. In the Workspace Properties create a custom property
  2. Copy the data path of this custom property
  3. Select the cube, add driver on any channel (location, rotation, scale)
  4. Change the transform channel type of the variable to //Single Property/.
  5. Set the ID type to Workspace and the ID to Layout
  6. Paste the data path of the custom property into the field

Blender should crash.

2.92.0 - Starting from the default startup file:

  1. Select the cube, add driver on any channel (location, rotation, scale)
  2. Change the transform channel type of the variable to //Single Property/.
  3. Set the ID type to Workspace and the ID to Layout

Blender should crash.

Have a good day, amazing work!

Event Timeline

Robert Guetzkow (rjg) renamed this task from Crash when pasting a workspace/layout data path into a driver. to Crash when using a workspace/layout data path in a driver..Dec 4 2020, 11:34 PM
Robert Guetzkow (rjg) updated the task description. (Show Details)
Robert Guetzkow (rjg) changed the task status from Needs Triage to Confirmed.Dec 4 2020, 11:41 PM

I can confirm this crash in Blender 2.91.0 and 2.92.0. Blender 2.83.9 appears to be working fine.

2.91.0

library_foreach_ID_link(Main * bmain, ID * id_owner, ID * id, int(*)(LibraryIDLinkCallbackData *) callback, void * user_data, int flag, LibraryForeachIDData * inherit_data) Line 268	C
BKE_library_foreach_ID_link(Main * bmain, ID * id, int(*)(LibraryIDLinkCallbackData *) callback, void * user_data, int flag) Line 293	C
blender::deg::deg_expand_copy_on_write_datablock(const blender::deg::Depsgraph * depsgraph, const blender::deg::IDNode * id_node, blender::deg::DepsgraphNodeBuilder * node_builder, bool create_placeholders) Line 926	C++
blender::deg::deg_update_copy_on_write_datablock(const blender::deg::Depsgraph * depsgraph, const blender::deg::IDNode * id_node) Line 954	C++
blender::deg::deg_evaluate_copy_on_write(Depsgraph * graph, const blender::deg::IDNode * id_node) Line 1089	C++
 	[External Code]	
blender::deg::`anonymous namespace'::deg_task_run_func(TaskPool * pool, void * taskdata) Line 128	C++
 	[External Code]	
tbb::interface7::internal::isolate_impl<void,void <Lambdafunktion>(void) const>(const Task::()::__l2::void <Lambdafunktion>(void) & f) Line 160	C++
Task::operator()() Line 122	C++
tbb::internal::function_task<Task>::execute() Line 1049	C++
 	[External Code]	
tbb::internal::task_group_base::wait() Line 168	C++
blender::deg::deg_evaluate_on_refresh(blender::deg::Depsgraph * graph) Line 392	C++
BKE_scene_graph_update_for_newframe(Depsgraph * depsgraph) Line 1606	C
wm_event_do_notifiers(bContext * C) Line 498	C
WM_main(bContext * C) Line 482	C
main(int argc, const unsigned char * * UNUSED_argv_c) Line 524	C
 	[External Code]

2.92.0

blender::deg::DepsgraphNodeBuilder::build_id(ID * id) Line 479	C++
blender::deg::DepsgraphNodeBuilder::build_driver_variables(ID * id, FCurve * fcurve) Line 1005	C++
blender::deg::DepsgraphNodeBuilder::build_driver(ID * id, FCurve * fcurve, int driver_index) Line 994	C++
blender::deg::DepsgraphNodeBuilder::build_animdata(ID * id) Line 934	C++
blender::deg::DepsgraphNodeBuilder::build_object(int base_index, Object * object, blender::deg::eDepsNode_LinkedState_Type linked_state, bool is_visible) Line 646	C++
blender::deg::DepsgraphNodeBuilder::build_view_layer(Scene * scene, ViewLayer * view_layer, blender::deg::eDepsNode_LinkedState_Type linked_state) Line 117	C++
blender::deg::ViewLayerBuilderPipeline::build_nodes(blender::deg::DepsgraphNodeBuilder & node_builder) Line 36	C++
blender::deg::AbstractBuilderPipeline::build_step_nodes() Line 77	C++
blender::deg::AbstractBuilderPipeline::build() Line 56	C++
DEG_graph_build_from_view_layer(Depsgraph * graph) Line 229	C++
DEG_graph_relations_update(Depsgraph * graph) Line 282	C++
BKE_scene_graph_update_for_newframe(Depsgraph * depsgraph) Line 2660	C
ED_update_for_newframe(Main * bmain, Depsgraph * depsgraph) Line 1583	C
wm_event_do_notifiers(bContext * C) Line 509	C
WM_main(bContext * C) Line 641	C
main(int argc, const unsigned char * * UNUSED_argv_c) Line 526	C
Robert Guetzkow (rjg) updated the task description. (Show Details)
Robert Guetzkow (rjg) updated the task description. (Show Details)

@Robert Guetzkow (rjg), is this a crash or assert failure? If it's a crash, can you share .blend file with minimum steps needed to crash?

Robert Guetzkow (rjg) updated the task description. (Show Details)

@Sergey Sharybin (sergey) It crashes in release builds and triggers an assert in debug builds. In Blender 2.92 it's an assert in void DepsgraphNodeBuilder::build_id(ID *id) because it reaches the default case. The description has been updated with a simple example project.

Sergey Sharybin (sergey) reopened this task as Confirmed.Jan 27 2021, 2:34 PM

Re-opening, caused issue which affects more users.

Sergey Sharybin (sergey) changed the subtype of this task from "Report" to "Bug".Jan 27 2021, 2:34 PM