Page MenuHome

[Segfault<>BKE_object_is_visible_in_viewport] when rendering the default cube in cycles, despite viewport rendering works fine.
Closed, ResolvedPublic

Description

System Information
Operating system: Linux-5.3.5-arch1-1-ARCH-x86_64-with-arch 64 Bits
Graphics card: llvmpipe (LLVM 9.0, 256 bits) VMware, Inc. 3.3 (Core Profile) Mesa 19.2.1

Blender Version
Broken: version: 2.82 (sub 0), branch: master, commit date: 2019-10-15 08:27, hash: 3cdcd1fa9f08
Worked: (optional)

Short description of error
Crashes when hitting f12 to render the startup default scene in cycle, never the less render preview in the view port works fine.

Exact steps for others to reproduce the error
run blender
switch to cycles
f12
crash


Event Timeline

bartus sz (bartus) updated the task description. (Show Details)
Philipp Oeser (lichtwerk) raised the priority of this task from Needs Triage by Developer to Unbreak Now!.Oct 15 2019, 2:24 PM

Can confirm, assume rB280d6b03a7a9 is the culprit? (but will check on this...)

CC @Dalai Felinto (dfelinto), brecht

1   BKE_object_is_visible_in_viewport   layer.c             1068  0x2e08627      
2   rna_Object_visible_in_viewport_get  rna_object_api.c    289   0x32aab6a      
3   Object_visible_in_viewport_get_func rna_object_gen.c    3153  0x32b20c1      
4   BL::Object::visible_in_viewport_get RNA_blender_cpp.h   50386 0x33f846b      
5   ccl::BlenderSync::sync_objects      blender_object.cpp  558   0x33f75ae      
6   ccl::BlenderSync::sync_data         blender_sync.cpp    218   0x33d917e      
7   ccl::BlenderSession::render         blender_session.cpp 526   0x33c7eba      
8   ccl::render_func                    blender_python.cpp  283   0x33bb198      
9   _PyMethodDef_RawFastCallKeywords                              0x7ffff799ef2e 
10  _PyCFunction_FastCallKeywords                                 0x7ffff799f063 
11  ??                                                            0x7ffff79d17b3 
12  _PyEval_EvalFrameDefault                                      0x7ffff7a0da02 
13  _PyFunction_FastCallKeywords                                  0x7ffff79bfee2 
14  ??                                                            0x7ffff79d169f 
15  _PyEval_EvalFrameDefault                                      0x7ffff7a0da02 
16  _PyFunction_FastCallDict                                      0x7ffff79c054a 
17  bpy_class_call                      bpy_rna.c           8328  0x315bb3b      
18  engine_render                       rna_render.c        170   0x32ceed0      
19  RE_engine_render                    external_engine.c   778   0x3175f21      
20  do_render_3d                        pipeline.c          1165  0x317960d
Philipp Oeser (lichtwerk) renamed this task from [Segfoult<>BKE_object_is_visible_in_viewport] when rendering the default cube in cycles, despite viewport rendering works fine. to [Segfault<>BKE_object_is_visible_in_viewport] when rendering the default cube in cycles, despite viewport rendering works fine..Oct 15 2019, 2:24 PM

Can confirm too. Happens because the old code in visible_in_viewport_get_func checked whether b_v3d is NULL before accessing it, but the new code doesn't (and the viewport can be NULL).

Quick workaround (not sure if correct): const bool show_in_viewport = !b_v3d || b_ob.visible_in_viewport_get(b_v3d); in BlenderSync::sync_objects.

Fixing it at the moment.