Page MenuHome

Crash on export of compositor nodes
Confirmed, NormalPublic

Description

System Information
Operating system: Arch LInux
Graphics card: NVIDIA GeForce RTX 2060 Mobile

Blender Version
Broken: 2.93.0 Beta, d67223ca297c
Broken 2.92.0
Worked: 2.91.2

Short description of error
I have a script that exports a selected nodes in a compositor node tree. Part of the process involves bundling the selected nodes in a group and adding that group to an empty scene to keep things tidy. Unfortunately, this causes a crash.

Interestingly, the crash only happens from the Compositing tab in the Default workspace (switching the 3D Viewport to the Compositor in the Scripting tab doesn't appear to trigger it for some reason).

Exact steps for others to reproduce the error
I've isolated the crash to be reproducible in the script bundled in the attached .blend file:

Steps:

  1. Open force_crash.blend.
  2. Run script in the Text Editor.
  3. Switch to the Compositing tab.
  4. Use search to find the "Simple Crash Operator".
  5. Attempt to click on or Tab into the group node that's visible when the operator is done.
  6. You should see a crash at this point.

Below is a gdb backtrace from Blender when compiled with make debug:

Thread 1 "blender" received signal SIGSEGV, Segmentation fault.
0x00000000036269fd in node_instance_hash_key_cmp (a=0x7fffffffddb4, b=0x0) at /home/fweeb/src/blender-git/blender/source/blender/blenkernel/intern/node.cc:3947
3947	  unsigned int value_b = ((const bNodeInstanceKey *)b)->value;
(gdb) bt
#0  0x00000000036269fd in node_instance_hash_key_cmp (a=0x7fffffffddb4, b=0x0)
    at /home/fweeb/src/blender-git/blender/source/blender/blenkernel/intern/node.cc:3947
#1  0x00000000102cd067 in ghash_lookup_entry_ex (bucket_index=2, key=0x7fffffffddb4,
    gh=0x7fffc9a010a8)
    at /home/fweeb/src/blender-git/blender/source/blender/blenlib/intern/BLI_ghash.c:390
#2  ghash_lookup_entry (key=0x7fffffffddb4, gh=0x7fffc9a010a8)
    at /home/fweeb/src/blender-git/blender/source/blender/blenlib/intern/BLI_ghash.c:429
#3  BLI_ghash_lookup (gh=0x7fffc9a010a8, key=0x7fffffffddb4)
    at /home/fweeb/src/blender-git/blender/source/blender/blenlib/intern/BLI_ghash.c:805
#4  0x0000000003626b16 in BKE_node_instance_hash_lookup (hash=0x7fffc9a00018, key=...)
    at /home/fweeb/src/blender-git/blender/source/blender/blenkernel/intern/node.cc:3976
#5  0x0000000004cddbb5 in node_draw_basis (C=0x7ffff410c5c8, v2d=0x7fffc0aeebd8,
    snode=0x7fffd2f7b888, ntree=0x7fffed696c08, node=0x7fffed6bbe08, key=...)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/space_node/node_draw.cc:1538
#6  0x0000000004cde993 in node_draw_default (C=0x7ffff410c5c8, region=0x7fffc0aeebc8,
    snode=0x7fffd2f7b888, ntree=0x7fffed696c08, node=0x7fffed6bbe08, key=...)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/space_node/node_draw.cc:1757
#7  0x0000000004cded19 in node_draw (C=0x7ffff410c5c8, region=0x7fffc0aeebc8,
    snode=0x7fffd2f7b888, ntree=0x7fffed696c08, node=0x7fffed6bbe08, key=...)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/space_node/node_draw.cc:1817
#8  0x0000000004cdeeea in node_draw_nodetree (C=0x7ffff410c5c8, region=0x7fffc0aeebc8,
    snode=0x7fffd2f7b888, ntree=0x7fffed696c08, parent_key=...)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/space_node/node_draw.cc:1874
#9  0x0000000004cdf0f2 in draw_nodetree (C=0x7ffff410c5c8, region=0x7fffc0aeebc8,
    ntree=0x7fffed696c08, parent_key=...)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/space_node/node_draw.cc:1912
#10 0x0000000004cdf7a3 in node_draw_space (C=0x7ffff410c5c8, region=0x7fffc0aeebc8)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/space_node/node_draw.cc:2046
#11 0x0000000004cf7a39 in node_main_region_draw (C=0x7ffff410c5c8, region=0x7fffc0aeebc8)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/space_node/space_node.c:658
#12 0x0000000004601fc8 in ED_region_do_draw (C=0x7ffff410c5c8, region=0x7fffc0aeebc8)
    at /home/fweeb/src/blender-git/blender/source/blender/editors/screen/area.c:558
#13 0x0000000003b78f36 in wm_draw_window_offscreen (C=0x7ffff410c5c8, win=0x7fffd2f7af88,
    stereo=false)
    at /home/fweeb/src/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:724
#14 0x0000000003b794e3 in wm_draw_window (C=0x7ffff410c5c8, win=0x7fffd2f7af88)
    at /home/fweeb/src/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:864
#15 0x0000000003b79b1b in wm_draw_update (C=0x7ffff410c5c8)
    at /home/fweeb/src/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:1065
#16 0x0000000003b760f6 in WM_main (C=0x7ffff410c5c8)
    at /home/fweeb/src/blender-git/blender/source/blender/windowmanager/intern/wm.c:653
#17 0x0000000003533311 in main (argc=1, argv=0x7fffffffe518)
    at /home/fweeb/src/blender-git/blender/source/creator/creator.c:520

Event Timeline

Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Wed, May 19, 4:35 PM
Philipp Oeser (lichtwerk) updated the task description. (Show Details)

This might make sense to look at with ASAN, bisect turned out to be unreliable.