Page MenuHome

Geometry node crash when muting a node
Closed, ResolvedPublic

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1070 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.27

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-05-25 18:37, hash: rBc0bb7d9cb787

Caused by rBb084b57fbf6d: Geometry Nodes: new geometry nodes evaluator

Short description of error
For certain node graphs, muting a node will lead to a crash. It's been hard to determine the exact graph topology that's responsible but it may be when there are 2 nodes, each supporting multiple inputs, chained together with at least 1 common input between them. The repro makes it somewhat obvious the setup.

The file below uses a Boolean Intersect node, however, the same crash can be seen if you replace that boolean with a Join Geometry node for example.

Exact steps for others to reproduce the error

  • Load the attached .blend
  • Mute the boolean intersect node
  • Observe crash
ExceptionCode         : EXCEPTION_ACCESS_VIOLATION

Stack trace:
blender.exe         :0x00007FF6C70EC9C0  blender::move_assign_container<blender::Array<blender::SimpleMapSlot<enum GeometryComponentType,ble
blender.exe         :0x00007FF6C714AAC0  blender::Map<enum GeometryComponentType,blender::UserCounter<GeometryComponent>,4,blender::PythonPr
blender.exe         :0x00007FF6C76A6AB0  blender::uninitialized_move_n<GeometrySet>
blender.exe         :0x00007FF6C763F410  blender::modifiers::geometry_nodes::GeometryNodesEvaluator::execute
blender.exe         :0x00007FF6C763EF50  blender::modifiers::geometry_nodes::evaluate_geometry_nodes
blender.exe         :0x00007FF6C7578260  compute_geometry
blender.exe         :0x00007FF6C75796E0  modifyGeometry
blender.exe         :0x00007FF6C7358380  modifier_modify_mesh_and_geometry_set
blender.exe         :0x00007FF6C7356F80  mesh_calc_modifiers
blender.exe         :0x00007FF6C7356C80  mesh_build_data
blender.exe         :0x00007FF6C7359570  makeDerivedMesh
blender.exe         :0x00007FF6C7334CB0  BKE_object_handle_data_update
blender.exe         :0x00007FF6C73349E0  BKE_object_eval_uber_data
blender.exe         :0x00007FF6CB931A50  blender::deg::`anonymous namespace'::evaluate_node
blender.exe         :0x00007FF6CB931A00  blender::deg::`anonymous namespace'::deg_task_run_func
tbb.dll             :0x00007FFC802354A0  tbb::interface7::internal::isolate_within_arena
blender.exe         :0x00007FF6CBDBA1A0  tbb::internal::function_task<Task>::execute
tbb.dll             :0x00007FFC802454D0  tbb::recursive_mutex::scoped_lock::internal_try_acquire
tbb.dll             :0x00007FFC802454D0  tbb::recursive_mutex::scoped_lock::internal_try_acquire
blender.exe         :0x00007FF6C75E1E10  tbb::internal::task_group_base::wait
blender.exe         :0x00007FF6CB931590  blender::deg::deg_evaluate_on_refresh
blender.exe         :0x00007FF6C721B290  scene_graph_update_tagged
blender.exe         :0x00007FF6C73EE780  wm_event_do_notifiers
blender.exe         :0x00007FF6C73D87F0  WM_main
blender.exe         :0x00007FF6C7081DB0  main

Event Timeline

Jesse Yurkovich (deadpin) renamed this task from Geometry node crash when muting boolean node to Geometry node crash when muting a node.May 26 2021, 9:55 AM
Jesse Yurkovich (deadpin) created this task.
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.May 26 2021, 11:46 AM
Philipp Oeser (lichtwerk) triaged this task as High priority.

Sometimes it survives the mute here (so it might take multiple tries, but I get it, too):

BLI_assert failed: source/blender/modifiers/intern/MOD_nodes_evaluator.cc:942, assert_expected_outputs_have_been_computed(), at 'output_state.has_been_computed'

This has worked before, it is caused by rBb084b57fbf6d: Geometry Nodes: new geometry nodes evaluator

CC @Jacques Lucke (JacquesLucke)