Crash when baking diffuse map. (EXCEPTION_ACCESS_VIOLATION) #77106

Closed
opened 2020-05-27 12:26:06 +02:00 by Voldemars Pauls Dzenis · 12 comments

System Information
Operating system: Windows 10 Pro x64
Graphics card: AMD Radeon R9 290
Memory: 24 GB DDR3

Blender Version
Broken: Seems to be all 2.8 versions
Worked: None of the versions.

Short description of error

When trying to bake diffuse of selected materials, the bake crashes blender at exactly 60% throwing an EXCEPTION_ACCESS_VIOLATION every time.

Exact steps for others to reproduce the error

  1. Open the provided .blend file.
  2. Select the mesh
  3. Navigate to the render tab
  4. Make sure Cycles is the selected engine
  5. Make sure Bake Type = Diffuse is selected
  6. Make sure both "Direct" and "Indirect" lighting influence are deselected just leaving "Color"
  7. Hit "Bake"
  8. Wait along the bake
  9. Witness the crash.

Files:

crashingBlend.blend

**System Information** Operating system: Windows 10 Pro x64 Graphics card: AMD Radeon R9 290 Memory: 24 GB DDR3 **Blender Version** Broken: Seems to be all 2.8 versions Worked: None of the versions. **Short description of error** When trying to bake diffuse of selected materials, the bake crashes blender at exactly 60% throwing an EXCEPTION_ACCESS_VIOLATION every time. **Exact steps for others to reproduce the error** 1. Open the provided .blend file. 2. Select the mesh 3. Navigate to the render tab 4. Make sure Cycles is the selected engine 5. Make sure Bake Type = Diffuse is selected 6. Make sure both "Direct" and "Indirect" lighting influence are deselected just leaving "Color" 7. Hit "Bake" 8. Wait along the bake 9. Witness the crash. **Files:** [crashingBlend.blend](https://archive.blender.org/developer/F8557574/crashingBlend.blend)

Added subscriber: @Lynxon

Added subscriber: @Lynxon

Added subscriber: @iss

Added subscriber: @iss

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

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

Access violation reading location

>	[Inline Frame] blender.exe!ccl::scene_intersect_local(ccl::KernelGlobals * local_object, const ccl::Ray *) Line 326	C++

 	blender.exe!ccl::svm_ao(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::float3 N, ccl::PathState * state, float max_dist, int num_samples, int flags) Line 69	C++
 	[Inline Frame] blender.exe!ccl::svm_node_ao(ccl::KernelGlobals *) Line 95	C++
 	blender.exe!ccl::svm_eval_nodes(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::PathState * state, float * buffer, ccl::ShaderType type, int path_flag) Line 521	C++
 	blender.exe!ccl::shader_eval_surface(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::PathState * state, float * buffer, int path_flag) Line 1117	C++
 	blender.exe!ccl::compute_light_pass(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::PathRadiance * L, unsigned int rng_hash, int pass_filter, int sample) Line 44	C++
 	blender.exe!ccl::kernel_bake_evaluate(ccl::KernelGlobals * kg, float * buffer, int sample, int x, int y, int offset, int stride) Line 315	C++
 	blender.exe!ccl::CPUDevice::render(ccl::DeviceTask & task, ccl::RenderTile & tile, ccl::KernelGlobals * kg) Line 936	C++
 	[Inline Frame] blender.exe!std::_Func_class<void,ccl::RenderTile &>::_Empty() Line 990	C++
 	[Inline Frame] blender.exe!std::_Func_class<void,ccl::RenderTile &>::operator()(ccl::RenderTile &) Line 972	C++
 	blender.exe!ccl::CPUDevice::thread_render(ccl::DeviceTask & task) Line 1044	C++
 	blender.exe!ccl::CPUDevice::thread_run(ccl::DeviceTask * task) Line 533	C++
 	[External Code]	
 	[Inline Frame] blender.exe!std::_Func_class<void,int>::operator()(int <_Args_0>) Line 976	C++
 	blender.exe!ccl::TaskScheduler::thread_run(int thread_id) Line 399	C++
 	[External Code]	
 	[Inline Frame] blender.exe!std::_Func_class<void>::operator()() Line 976	C++
 	blender.exe!ccl::thread::run(void * arg) Line 53	C++
 	[External Code]	

Running debug build I got completely different stacktrace:

Exception thrown at 0x00007FFB05C8169C (ucrtbased.dll) in blender.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.

 	ucrtbased.dll!00007ffb05c8169c()	Unknown
 	ucrtbased.dll!00007ffb05c8272d()	Unknown
 	ucrtbased.dll!00007ffb05c81ab0()	Unknown
 	ucrtbased.dll!00007ffb05c851c5()	Unknown
 	ucrtbased.dll!00007ffb05c858c8()	Unknown
>	blender.exe!BL::DynamicArray<float>::copy_from(const BL::DynamicArray<float> & other) Line 229	C++

 	blender.exe!BL::DynamicArray<float>::DynamicArray<float>(const BL::DynamicArray<float> & other) Line 219	C++
 	blender.exe!BL::RenderPass::rect() Line 54362	C++
 	blender.exe!ccl::BlenderSession::do_write_update_render_tile(ccl::RenderTile & rtile, bool do_update_only, bool do_read_only, bool highlight) Line 355	C++
 	blender.exe!ccl::BlenderSession::read_render_tile(ccl::RenderTile & rtile) Line 383	C++
 	[External Code]	
 	blender.exe!ccl::Session::acquire_tile(ccl::RenderTile & rtile, ccl::Device * tile_device, unsigned int tile_types) Line 467	C++
 	[External Code]	
 	blender.exe!ccl::CPUDevice::thread_render(ccl::DeviceTask & task) Line 1026	C++
 	blender.exe!ccl::CPUDevice::thread_run(ccl::DeviceTask * task) Line 533	C++
 	[External Code]	
 	blender.exe!ccl::TaskScheduler::thread_run(int thread_id) Line 399	C++
 	[External Code]	
 	blender.exe!ccl::thread::run(void * arg) Line 53	C++
 	[External Code]	
Access violation reading location ``` > [Inline Frame] blender.exe!ccl::scene_intersect_local(ccl::KernelGlobals * local_object, const ccl::Ray *) Line 326 C++ blender.exe!ccl::svm_ao(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::float3 N, ccl::PathState * state, float max_dist, int num_samples, int flags) Line 69 C++ [Inline Frame] blender.exe!ccl::svm_node_ao(ccl::KernelGlobals *) Line 95 C++ blender.exe!ccl::svm_eval_nodes(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::PathState * state, float * buffer, ccl::ShaderType type, int path_flag) Line 521 C++ blender.exe!ccl::shader_eval_surface(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::PathState * state, float * buffer, int path_flag) Line 1117 C++ blender.exe!ccl::compute_light_pass(ccl::KernelGlobals * kg, ccl::ShaderData * sd, ccl::PathRadiance * L, unsigned int rng_hash, int pass_filter, int sample) Line 44 C++ blender.exe!ccl::kernel_bake_evaluate(ccl::KernelGlobals * kg, float * buffer, int sample, int x, int y, int offset, int stride) Line 315 C++ blender.exe!ccl::CPUDevice::render(ccl::DeviceTask & task, ccl::RenderTile & tile, ccl::KernelGlobals * kg) Line 936 C++ [Inline Frame] blender.exe!std::_Func_class<void,ccl::RenderTile &>::_Empty() Line 990 C++ [Inline Frame] blender.exe!std::_Func_class<void,ccl::RenderTile &>::operator()(ccl::RenderTile &) Line 972 C++ blender.exe!ccl::CPUDevice::thread_render(ccl::DeviceTask & task) Line 1044 C++ blender.exe!ccl::CPUDevice::thread_run(ccl::DeviceTask * task) Line 533 C++ [External Code] [Inline Frame] blender.exe!std::_Func_class<void,int>::operator()(int <_Args_0>) Line 976 C++ blender.exe!ccl::TaskScheduler::thread_run(int thread_id) Line 399 C++ [External Code] [Inline Frame] blender.exe!std::_Func_class<void>::operator()() Line 976 C++ blender.exe!ccl::thread::run(void * arg) Line 53 C++ [External Code] ``` Running debug build I got completely different stacktrace: `Exception thrown at 0x00007FFB05C8169C (ucrtbased.dll) in blender.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.` ``` ucrtbased.dll!00007ffb05c8169c() Unknown ucrtbased.dll!00007ffb05c8272d() Unknown ucrtbased.dll!00007ffb05c81ab0() Unknown ucrtbased.dll!00007ffb05c851c5() Unknown ucrtbased.dll!00007ffb05c858c8() Unknown > blender.exe!BL::DynamicArray<float>::copy_from(const BL::DynamicArray<float> & other) Line 229 C++ blender.exe!BL::DynamicArray<float>::DynamicArray<float>(const BL::DynamicArray<float> & other) Line 219 C++ blender.exe!BL::RenderPass::rect() Line 54362 C++ blender.exe!ccl::BlenderSession::do_write_update_render_tile(ccl::RenderTile & rtile, bool do_update_only, bool do_read_only, bool highlight) Line 355 C++ blender.exe!ccl::BlenderSession::read_render_tile(ccl::RenderTile & rtile) Line 383 C++ [External Code] blender.exe!ccl::Session::acquire_tile(ccl::RenderTile & rtile, ccl::Device * tile_device, unsigned int tile_types) Line 467 C++ [External Code] blender.exe!ccl::CPUDevice::thread_render(ccl::DeviceTask & task) Line 1026 C++ blender.exe!ccl::CPUDevice::thread_run(ccl::DeviceTask * task) Line 533 C++ [External Code] blender.exe!ccl::TaskScheduler::thread_run(int thread_id) Line 399 C++ [External Code] blender.exe!ccl::thread::run(void * arg) Line 53 C++ [External Code] ```

Added subscriber: @grosgood

Added subscriber: @grosgood

@iss declared:

Running debug build I got completely different stacktrace:

Not me. In the debug build I have here - see my attached sys-info.txt - I SEGV right here at @ intern/cycles/kernel/bvh.h, line 326; ditto with the release build.

  #  else /* __KERNEL_OPTIX__ */
  if (!scene_intersect_valid(ray)) {
    local_isect->num_hits = 0;  <-- 326: local_isect == 0!
    return false;
  }

Here's the backtrace. Note the parameters being passed to ## ccl::scene_intersect_local## has uninitialized pointers: ##lcg_state=0x0, local_object=0, local_isect=0x0,##

(gdb) run
Starting program: /home/gosgood/git_repositories/build_linux_debug/bin/blender --debug-depsgraph /home/gosgood/Downloads/crashingBlend.blend 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Thread 166 "blender" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff0f179700 (LWP 17624)]
0x000000000635df35 in ccl::scene_intersect_local (max_hits=0, lcg_state=0x0, local_object=0, local_isect=0x0, ray=0x7fff0f16d0f0, kg=0x7fff04c0f020) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/bvh/bvh.h:326
326	    local_isect->num_hits = 0;
(gdb) bt
- 0  0x000000000635df35 in ccl::scene_intersect_local (max_hits=0, lcg_state=0x0, local_object=0, local_isect=0x0, ray=0x7fff0f16d0f0, kg=0x7fff04c0f020) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/bvh/bvh.h:326
- 1  ccl::svm_ao(ccl::KernelGlobals*, ccl::ShaderData*, ccl::float3, ccl::PathState*, float, int, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, N=..., state=0x7fff0f16f650, max_dist=1, num_samples=2, flags=1) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/svm/svm_ao.h:69
- 2  0x0000000006361fcb in ccl::svm_node_ao(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathState*, float*, ccl::uint4) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, state=0x7fff0f16f650, stack=0x7fff0f16d5a0, node=...) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/svm/svm_ao.h:95
- 3  0x0000000006372224 in ccl::svm_eval_nodes(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathState*, float*, ccl::ShaderType, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, state=0x7fff0f16f650, buffer=0x0, type=ccl::SHADER_TYPE_SURFACE, path_flag=540673) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/svm/svm.h:521
- 4  0x0000000006391d8b in ccl::shader_eval_surface(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathState*, float*, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, state=0x7fff0f16f650, buffer=0x0, path_flag=540673) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernel_shader.h:1100
- 5  0x0000000006479457 in ccl::compute_light_pass(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathRadiance*, ccl::uint, int, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, L=0x7fff0f174900, rng_hash=2909328977, pass_filter=12, sample=6) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernel_bake.h:41
- 6  0x0000000006484e7c in ccl::kernel_bake_evaluate(ccl::KernelGlobals*, float*, int, int, int, int, int) (kg=0x7fff04c0f020, buffer=0x7fff04c38ef0, sample=6, x=1727, y=1865, offset=-120448, stride=64) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernel_bake.h:315
- 7  0x000000000648a4e3 in ccl::kernel_cpu_avx2_bake(ccl::KernelGlobals*, float*, int, int, int, int, int) (kg=0x7fff04c0f020, buffer=0x7fff04c31720, sample=6, x=1727, y=1865, offset=-120448, stride=64) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernels/cpu/kernel_cpu_impl.h:143
- 8  0x0000000004c89266 in ccl::CPUDevice::render(ccl::DeviceTask&, ccl::RenderTile&, ccl::KernelGlobals*) (this=0x7fff580b0e00, task=..., tile=..., kg=0x7fff04c0f020) at /home/gosgood/git_repositories/blender/intern/cycles/device/device_cpu.cpp:937
- 9  0x0000000004c89e8f in ccl::CPUDevice::thread_render(ccl::DeviceTask&) (this=0x7fff580b0e00, task=...) at /home/gosgood/git_repositories/blender/intern/cycles/device/device_cpu.cpp:1037
- 10 0x0000000004c870a8 in ccl::CPUDevice::thread_run(ccl::DeviceTask*) (this=0x7fff580b0e00, task=0x7fff0ac46200) at /home/gosgood/git_repositories/blender/intern/cycles/device/device_cpu.cpp:533
- 11 0x0000000004c9b6f2 in std::__invoke_impl<void, void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&>(std::__invoke_memfun_deref, void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&) (__f=@0x7fff0ac47520: (void (ccl::CPUDevice::*)(ccl::CPUDevice * const, ccl::DeviceTask *)) 0x4c8707a <ccl::CPUDevice::thread_run(ccl::DeviceTask*)>, __t=@0x7fff0ac47538: 0x7fff580b0e00) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:73
- 12 0x0000000004c9980a in std::__invoke<void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&>(void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&) (__fn=@0x7fff0ac47520: (void (ccl::CPUDevice::*)(ccl::CPUDevice * const, ccl::DeviceTask *)) 0x4c8707a <ccl::CPUDevice::thread_run(ccl::DeviceTask*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:95
- 13 0x0000000004c97c2a in std::_Bind<void (ccl::CPUDevice::*(ccl::CPUDevice*, ccl::CPUDevice::CPUDeviceTask*))(ccl::DeviceTask*)>::__call<void, int&&, 0ul, 1ul>(std::tuple<int&&>&&, std::_Index_tuple<0ul, 1ul>) (this=0x7fff0ac47520, __args=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:400
- 14 0x0000000004c95c1c in std::_Bind<void (ccl::CPUDevice::*(ccl::CPUDevice*, ccl::CPUDevice::CPUDeviceTask*))(ccl::DeviceTask*)>::operator()<int, void>(int&&) (this=0x7fff0ac47520) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:484
- 15 0x0000000004c932cd in std::_Function_handler<void (int), std::_Bind<void (ccl::CPUDevice::*(ccl::CPUDevice*, ccl::CPUDevice::CPUDeviceTask*))(ccl::DeviceTask*)> >::_M_invoke(std::_Any_data const&, int&&) (__functor=..., __args#0=@0x7fff0f177144: 40) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:300
- 16 0x00000000094e37cc in std::function<void (int)>::operator()(int) const (this=0x7fff0ac46208, __args#0=40) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:688
- 17 0x00000000094e2773 in ccl::TaskScheduler::thread_run(int) (thread_id=40) at /home/gosgood/git_repositories/blender/intern/cycles/util/util_task.cpp:396
- 18 0x00000000094e6714 in std::__invoke_impl<void, void (*&)(int), int&>(std::__invoke_other, void (*&)(int), int&) (__f=@0x7fff58026610: 0x94e2734 <ccl::TaskScheduler::thread_run(int)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:60
- 19 0x00000000094e6256 in std::__invoke<void (*&)(int), int&>(void (*&)(int), int&) (__fn=@0x7fff58026610: 0x94e2734 <ccl::TaskScheduler::thread_run(int)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:95
- 20 0x00000000094e5bb9 in std::_Bind<void (*(int))(int)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x7fff58026610, __args=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:400
- 21 0x00000000094e52b5 in std::_Bind<void (*(int))(int)>::operator()<, void>() (this=0x7fff58026610) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:484
- 22 0x00000000094e48e7 in std::_Function_handler<void (), std::_Bind<void (*(int))(int)> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:300
- 23 0x0000000004bc8fe4 in std::function<void ()>::operator()() const (this=0x7fff5802efc0) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:688
- 24 0x00000000094e707a in ccl::thread::run(void*) (arg=0x7fff5802efc0) at /home/gosgood/git_repositories/blender/intern/cycles/util/util_thread.cpp:52
- 25 0x00000000094e7bd7 in std::__invoke_impl<void*, void* (*)(void*), ccl::thread*>(std::__invoke_other, void* (*&&)(void*), ccl::thread*&&) (__f=@0x7fff58069970: 0x94e7040 <ccl::thread::run(void*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:60
- 26 0x00000000094e7b38 in std::__invoke<void* (*)(void*), ccl::thread*>(void* (*&&)(void*), ccl::thread*&&) (__fn=@0x7fff58069970: 0x94e7040 <ccl::thread::run(void*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:95
- 27 0x00000000094e7a99 in std::thread::_Invoker<std::tuple<void* (*)(void*), ccl::thread*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (this=0x7fff58069968) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/thread:244
- 28 0x00000000094e7a3f in std::thread::_Invoker<std::tuple<void* (*)(void*), ccl::thread*> >::operator()() (this=0x7fff58069968) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/thread:251
- 29 0x00000000094e7a14 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void* (*)(void*), ccl::thread*> > >::_M_run() (this=0x7fff58069960) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/thread:195
- 30 0x00007fffefc6ce1f in  () at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libstdc++.so.6
- 31 0x00007ffff7cede97 in start_thread (arg=<optimized out>) at pthread_create.c:479
#32 0x00007fffef97963f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) 

The die point can be anywhere from 40% to 57% through the render.

System Info
system-info.txt

@iss declared: > Running debug build I got completely different stacktrace: Not me. In the debug build I have here - see my attached sys-info.txt - I SEGV right here at @ [intern/cycles/kernel/bvh.h](https://developer.blender.org/diffusion/B/browse/master/intern/cycles/kernel/bvh/bvh.h$326), line 326; ditto with the release build. ``` # else /* __KERNEL_OPTIX__ */ if (!scene_intersect_valid(ray)) { local_isect->num_hits = 0; <-- 326: local_isect == 0! return false; } ``` Here's the backtrace. Note the parameters being passed to ## ccl::scene_intersect_local## has uninitialized pointers: ##lcg_state=0x0, local_object=0, local_isect=0x0,## ``` (gdb) run Starting program: /home/gosgood/git_repositories/build_linux_debug/bin/blender --debug-depsgraph /home/gosgood/Downloads/crashingBlend.blend [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Thread 166 "blender" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff0f179700 (LWP 17624)] 0x000000000635df35 in ccl::scene_intersect_local (max_hits=0, lcg_state=0x0, local_object=0, local_isect=0x0, ray=0x7fff0f16d0f0, kg=0x7fff04c0f020) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/bvh/bvh.h:326 326 local_isect->num_hits = 0; (gdb) bt - 0 0x000000000635df35 in ccl::scene_intersect_local (max_hits=0, lcg_state=0x0, local_object=0, local_isect=0x0, ray=0x7fff0f16d0f0, kg=0x7fff04c0f020) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/bvh/bvh.h:326 - 1 ccl::svm_ao(ccl::KernelGlobals*, ccl::ShaderData*, ccl::float3, ccl::PathState*, float, int, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, N=..., state=0x7fff0f16f650, max_dist=1, num_samples=2, flags=1) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/svm/svm_ao.h:69 - 2 0x0000000006361fcb in ccl::svm_node_ao(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathState*, float*, ccl::uint4) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, state=0x7fff0f16f650, stack=0x7fff0f16d5a0, node=...) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/svm/svm_ao.h:95 - 3 0x0000000006372224 in ccl::svm_eval_nodes(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathState*, float*, ccl::ShaderType, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, state=0x7fff0f16f650, buffer=0x0, type=ccl::SHADER_TYPE_SURFACE, path_flag=540673) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/svm/svm.h:521 - 4 0x0000000006391d8b in ccl::shader_eval_surface(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathState*, float*, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, state=0x7fff0f16f650, buffer=0x0, path_flag=540673) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernel_shader.h:1100 - 5 0x0000000006479457 in ccl::compute_light_pass(ccl::KernelGlobals*, ccl::ShaderData*, ccl::PathRadiance*, ccl::uint, int, int) (kg=0x7fff04c0f020, sd=0x7fff0f174cc0, L=0x7fff0f174900, rng_hash=2909328977, pass_filter=12, sample=6) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernel_bake.h:41 - 6 0x0000000006484e7c in ccl::kernel_bake_evaluate(ccl::KernelGlobals*, float*, int, int, int, int, int) (kg=0x7fff04c0f020, buffer=0x7fff04c38ef0, sample=6, x=1727, y=1865, offset=-120448, stride=64) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernel_bake.h:315 - 7 0x000000000648a4e3 in ccl::kernel_cpu_avx2_bake(ccl::KernelGlobals*, float*, int, int, int, int, int) (kg=0x7fff04c0f020, buffer=0x7fff04c31720, sample=6, x=1727, y=1865, offset=-120448, stride=64) at /home/gosgood/git_repositories/blender/intern/cycles/kernel/../kernel/kernels/cpu/kernel_cpu_impl.h:143 - 8 0x0000000004c89266 in ccl::CPUDevice::render(ccl::DeviceTask&, ccl::RenderTile&, ccl::KernelGlobals*) (this=0x7fff580b0e00, task=..., tile=..., kg=0x7fff04c0f020) at /home/gosgood/git_repositories/blender/intern/cycles/device/device_cpu.cpp:937 - 9 0x0000000004c89e8f in ccl::CPUDevice::thread_render(ccl::DeviceTask&) (this=0x7fff580b0e00, task=...) at /home/gosgood/git_repositories/blender/intern/cycles/device/device_cpu.cpp:1037 - 10 0x0000000004c870a8 in ccl::CPUDevice::thread_run(ccl::DeviceTask*) (this=0x7fff580b0e00, task=0x7fff0ac46200) at /home/gosgood/git_repositories/blender/intern/cycles/device/device_cpu.cpp:533 - 11 0x0000000004c9b6f2 in std::__invoke_impl<void, void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&>(std::__invoke_memfun_deref, void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&) (__f=@0x7fff0ac47520: (void (ccl::CPUDevice::*)(ccl::CPUDevice * const, ccl::DeviceTask *)) 0x4c8707a <ccl::CPUDevice::thread_run(ccl::DeviceTask*)>, __t=@0x7fff0ac47538: 0x7fff580b0e00) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:73 - 12 0x0000000004c9980a in std::__invoke<void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&>(void (ccl::CPUDevice::*&)(ccl::DeviceTask*), ccl::CPUDevice*&, ccl::CPUDevice::CPUDeviceTask*&) (__fn=@0x7fff0ac47520: (void (ccl::CPUDevice::*)(ccl::CPUDevice * const, ccl::DeviceTask *)) 0x4c8707a <ccl::CPUDevice::thread_run(ccl::DeviceTask*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:95 - 13 0x0000000004c97c2a in std::_Bind<void (ccl::CPUDevice::*(ccl::CPUDevice*, ccl::CPUDevice::CPUDeviceTask*))(ccl::DeviceTask*)>::__call<void, int&&, 0ul, 1ul>(std::tuple<int&&>&&, std::_Index_tuple<0ul, 1ul>) (this=0x7fff0ac47520, __args=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:400 - 14 0x0000000004c95c1c in std::_Bind<void (ccl::CPUDevice::*(ccl::CPUDevice*, ccl::CPUDevice::CPUDeviceTask*))(ccl::DeviceTask*)>::operator()<int, void>(int&&) (this=0x7fff0ac47520) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:484 - 15 0x0000000004c932cd in std::_Function_handler<void (int), std::_Bind<void (ccl::CPUDevice::*(ccl::CPUDevice*, ccl::CPUDevice::CPUDeviceTask*))(ccl::DeviceTask*)> >::_M_invoke(std::_Any_data const&, int&&) (__functor=..., __args#0=@0x7fff0f177144: 40) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:300 - 16 0x00000000094e37cc in std::function<void (int)>::operator()(int) const (this=0x7fff0ac46208, __args#0=40) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:688 - 17 0x00000000094e2773 in ccl::TaskScheduler::thread_run(int) (thread_id=40) at /home/gosgood/git_repositories/blender/intern/cycles/util/util_task.cpp:396 - 18 0x00000000094e6714 in std::__invoke_impl<void, void (*&)(int), int&>(std::__invoke_other, void (*&)(int), int&) (__f=@0x7fff58026610: 0x94e2734 <ccl::TaskScheduler::thread_run(int)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:60 - 19 0x00000000094e6256 in std::__invoke<void (*&)(int), int&>(void (*&)(int), int&) (__fn=@0x7fff58026610: 0x94e2734 <ccl::TaskScheduler::thread_run(int)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:95 - 20 0x00000000094e5bb9 in std::_Bind<void (*(int))(int)>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x7fff58026610, __args=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:400 - 21 0x00000000094e52b5 in std::_Bind<void (*(int))(int)>::operator()<, void>() (this=0x7fff58026610) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/functional:484 - 22 0x00000000094e48e7 in std::_Function_handler<void (), std::_Bind<void (*(int))(int)> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:300 - 23 0x0000000004bc8fe4 in std::function<void ()>::operator()() const (this=0x7fff5802efc0) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/std_function.h:688 - 24 0x00000000094e707a in ccl::thread::run(void*) (arg=0x7fff5802efc0) at /home/gosgood/git_repositories/blender/intern/cycles/util/util_thread.cpp:52 - 25 0x00000000094e7bd7 in std::__invoke_impl<void*, void* (*)(void*), ccl::thread*>(std::__invoke_other, void* (*&&)(void*), ccl::thread*&&) (__f=@0x7fff58069970: 0x94e7040 <ccl::thread::run(void*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:60 - 26 0x00000000094e7b38 in std::__invoke<void* (*)(void*), ccl::thread*>(void* (*&&)(void*), ccl::thread*&&) (__fn=@0x7fff58069970: 0x94e7040 <ccl::thread::run(void*)>) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/bits/invoke.h:95 - 27 0x00000000094e7a99 in std::thread::_Invoker<std::tuple<void* (*)(void*), ccl::thread*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) (this=0x7fff58069968) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/thread:244 - 28 0x00000000094e7a3f in std::thread::_Invoker<std::tuple<void* (*)(void*), ccl::thread*> >::operator()() (this=0x7fff58069968) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/thread:251 - 29 0x00000000094e7a14 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void* (*)(void*), ccl::thread*> > >::_M_run() (this=0x7fff58069960) at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/g++-v9/thread:195 - 30 0x00007fffefc6ce1f in () at /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/libstdc++.so.6 - 31 0x00007ffff7cede97 in start_thread (arg=<optimized out>) at pthread_create.c:479 #32 0x00007fffef97963f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) ``` The die point can be anywhere from 40% to 57% through the render. **System Info** [system-info.txt](https://archive.blender.org/developer/F8563705/system-info.txt)

Some initial observations that may not be that relevant, but for the record:

  • File -> External Data ->Report Missing Files reports as not found:
    • filter.jpg
    • filter_normals.png
    • scratchesTEX.png
    • tankEnd.png
  • I find instruction 6: 'Make sure both "Direct" and "Indirect" lighting influence are deselected just leaving "Color"' to be irrelevant. In my case, I crash in the manner I cited in my previous post no matter how "Direct", "Indirect" or "Color" are set, so long as at least one flag is set.

I don't think the matter of missing textures is reason to close this bug as Blender should (and usually does) posts warnings about missing textures: it should not crash in their absence. Their absence may not even be relevant. I presume @Lynxon had them and still observed crashes.

So far, I have not been able to construct a simpler file that still exhibits the bug. The posted file is interesting, but poses a number of distracting rabbit holes. Should I produce such a file, I'll post it here.

Some initial observations that may not be that relevant, but for the record: - File -> External Data ->Report Missing Files reports as not found: - filter.jpg - filter_normals.png - scratchesTEX.png - tankEnd.png - I find instruction 6: 'Make sure both "Direct" and "Indirect" lighting influence are deselected just leaving "Color"' to be irrelevant. In my case, I crash in the manner I cited in my previous post no matter how "Direct", "Indirect" or "Color" are set, so long as at least one flag is set. I don't think the matter of missing textures is reason to close this bug as Blender should (and usually does) posts warnings about missing textures: it should not crash in their absence. Their absence may not even be relevant. I presume @Lynxon had them and still observed crashes. So far, I have not been able to construct a simpler file that still exhibits the bug. The posted file is interesting, but poses a number of distracting rabbit holes. Should I produce such a file, I'll post it here.

Added subscribers: @LukasStockner, @brecht

Added subscribers: @LukasStockner, @brecht

Commit 799779d432 by @LukasStockner on Jun 15 11:03:29 2018 +0200, as a part of D3479 added intern/cycles/kernel/svm/svm_ao.h. At line 69 of that file, (backtrace frame #1; see my first post) , ##scene_intersect_local(kg, &ray, NULL, sd->object, NULL, 0)## is invoked with parameters ##local_isect=0x0## and ##lcg_state=0x0##, thus setting the tripwire for this bug.

Perhaps ##scene_intersect_local()## could favourably employ at line 326 of [bvh.h]] a sanity check on ##local_isect## similar to what @brecht introduced some lines down at [ https:*developer.blender.org/diffusion/B/browse/master/intern/cycles/kernel/bvh/bvh.h$339|339. See #73778 and commit ca72ff599a.

@Lynxon:
I waltzed through your various materials and, for each Ambient Occlusion node I found, I deselected the Only Local checkbox. With that, I was able to generate a color-only diffuse bake on your file. I advance this merely as a technical workaround (i.e, a hack), in case you really need to get off the dime on this file and the results still fit your aesthetic aims.

Commit 799779d432 by @LukasStockner on Jun 15 11:03:29 2018 +0200, as a part of [D3479](https://archive.blender.org/developer/D3479) added [intern/cycles/kernel/svm/svm_ao.h](https://developer.blender.org/diffusion/B/browse/master/intern/cycles/kernel/svm/svm_ao.h$69). At line 69 of that file, (backtrace frame #1; see my first post) , ##scene_intersect_local(kg, &ray, NULL, sd->object, NULL, 0)## is invoked with parameters ##local_isect=0x0## and ##lcg_state=0x0##, thus setting the tripwire for this bug. Perhaps ##scene_intersect_local()## could favourably employ at line 326 of [bvh.h]] a sanity check on ##local_isect## similar to what @brecht introduced some lines down at [[ https:*developer.blender.org/diffusion/B/browse/master/intern/cycles/kernel/bvh/bvh.h$339|339](https:*developer.blender.org/diffusion/B/browse/master/intern/cycles/kernel/bvh/bvh.h$326). See #73778 and commit ca72ff599a. @Lynxon: I waltzed through your various materials and, for each [Ambient Occlusion node](https://docs.blender.org/manual/en/latest/render/shader_nodes/input/ao.html) I found, I deselected the Only Local checkbox. With that, I was able to generate a color-only diffuse bake on your file. I advance this merely as a technical workaround (i.e, a hack), in case you really need to get off the dime on this file and the results still fit your aesthetic aims.

This issue was referenced by blender/cycles@e4fc1b6071

This issue was referenced by blender/cycles@e4fc1b6071bd56a3d8441bcc66244b0420614507

This issue was referenced by 389d550412

This issue was referenced by 389d5504120fb1a331a13118979a896b7e31ee0f

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Brecht Van Lommel self-assigned this 2020-06-02 06:30:48 +02:00
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#77106
No description provided.