Regression: Crash switching to scene with LineArt #98359

Closed
opened 2022-05-25 01:43:47 +02:00 by Georg K · 13 comments

System Information
Operating system: Linux-5.17.6-1-MANJARO-x86_64-with-glibc2.35 64 Bits
Graphics card: AMD VERDE (LLVM 13.0.1, DRM 2.50, 5.17.6-1-MANJARO) AMD 4.5 (Core Profile) Mesa 22.0.3

Blender Version
Broken: version: 3.3.0 Alpha, branch: master, commit date: 2022-05-24 15:08, hash: b0da080c2c
Worked: 3.1.2

Short description of error
"Attempt to free NULL pointer" crash trying to switch to a scene or deleting a scene (probably because deleting the active scene switches to another scene that causes the crash)
Initially, this crash occurred in 3.1.2, but for unknown reasons, it currently only crashes 3.3.0
Attached the project file stripped down to the bare minimum.

Exact steps for others to reproduce the error
In the attached file, try changing the scene to "CRASH scene"

CRASH A (9).blend

**System Information** Operating system: Linux-5.17.6-1-MANJARO-x86_64-with-glibc2.35 64 Bits Graphics card: AMD VERDE (LLVM 13.0.1, DRM 2.50, 5.17.6-1-MANJARO) AMD 4.5 (Core Profile) Mesa 22.0.3 **Blender Version** Broken: version: 3.3.0 Alpha, branch: master, commit date: 2022-05-24 15:08, hash: `b0da080c2c` Worked: 3.1.2 **Short description of error** "Attempt to free NULL pointer" crash trying to switch to a scene or deleting a scene (probably because deleting the active scene switches to another scene that causes the crash) Initially, this crash occurred in 3.1.2, but for unknown reasons, it currently only crashes 3.3.0 Attached the project file stripped down to the bare minimum. **Exact steps for others to reproduce the error** In the attached file, try changing the scene to "CRASH scene" [CRASH A (9).blend](https://archive.blender.org/developer/F13103657/CRASH_A__9_.blend)
Author

Added subscriber: @georgK

Added subscriber: @georgK
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Hi, thanks for the report
I can confirm. Doesn't crash but I do see error message in console.

Checking...

Hi, thanks for the report I can confirm. Doesn't crash but I do see error message in console. Checking...
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Broken between 8c4bd02b06 - ae2d2c9361
While bisecting I get crash in every intermediate build if I follow reproducing steps (ninja build I use for bisecting)
@lichtwerk , can you check?

Broken between 8c4bd02b067a - ae2d2c936161 While bisecting I get crash in every intermediate build if I follow reproducing steps (ninja build I use for bisecting) @lichtwerk , can you check?
Member

Will check

Will check
Member

Added subscribers: @Baardaap, @deadpin, @ChengduLittleA

Added subscribers: @Baardaap, @deadpin, @ChengduLittleA
Member

Bisecting points to 04ed96136b (which I doubt is really accurate/useful -- will double-check)

This seems to have to do with LineArt though, doing the following prior to scene change will prevent the crash

D.objects['Line Art'].grease_pencil_modifiers['Line Art'].show_viewport = False
1   __pthread_kill_implementation                                                                                                                                                                                             0x7ffff7a90f0c 
2   raise                                                                                                                                                                                                                     0x7ffff7a40a36 
3   abort                                                                                                                                                                                                                     0x7ffff7a2a82f 
4   MEM_lockfree_freeN                                                                                                                                                                           mallocn_lockfree_impl.c 100  0x11fa43c3     
5   lineart_finalize_object_edge_array                                                                                                                                                           lineart_cpu.c           1759 0x66217f8      
6   lineart_main_load_geometries                                                                                                                                                                 lineart_cpu.c           2517 0x6624077      
7   MOD_lineart_compute_feature_lines                                                                                                                                                            lineart_cpu.c           4468 0x6633e20      
8   generateStrokes                                                                                                                                                                              MOD_gpencillineart.c    147  0x6608538      
9   BKE_gpencil_modifiers_calc                                                                                                                                                                   gpencil_modifier.c      787  0x4018e95      
10  BKE_object_handle_data_update                                                                                                                                                                object_update.c         197  0x414925a      
11  BKE_object_eval_uber_data                                                                                                                                                                    object_update.c         336  0x414998f      
12  operator()                                                                                                                                                                                   deg_builder_nodes.cc    1451 0x4d3227a      
13  std::__invoke_impl<void, blender::deg::DepsgraphNodeBuilder::build_object_data_geometry(Object *)::<lambda(Depsgraph *)>&, Depsgraph *>(std::__invoke_other, struct {...} &)                 invoke.h                61   0x4d3d8f4      
14  std::__invoke_r<void, blender::deg::DepsgraphNodeBuilder::build_object_data_geometry(Object *)::<lambda(Depsgraph *)>&, Depsgraph *>(struct {...} &)                                         invoke.h                111  0x4d3addb      
15  std::_Function_handler<void(Depsgraph *), blender::deg::DepsgraphNodeBuilder::build_object_data_geometry(Object *)::<lambda(Depsgraph *)>>::_M_invoke(const std::_Any_data &, Depsgraph *&&) std_function.h          290  0x4d37dc6      
16  std::function<void (Depsgraph *)>::operator()(Depsgraph *) const                                                                                                                             std_function.h          591  0x4d12a29      
17  blender::deg::(anonymous namespace)::evaluate_node                                                                                                                                           deg_eval.cc             102  0x4d11c1f      
18  blender::deg::(anonymous namespace)::deg_task_run_func                                                                                                                                       deg_eval.cc             113  0x4d11c65      
19  Task::operator()                                                                                                                                                                             task_pool.cc            164  0x11f94cef     
20  tbb::internal::function_task<Task>::execute                                                                                                                                                  task.h                  1059 0x11f959da     
... <More> 

./bin/blender(BLI_system_backtrace+0x20) [0x1ea49a0]
./bin/blender() [0xa83fcf]
/lib64/libc.so.6(+0x42ae0) [0x7f39e9196ae0]
./bin/blender(_PyEval_SignalReceived+0xb) [0x1b40b1b]
./bin/blender() [0x1be36c1]
/lib64/libc.so.6(+0x42ae0) [0x7f39e9196ae0]
./bin/blender(_ZSt16__insertion_sortIP19LineartAdjacentEdgeN9__gnu_cxx5__ops15_Iter_comp_iterIPFbRKS0_S6_EEEEvT_SA_T0_+0xb2) [0x18c40e2]
./bin/blender() [0x18b603c]
./bin/blender() [0x18b6744]
./bin/blender(BLI_task_pool_push+0x168) [0x1ea61d8]
./bin/blender() [0x18bb7cd]
./bin/blender(MOD_lineart_compute_feature_lines+0x796) [0x18c0c26]
./bin/blender() [0x18a9525]
./bin/blender(BKE_gpencil_modifiers_calc+0x14e) [0xbfa9de]
./bin/blender(BKE_object_handle_data_update+0x2fc) [0xc9e9ec]
./bin/blender(BKE_object_eval_uber_data+0x2e) [0xc9ecae]
./bin/blender() [0xfaa1b1]
./bin/blender() [0xfaa1e1]
./bin/blender(BLI_task_pool_push+0x168) [0x1ea61d8]
./bin/blender() [0xfaa103]
./bin/blender() [0xfaa103]
./bin/blender(BLI_task_pool_work_and_wait+0x100) [0x1ea6310]
./bin/blender(_ZN7blender3deg23deg_evaluate_on_refreshEPNS0_9DepsgraphE+0x225) [0xfaa4a5]
./bin/blender(BKE_scene_graph_update_for_newframe_ex+0xd0) [0xcd9210]
./bin/blender(WM_window_set_active_scene+0x74) [0xab0d74]
./bin/blender() [0x1250fad]
./bin/blender() [0x110f7cf]
./bin/blender() [0xebb975]
./bin/blender() [0xe7c546]
./bin/blender() [0xe8d342]
./bin/blender() [0xa8ecdc]
./bin/blender() [0xa8f7cd]
./bin/blender(wm_event_do_handlers+0x419) [0xa90329]
./bin/blender(WM_main+0x20) [0xa84f00]
./bin/blender(main+0x2ab) [0xa6fb4b]
/lib64/libc.so.6(+0x2d590) [0x7f39e9181590]
/lib64/libc.so.6(__libc_start_main+0x89) [0x7f39e9181649]
./bin/blender(_start+0x25) [0xa80c35]

So this is a bit like report2.txt from #98355 (Line Art: Crash when switching to editmode in current master)

CC @ChengduLittleA
CC @Baardaap
CC @deadpin

Bisecting points to 04ed96136b (which I doubt is really accurate/useful -- will double-check) This seems to have to do with LineArt though, doing the following prior to scene change will prevent the crash ``` D.objects['Line Art'].grease_pencil_modifiers['Line Art'].show_viewport = False ``` ``` 1 __pthread_kill_implementation 0x7ffff7a90f0c 2 raise 0x7ffff7a40a36 3 abort 0x7ffff7a2a82f 4 MEM_lockfree_freeN mallocn_lockfree_impl.c 100 0x11fa43c3 5 lineart_finalize_object_edge_array lineart_cpu.c 1759 0x66217f8 6 lineart_main_load_geometries lineart_cpu.c 2517 0x6624077 7 MOD_lineart_compute_feature_lines lineart_cpu.c 4468 0x6633e20 8 generateStrokes MOD_gpencillineart.c 147 0x6608538 9 BKE_gpencil_modifiers_calc gpencil_modifier.c 787 0x4018e95 10 BKE_object_handle_data_update object_update.c 197 0x414925a 11 BKE_object_eval_uber_data object_update.c 336 0x414998f 12 operator() deg_builder_nodes.cc 1451 0x4d3227a 13 std::__invoke_impl<void, blender::deg::DepsgraphNodeBuilder::build_object_data_geometry(Object *)::<lambda(Depsgraph *)>&, Depsgraph *>(std::__invoke_other, struct {...} &) invoke.h 61 0x4d3d8f4 14 std::__invoke_r<void, blender::deg::DepsgraphNodeBuilder::build_object_data_geometry(Object *)::<lambda(Depsgraph *)>&, Depsgraph *>(struct {...} &) invoke.h 111 0x4d3addb 15 std::_Function_handler<void(Depsgraph *), blender::deg::DepsgraphNodeBuilder::build_object_data_geometry(Object *)::<lambda(Depsgraph *)>>::_M_invoke(const std::_Any_data &, Depsgraph *&&) std_function.h 290 0x4d37dc6 16 std::function<void (Depsgraph *)>::operator()(Depsgraph *) const std_function.h 591 0x4d12a29 17 blender::deg::(anonymous namespace)::evaluate_node deg_eval.cc 102 0x4d11c1f 18 blender::deg::(anonymous namespace)::deg_task_run_func deg_eval.cc 113 0x4d11c65 19 Task::operator() task_pool.cc 164 0x11f94cef 20 tbb::internal::function_task<Task>::execute task.h 1059 0x11f959da ... <More> ``` ``` ./bin/blender(BLI_system_backtrace+0x20) [0x1ea49a0] ./bin/blender() [0xa83fcf] /lib64/libc.so.6(+0x42ae0) [0x7f39e9196ae0] ./bin/blender(_PyEval_SignalReceived+0xb) [0x1b40b1b] ./bin/blender() [0x1be36c1] /lib64/libc.so.6(+0x42ae0) [0x7f39e9196ae0] ./bin/blender(_ZSt16__insertion_sortIP19LineartAdjacentEdgeN9__gnu_cxx5__ops15_Iter_comp_iterIPFbRKS0_S6_EEEEvT_SA_T0_+0xb2) [0x18c40e2] ./bin/blender() [0x18b603c] ./bin/blender() [0x18b6744] ./bin/blender(BLI_task_pool_push+0x168) [0x1ea61d8] ./bin/blender() [0x18bb7cd] ./bin/blender(MOD_lineart_compute_feature_lines+0x796) [0x18c0c26] ./bin/blender() [0x18a9525] ./bin/blender(BKE_gpencil_modifiers_calc+0x14e) [0xbfa9de] ./bin/blender(BKE_object_handle_data_update+0x2fc) [0xc9e9ec] ./bin/blender(BKE_object_eval_uber_data+0x2e) [0xc9ecae] ./bin/blender() [0xfaa1b1] ./bin/blender() [0xfaa1e1] ./bin/blender(BLI_task_pool_push+0x168) [0x1ea61d8] ./bin/blender() [0xfaa103] ./bin/blender() [0xfaa103] ./bin/blender(BLI_task_pool_work_and_wait+0x100) [0x1ea6310] ./bin/blender(_ZN7blender3deg23deg_evaluate_on_refreshEPNS0_9DepsgraphE+0x225) [0xfaa4a5] ./bin/blender(BKE_scene_graph_update_for_newframe_ex+0xd0) [0xcd9210] ./bin/blender(WM_window_set_active_scene+0x74) [0xab0d74] ./bin/blender() [0x1250fad] ./bin/blender() [0x110f7cf] ./bin/blender() [0xebb975] ./bin/blender() [0xe7c546] ./bin/blender() [0xe8d342] ./bin/blender() [0xa8ecdc] ./bin/blender() [0xa8f7cd] ./bin/blender(wm_event_do_handlers+0x419) [0xa90329] ./bin/blender(WM_main+0x20) [0xa84f00] ./bin/blender(main+0x2ab) [0xa6fb4b] /lib64/libc.so.6(+0x2d590) [0x7f39e9181590] /lib64/libc.so.6(__libc_start_main+0x89) [0x7f39e9181649] ./bin/blender(_start+0x25) [0xa80c35] ``` So this is a bit like report2.txt from #98355 (Line Art: Crash when switching to editmode in current master) CC @ChengduLittleA CC @Baardaap CC @deadpin
Philipp Oeser changed title from Crash switching to scene to Regression: Crash switching to scene with LineArt 2022-05-25 10:18:33 +02:00
Member

This looks different. I'll check.

This looks different. I'll check.
YimingWu self-assigned this 2022-05-25 13:06:59 +02:00
Member

Missed a non-NULL check somewhere. I think I could just commit the fix.

Missed a non-NULL check somewhere. I think I could just commit the fix.

This issue was referenced by 53f7c22022

This issue was referenced by 53f7c220227ad4041dd9587c0a4091c9408e1625
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#98359
No description provided.