heap-use-after-free after assigning a material #94362

Closed
opened 2021-12-24 13:37:35 +01:00 by Sybren A. Stüvel · 4 comments

System Information
Operating system: Linux-5.4.0-91-generic-x86_64-with-glibc2.31 64 Bits
Graphics card: GeForce RTX 2080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.91.03

Blender Version
Broken: version: 3.1.0 Alpha, branch: master, commit date: today, hash: c0db8a9a3b
Worked: 3.0 release

It seems to be caused by 7e712b2d6a

Short description of error
When dragging a material from the asset browser onto an object, Blender (ASAN/debug build) crashes with a heap-use-after-free error.

I've had Blender crash also without ASAN on a release build, but then it was less predictable when the crash would happen.

Exact steps for others to reproduce the error

  • Start an ASAN-enabled debug build of Blender.
  • Download the Cube Diorama demo file and open it.
  • Drag a material from the asset browser onto the floor.

ASAN stack traces:
P2680: (An Untitled Masterwork)

=================================================================
==168340==ERROR: AddressSanitizer: heap-use-after-free on address 0x6190006f0362 at pc 0x000001c6a230 bp 0x7ffe649af2c0 sp 0x7ffe649af2b0
READ of size 2 at 0x6190006f0362 thread T0
    #0 0x1c6a22f in image_get_gpu_texture /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/image_gpu.cc:356
    #1 0x1c6bdce in BKE_image_get_gpu_texture /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/image_gpu.cc:494
    #2 0x46e46d5 in DRW_shgroup_add_material_resources /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager_data.c:1374
    #3 0x479c402 in material_opaque /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_materials.c:634
    #4 0x479f335 in eevee_material_cache_get /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_materials.c:752
    #5 0x479f335 in EEVEE_materials_cache_populate /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_materials.c:825
    #6 0x4748748 in EEVEE_cache_populate /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_engine.c:126
    #7 0x46bfbda in drw_engines_cache_populate /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager.c:1082
    #8 0x46c59e8 in DRW_draw_render_loop_ex /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager.c:1697
    #9 0x46c4ace in DRW_draw_view /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager.c:1609
    #10 0x915ec91 in view3d_draw_view /home/sybren/workspace/blender-git/blender/source/blender/editors/space_view3d/view3d_draw.c:1560
    #11 0x915ee1a in view3d_main_region_draw /home/sybren/workspace/blender-git/blender/source/blender/editors/space_view3d/view3d_draw.c:1582
    #12 0x640ad5e in ED_region_do_draw /home/sybren/workspace/blender-git/blender/source/blender/editors/screen/area.c:558
    #13 0x3a6ccca in wm_draw_window_offscreen /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:731
    #14 0x3a6defc in wm_draw_window /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:881
    #15 0x3a6f36c in wm_draw_update /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:1082
    #16 0x3a5bb31 in WM_main /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm.c:645
    #17 0x1a975ab in main /home/sybren/workspace/blender-git/blender/source/creator/creator.c:561
    #18 0x7fa4169090b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
    #19 0x1a9697d in _start (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x1a9697d)

0x6190006f0362 is located 994 bytes inside of 1032-byte region [0x6190006eff80,0x6190006f0388)
freed by thread #35 here:
    #0 0x7fa41719e7cf in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf)
    #1 0xe6fa096 in MEM_lockfree_freeN /home/sybren/workspace/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:130
    #2 0x57d60ba in node_free_standard_storage /home/sybren/workspace/blender-git/blender/source/blender/nodes/intern/node_util.c:61
    #3 0x1eefc91 in node_free_node /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:3101
    #4 0x1ece8fd in ntree_free_data /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:287
    #5 0x1cedaef in BKE_libblock_free_datablock /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/lib_id_delete.c:85
    #6 0x45b3413 in blender::deg::deg_free_copy_on_write_datablock(ID*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:1024
    #7 0x45b2b16 in blender::deg::deg_update_copy_on_write_datablock(blender::deg::Depsgraph const*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:903
    #8 0x45b392a in blender::deg::deg_evaluate_copy_on_write(Depsgraph*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:1039
    #9 0x462ca68 in operator() /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc:190
    #10 0x466d655 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
    #11 0x45aa4dc in std::function<void (Depsgraph*)>::operator()(Depsgraph*) const /usr/include/c++/9/bits/std_function.h:688
    #12 0x45a58d5 in evaluate_node /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:118
    #13 0x45a5924 in deg_task_run_func /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:129
    #14 0xe6c108f in Task::operator()() const /home/sybren/workspace/blender-git/blender/source/blender/blenlib/intern/task_pool.cc:178
    #15 0xe6c489b in tbb::internal::function_task<Task>::execute() /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tbb/include/tbb/task.h:1059
    #16 0x3a4fd54 in tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::process_bypass_loop(tbb::internal::context_guard_helper<false>&, tbb::task*, long) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4fd54)

previously allocated by thread #34 here:
    #0 0x7fa41719ebc8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8)
    #1 0xe6faaf6 in MEM_lockfree_mallocN /home/sybren/workspace/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:277
    #2 0xe6fa200 in MEM_lockfree_dupallocN /home/sybren/workspace/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:146
    #3 0x57d628a in node_copy_standard_storage /home/sybren/workspace/blender-git/blender/source/blender/nodes/intern/node_util.c:74
    #4 0x1ee5058 in BKE_node_copy_ex /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:2304
    #5 0x1ecc639 in ntree_copy_data /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:159
    #6 0x1cdc059 in BKE_id_copy_ex /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/lib_id.c:630
    #7 0x45ae0e1 in id_copy_inplace_no_main /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:304
    #8 0x45b25ac in deg_expand_copy_on_write_datablock /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:861
    #9 0x45b2b2f in blender::deg::deg_update_copy_on_write_datablock(blender::deg::Depsgraph const*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:904
    #10 0x45b392a in blender::deg::deg_evaluate_copy_on_write(Depsgraph*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:1039
    #11 0x462ca68 in operator() /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc:190
    #12 0x466d655 in _M_invoke /usr/include/c++/9/bits/std_function.h:300
    #13 0x45aa4dc in std::function<void (Depsgraph*)>::operator()(Depsgraph*) const /usr/include/c++/9/bits/std_function.h:688
    #14 0x45a58d5 in evaluate_node /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:118
    #15 0x45a5924 in deg_task_run_func /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:129
    #16 0xe6c108f in Task::operator()() const /home/sybren/workspace/blender-git/blender/source/blender/blenlib/intern/task_pool.cc:178
    #17 0xe6c489b in tbb::internal::function_task<Task>::execute() /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tbb/include/tbb/task.h:1059
    #18 0x3a4fd54 in tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::process_bypass_loop(tbb::internal::context_guard_helper<false>&, tbb::task*, long) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4fd54)

Thread #35 created by #26 here:
    #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968)
    #2 0x62d00009de7f  (<unknown module>)

Thread #26 created by T22 here:
    #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968)
    #2 0x62d00009e27f  (<unknown module>)

Thread T22 created by T0 here:
    #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968)
    #2 0x60c00000213f  (<unknown module>)

Thread #34 created by #28 here:
    #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968)
    #2 0x7efff  (<unknown module>)

Thread #28 created by T23 here:
    #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968)
    #2 0x62d00009e17f  (<unknown module>)

Thread T23 created by T0 here:
    #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805)
    #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968)
    #2 0x62d00009e37f  (<unknown module>)

SUMMARY: AddressSanitizer: heap-use-after-free /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/image_gpu.cc:356 in image_get_gpu_texture
Shadow bytes around the buggy address:
  0x0c32800d6010: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c32800d6020: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c32800d6030: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c32800d6040: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c32800d6050: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c32800d6060: fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd
  0x0c32800d6070: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c32800d6080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
  0x0c32800d6090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c32800d60a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
  0x0c32800d60b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
  Shadow gap:              cc
==168340==ABORTING

**System Information** Operating system: Linux-5.4.0-91-generic-x86_64-with-glibc2.31 64 Bits Graphics card: GeForce RTX 2080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.91.03 **Blender Version** Broken: version: 3.1.0 Alpha, branch: master, commit date: today, hash: `c0db8a9a3b` Worked: 3.0 release It seems to be caused by 7e712b2d6a **Short description of error** When dragging a material from the asset browser onto an object, Blender (ASAN/debug build) crashes with a heap-use-after-free error. I've had Blender crash also without ASAN on a release build, but then it was less predictable when the crash would happen. **Exact steps for others to reproduce the error** - Start an ASAN-enabled debug build of Blender. - Download [the Cube Diorama demo file](https://www.blender.org/download/demo/bundles/bundles-3.0/asset-demo-bundle-3.0-cube-diorama.zip?x18321) and open it. - Drag a material from the asset browser onto the floor. ASAN stack traces: [P2680: (An Untitled Masterwork)](https://archive.blender.org/developer/P2680.txt) ``` ================================================================= ==168340==ERROR: AddressSanitizer: heap-use-after-free on address 0x6190006f0362 at pc 0x000001c6a230 bp 0x7ffe649af2c0 sp 0x7ffe649af2b0 READ of size 2 at 0x6190006f0362 thread T0 #0 0x1c6a22f in image_get_gpu_texture /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/image_gpu.cc:356 #1 0x1c6bdce in BKE_image_get_gpu_texture /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/image_gpu.cc:494 #2 0x46e46d5 in DRW_shgroup_add_material_resources /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager_data.c:1374 #3 0x479c402 in material_opaque /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_materials.c:634 #4 0x479f335 in eevee_material_cache_get /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_materials.c:752 #5 0x479f335 in EEVEE_materials_cache_populate /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_materials.c:825 #6 0x4748748 in EEVEE_cache_populate /home/sybren/workspace/blender-git/blender/source/blender/draw/engines/eevee/eevee_engine.c:126 #7 0x46bfbda in drw_engines_cache_populate /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager.c:1082 #8 0x46c59e8 in DRW_draw_render_loop_ex /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager.c:1697 #9 0x46c4ace in DRW_draw_view /home/sybren/workspace/blender-git/blender/source/blender/draw/intern/draw_manager.c:1609 #10 0x915ec91 in view3d_draw_view /home/sybren/workspace/blender-git/blender/source/blender/editors/space_view3d/view3d_draw.c:1560 #11 0x915ee1a in view3d_main_region_draw /home/sybren/workspace/blender-git/blender/source/blender/editors/space_view3d/view3d_draw.c:1582 #12 0x640ad5e in ED_region_do_draw /home/sybren/workspace/blender-git/blender/source/blender/editors/screen/area.c:558 #13 0x3a6ccca in wm_draw_window_offscreen /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:731 #14 0x3a6defc in wm_draw_window /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:881 #15 0x3a6f36c in wm_draw_update /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm_draw.c:1082 #16 0x3a5bb31 in WM_main /home/sybren/workspace/blender-git/blender/source/blender/windowmanager/intern/wm.c:645 #17 0x1a975ab in main /home/sybren/workspace/blender-git/blender/source/creator/creator.c:561 #18 0x7fa4169090b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #19 0x1a9697d in _start (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x1a9697d) 0x6190006f0362 is located 994 bytes inside of 1032-byte region [0x6190006eff80,0x6190006f0388) freed by thread #35 here: #0 0x7fa41719e7cf in __interceptor_free (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10d7cf) #1 0xe6fa096 in MEM_lockfree_freeN /home/sybren/workspace/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:130 #2 0x57d60ba in node_free_standard_storage /home/sybren/workspace/blender-git/blender/source/blender/nodes/intern/node_util.c:61 #3 0x1eefc91 in node_free_node /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:3101 #4 0x1ece8fd in ntree_free_data /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:287 #5 0x1cedaef in BKE_libblock_free_datablock /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/lib_id_delete.c:85 #6 0x45b3413 in blender::deg::deg_free_copy_on_write_datablock(ID*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:1024 #7 0x45b2b16 in blender::deg::deg_update_copy_on_write_datablock(blender::deg::Depsgraph const*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:903 #8 0x45b392a in blender::deg::deg_evaluate_copy_on_write(Depsgraph*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:1039 #9 0x462ca68 in operator() /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc:190 #10 0x466d655 in _M_invoke /usr/include/c++/9/bits/std_function.h:300 #11 0x45aa4dc in std::function<void (Depsgraph*)>::operator()(Depsgraph*) const /usr/include/c++/9/bits/std_function.h:688 #12 0x45a58d5 in evaluate_node /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:118 #13 0x45a5924 in deg_task_run_func /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:129 #14 0xe6c108f in Task::operator()() const /home/sybren/workspace/blender-git/blender/source/blender/blenlib/intern/task_pool.cc:178 #15 0xe6c489b in tbb::internal::function_task<Task>::execute() /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tbb/include/tbb/task.h:1059 #16 0x3a4fd54 in tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::process_bypass_loop(tbb::internal::context_guard_helper<false>&, tbb::task*, long) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4fd54) previously allocated by thread #34 here: #0 0x7fa41719ebc8 in malloc (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x10dbc8) #1 0xe6faaf6 in MEM_lockfree_mallocN /home/sybren/workspace/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:277 #2 0xe6fa200 in MEM_lockfree_dupallocN /home/sybren/workspace/blender-git/blender/intern/guardedalloc/intern/mallocn_lockfree_impl.c:146 #3 0x57d628a in node_copy_standard_storage /home/sybren/workspace/blender-git/blender/source/blender/nodes/intern/node_util.c:74 #4 0x1ee5058 in BKE_node_copy_ex /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:2304 #5 0x1ecc639 in ntree_copy_data /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/node.cc:159 #6 0x1cdc059 in BKE_id_copy_ex /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/lib_id.c:630 #7 0x45ae0e1 in id_copy_inplace_no_main /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:304 #8 0x45b25ac in deg_expand_copy_on_write_datablock /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:861 #9 0x45b2b2f in blender::deg::deg_update_copy_on_write_datablock(blender::deg::Depsgraph const*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:904 #10 0x45b392a in blender::deg::deg_evaluate_copy_on_write(Depsgraph*, blender::deg::IDNode const*) /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval_copy_on_write.cc:1039 #11 0x462ca68 in operator() /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc:190 #12 0x466d655 in _M_invoke /usr/include/c++/9/bits/std_function.h:300 #13 0x45aa4dc in std::function<void (Depsgraph*)>::operator()(Depsgraph*) const /usr/include/c++/9/bits/std_function.h:688 #14 0x45a58d5 in evaluate_node /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:118 #15 0x45a5924 in deg_task_run_func /home/sybren/workspace/blender-git/blender/source/blender/depsgraph/intern/eval/deg_eval.cc:129 #16 0xe6c108f in Task::operator()() const /home/sybren/workspace/blender-git/blender/source/blender/blenlib/intern/task_pool.cc:178 #17 0xe6c489b in tbb::internal::function_task<Task>::execute() /home/sybren/workspace/blender-git/lib/linux_centos7_x86_64/tbb/include/tbb/task.h:1059 #18 0x3a4fd54 in tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::process_bypass_loop(tbb::internal::context_guard_helper<false>&, tbb::task*, long) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4fd54) Thread #35 created by #26 here: #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968) #2 0x62d00009de7f (<unknown module>) Thread #26 created by T22 here: #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968) #2 0x62d00009e27f (<unknown module>) Thread T22 created by T0 here: #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968) #2 0x60c00000213f (<unknown module>) Thread #34 created by #28 here: #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968) #2 0x7efff (<unknown module>) Thread #28 created by T23 here: #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968) #2 0x62d00009e17f (<unknown module>) Thread T23 created by T0 here: #0 0x7fa4170cb805 in pthread_create (/usr/lib/x86_64-linux-gnu/libasan.so.5+0x3a805) #1 0x3a4b968 in tbb::internal::rml::private_server::wake_some(int) (/home/sybren/workspace/blender-git/build_debug/bin/blender+0x3a4b968) #2 0x62d00009e37f (<unknown module>) SUMMARY: AddressSanitizer: heap-use-after-free /home/sybren/workspace/blender-git/blender/source/blender/blenkernel/intern/image_gpu.cc:356 in image_get_gpu_texture Shadow bytes around the buggy address: 0x0c32800d6010: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c32800d6020: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c32800d6030: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c32800d6040: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c32800d6050: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd =>0x0c32800d6060: fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd fd fd 0x0c32800d6070: fd fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c32800d6080: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa 0x0c32800d6090: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c32800d60a0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd 0x0c32800d60b0: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd Shadow byte legend (one shadow byte represents 8 application bytes): Addressable: 00 Partially addressable: 01 02 03 04 05 06 07 Heap left redzone: fa Freed heap region: fd Stack left redzone: f1 Stack mid redzone: f2 Stack right redzone: f3 Stack after return: f5 Stack use after scope: f8 Global redzone: f9 Global init order: f6 Poisoned by user: f7 Container overflow: fc Array cookie: ac Intra object redzone: bb ASan internal: fe Left alloca redzone: ca Right alloca redzone: cb Shadow gap: cc ==168340==ABORTING ```
Author
Member

Added subscriber: @dr.sybren

Added subscriber: @dr.sybren

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

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

This issue was referenced by 28df0107d4

This issue was referenced by 28df0107d4a83dd7ce62781bef821092db1e0835
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Jacques Lucke self-assigned this 2021-12-25 11:15:46 +01:00
Sign in to join this conversation.
4 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blender/blender#94362
No description provided.