Text object dupli renders incorrectly due to missing depsgraph relations #95654

Open
opened 2022-02-09 20:10:15 +01:00 by Joseph Brandenburg · 9 comments

System Information
Operating system: Linux-5.10.96-1-MANJARO-x86_64-with-glibc2.33 64 Bits
Graphics card: NVIDIA GeForce GTX 745/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 510.47.03

Blender Version
Broken: version: 3.0.1, branch: master (modified), commit date: 2022-01-25 17:19, hash: dc2d180181
note - the (modified) in there is because I commented out some annoying warning messages. The bug occurs in 3.01 un-modified. In fact, it occurs in 2.93, too!
Worked: No idea. My guess is that it has not ever worked.

Short description of error
Blender crashes when attempting to render Object Font text in Cycles if the font object is in an excluded view-layer (or is otherwise not visible in the render. It looks like simply clicking the camera to hide it in the render will also trigger the crash).
For now, it is easy to work around the issue by simply placing the font object somewhere in the scene where it won't be visible to the camera.

Edit: it no longer crashes, but still renders with the wrong material and missing modifiers.

Exact steps for others to reproduce the error

  • Open .blend file
  • Change render engine to Cycles
  • Switch to render preview
    text_bug.blend
# Blender 2.93.7, Commit date: 2021-12-07 14:43, Hash fb762eedbe85
File written by newer Blender binary (300.42), expect loss of data!  # Error
bpy.context.scene.exclude = False  # Property
bpy.data.objects["Cube-A"].hide_render = True  # Property
bpy.ops.object.camera_add(enter_editmode=False, align='VIEW', location=(11.5822, 6.07443, 2.81362), rotation=(1.25533, 0.0140188, 0.598586), scale=(1, 1, 1))  # Operator

# backtrace
blender2.93(BLI_system_backtrace+0x33) [0xb0265b3]
blender2.93() [0xf84231]
/usr/lib/libc.so.6(+0x3cda0) [0x7fd276e87da0]
blender2.93(_ZN3ccl6Shader8tag_usedEPNS_5SceneE+0) [0x31413c0]
blender2.93(_ZN3ccl11BlenderSync17find_used_shadersERN2BL6ObjectE+0x211) [0x276a821]
blender2.93(_ZN3ccl11BlenderSync13sync_geometryERN2BL9DepsgraphERNS1_6ObjectES5_bbPNS_8TaskPoolE+0xf7) [0x276aac7]
blender2.93(_ZN3ccl11BlenderSync11sync_objectERN2BL9DepsgraphERNS1_9ViewLayerERNS1_23DepsgraphObjectInstanceEfbbRNS_20BlenderObjectCullingEPbPNS_8TaskPoolE+0x83e) [0x274367e]
blender2.93(_ZN3ccl11BlenderSync12sync_objectsERN2BL9DepsgraphERNS1_11SpaceView3DEf+0x4c2) [0x27456c2]
blender2.93(_ZN3ccl11BlenderSync9sync_dataERN2BL14RenderSettingsERNS1_9DepsgraphERNS1_11SpaceView3DERNS1_6ObjectEiiPPv+0x1a0) [0x2734520]
blender2.93(_ZN3ccl14BlenderSession6renderERN2BL9DepsgraphE+0xc0e) [0x272984e]
blender2.93() [0x132c995]
blender2.93() [0x271eb69]
blender2.93() [0x9096df4]
blender2.93(_PyObject_MakeTpCall+0x90) [0x9058b10]
blender2.93(_PyEval_EvalFrameDefault+0x8f40) [0xf80500]
blender2.93() [0xf7665b]
blender2.93(_PyEval_EvalFrameDefault+0x661d) [0xf7dbdd]
blender2.93() [0xf7665b]
blender2.93(PyVectorcall_Call+0x5f) [0x905856f]
blender2.93() [0x190fb5d]
blender2.93() [0x1869ab0]
blender2.93() [0x8a5dbe0]
blender2.93(RE_engine_render+0x214) [0x8a5e804]
blender2.93() [0x8a62447]
blender2.93() [0x8a65708]
blender2.93(RE_RenderFrame+0xe3) [0x8a65e13]
blender2.93() [0x2708994]
blender2.93() [0x13472f2]
/usr/lib/libpthread.so.0(+0x9259) [0x7fd277411259]
/usr/lib/libc.so.6(clone+0x43) [0x7fd276f495e3]

# Python backtrace
  File "/all-users/blender-git/build_linux_2.93/bin/2.93/scripts/addons/cycles/engine.py", line 177 in render
  File "/all-users/blender-git/build_linux_2.93/bin/2.93/scripts/addons/cycles/__init__.py", line 85 in render
**System Information** Operating system: Linux-5.10.96-1-MANJARO-x86_64-with-glibc2.33 64 Bits Graphics card: NVIDIA GeForce GTX 745/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 510.47.03 **Blender Version** Broken: version: 3.0.1, branch: master (modified), commit date: 2022-01-25 17:19, hash: `dc2d180181` note - the (modified) in there is because I commented out some annoying warning messages. The bug occurs in 3.01 un-modified. In fact, it occurs in 2.93, too! Worked: No idea. My guess is that it has not ever worked. **Short description of error** Blender crashes when attempting to render Object Font text in Cycles if the font object is in an excluded view-layer (or is otherwise not visible in the render. It looks like simply clicking the camera to hide it in the render will also trigger the crash). For now, it is easy to work around the issue by simply placing the font object somewhere in the scene where it won't be visible to the camera. Edit: it no longer crashes, but still renders with the wrong material and missing modifiers. **Exact steps for others to reproduce the error** - Open .blend file - Change render engine to Cycles - Switch to render preview [text_bug.blend](https://archive.blender.org/developer/F12857720/text_bug.blend) ```lines=10 # Blender 2.93.7, Commit date: 2021-12-07 14:43, Hash fb762eedbe85 File written by newer Blender binary (300.42), expect loss of data! # Error bpy.context.scene.exclude = False # Property bpy.data.objects["Cube-A"].hide_render = True # Property bpy.ops.object.camera_add(enter_editmode=False, align='VIEW', location=(11.5822, 6.07443, 2.81362), rotation=(1.25533, 0.0140188, 0.598586), scale=(1, 1, 1)) # Operator # backtrace blender2.93(BLI_system_backtrace+0x33) [0xb0265b3] blender2.93() [0xf84231] /usr/lib/libc.so.6(+0x3cda0) [0x7fd276e87da0] blender2.93(_ZN3ccl6Shader8tag_usedEPNS_5SceneE+0) [0x31413c0] blender2.93(_ZN3ccl11BlenderSync17find_used_shadersERN2BL6ObjectE+0x211) [0x276a821] blender2.93(_ZN3ccl11BlenderSync13sync_geometryERN2BL9DepsgraphERNS1_6ObjectES5_bbPNS_8TaskPoolE+0xf7) [0x276aac7] blender2.93(_ZN3ccl11BlenderSync11sync_objectERN2BL9DepsgraphERNS1_9ViewLayerERNS1_23DepsgraphObjectInstanceEfbbRNS_20BlenderObjectCullingEPbPNS_8TaskPoolE+0x83e) [0x274367e] blender2.93(_ZN3ccl11BlenderSync12sync_objectsERN2BL9DepsgraphERNS1_11SpaceView3DEf+0x4c2) [0x27456c2] blender2.93(_ZN3ccl11BlenderSync9sync_dataERN2BL14RenderSettingsERNS1_9DepsgraphERNS1_11SpaceView3DERNS1_6ObjectEiiPPv+0x1a0) [0x2734520] blender2.93(_ZN3ccl14BlenderSession6renderERN2BL9DepsgraphE+0xc0e) [0x272984e] blender2.93() [0x132c995] blender2.93() [0x271eb69] blender2.93() [0x9096df4] blender2.93(_PyObject_MakeTpCall+0x90) [0x9058b10] blender2.93(_PyEval_EvalFrameDefault+0x8f40) [0xf80500] blender2.93() [0xf7665b] blender2.93(_PyEval_EvalFrameDefault+0x661d) [0xf7dbdd] blender2.93() [0xf7665b] blender2.93(PyVectorcall_Call+0x5f) [0x905856f] blender2.93() [0x190fb5d] blender2.93() [0x1869ab0] blender2.93() [0x8a5dbe0] blender2.93(RE_engine_render+0x214) [0x8a5e804] blender2.93() [0x8a62447] blender2.93() [0x8a65708] blender2.93(RE_RenderFrame+0xe3) [0x8a65e13] blender2.93() [0x2708994] blender2.93() [0x13472f2] /usr/lib/libpthread.so.0(+0x9259) [0x7fd277411259] /usr/lib/libc.so.6(clone+0x43) [0x7fd276f495e3] # Python backtrace File "/all-users/blender-git/build_linux_2.93/bin/2.93/scripts/addons/cycles/engine.py", line 177 in render File "/all-users/blender-git/build_linux_2.93/bin/2.93/scripts/addons/cycles/__init__.py", line 85 in render ```

Added subscriber: @Josephbburg

Added subscriber: @Josephbburg
Joseph Brandenburg changed title from Object Font crashes when rendering (Cycles) if font object is in excluded view-layer to Blender crashes when rendering (Cycles) if font object is in excluded view-layer (Object Font) 2022-02-09 20:11:15 +01:00
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

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

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

Thanks for the report. I can confirm. Probably long standing issue as it even appear on 2.83, 2.92

blender.exe         :0x00007FF6E214D5C0  ccl::Shader::tag_used
blender.exe         :0x00007FF6E1E641B0  ccl::BlenderSync::find_shader
blender.exe         :0x00007FF6E1E6E120  ccl::BlenderSync::find_used_shaders
blender.exe         :0x00007FF6E1E6E730  ccl::BlenderSync::sync_geometry
blender.exe         :0x00007FF6E1E56E80  ccl::BlenderSync::sync_object
blender.exe         :0x00007FF6E1E58FC0  ccl::BlenderSync::sync_objects
blender.exe         :0x00007FF6E1E44B50  ccl::BlenderSync::sync_data
blender.exe         :0x00007FF6E1E3DC60  ccl::BlenderSession::synchronize
blender.exe         :0x00007FF6E1E335E0  ccl::sync_func
python310.dll       :0x00007FFC40BAE1C0  PyCFunction_GetFlags
python310.dll       :0x00007FFC40B69DD0  PyObject_MakeTpCall
python310.dll       :0x00007FFC40C7F000  PyEval_GetFuncDesc
python310.dll       :0x00007FFC40C788F0  PyEval_EvalFrameDefault
python310.dll       :0x00007FFC40C788F0  PyEval_EvalFrameDefault
python310.dll       :0x00007FFC40B6A280  PyFunction_Vectorcall
python310.dll       :0x00007FFC40C76D50  PyOS_URandomNonblock
python310.dll       :0x00007FFC40C7F000  PyEval_GetFuncDesc
python310.dll       :0x00007FFC40C788F0  PyEval_EvalFrameDefault
python310.dll       :0x00007FFC40C788F0  PyEval_EvalFrameDefault
python310.dll       :0x00007FFC40B6A280  PyFunction_Vectorcall
blender.exe         :0x00007FF6E131C4C0  bpy_class_call
blender.exe         :0x00007FF6E12FCBC0  engine_view_update
blender.exe         :0x00007FF6E106C710  external_draw_scene_do
blender.exe         :0x00007FF6E106C570  external_draw_scene
blender.exe         :0x00007FF6E1031090  drw_engines_draw_scene
blender.exe         :0x00007FF6E102D700  DRW_draw_render_loop_ex
blender.exe         :0x00007FF6E102E7B0  DRW_draw_view
blender.exe         :0x00007FF6E199F1E0  view3d_main_region_draw
blender.exe         :0x00007FF6E133CD10  ED_region_do_draw
blender.exe         :0x00007FF6E0F36340  wm_draw_window_offscreen
blender.exe         :0x00007FF6E0F36190  wm_draw_window
blender.exe         :0x00007FF6E0F35C90  wm_draw_update
blender.exe         :0x00007FF6E0F10040  WM_main
blender.exe         :0x00007FF6E0B503C0  main
blender.exe         :0x00007FF6E6245074  __scrt_common_main_seh
KERNEL32.DLL        :0x00007FFC94C77020  BaseThreadInitThunk
ntdll.dll           :0x00007FFC94F62630  RtlUserThreadStart```
Thanks for the report. I can confirm. Probably long standing issue as it even appear on 2.83, 2.92 ```lines=10 blender.exe :0x00007FF6E214D5C0 ccl::Shader::tag_used blender.exe :0x00007FF6E1E641B0 ccl::BlenderSync::find_shader blender.exe :0x00007FF6E1E6E120 ccl::BlenderSync::find_used_shaders blender.exe :0x00007FF6E1E6E730 ccl::BlenderSync::sync_geometry blender.exe :0x00007FF6E1E56E80 ccl::BlenderSync::sync_object blender.exe :0x00007FF6E1E58FC0 ccl::BlenderSync::sync_objects blender.exe :0x00007FF6E1E44B50 ccl::BlenderSync::sync_data blender.exe :0x00007FF6E1E3DC60 ccl::BlenderSession::synchronize blender.exe :0x00007FF6E1E335E0 ccl::sync_func python310.dll :0x00007FFC40BAE1C0 PyCFunction_GetFlags python310.dll :0x00007FFC40B69DD0 PyObject_MakeTpCall python310.dll :0x00007FFC40C7F000 PyEval_GetFuncDesc python310.dll :0x00007FFC40C788F0 PyEval_EvalFrameDefault python310.dll :0x00007FFC40C788F0 PyEval_EvalFrameDefault python310.dll :0x00007FFC40B6A280 PyFunction_Vectorcall python310.dll :0x00007FFC40C76D50 PyOS_URandomNonblock python310.dll :0x00007FFC40C7F000 PyEval_GetFuncDesc python310.dll :0x00007FFC40C788F0 PyEval_EvalFrameDefault python310.dll :0x00007FFC40C788F0 PyEval_EvalFrameDefault python310.dll :0x00007FFC40B6A280 PyFunction_Vectorcall blender.exe :0x00007FF6E131C4C0 bpy_class_call blender.exe :0x00007FF6E12FCBC0 engine_view_update blender.exe :0x00007FF6E106C710 external_draw_scene_do blender.exe :0x00007FF6E106C570 external_draw_scene blender.exe :0x00007FF6E1031090 drw_engines_draw_scene blender.exe :0x00007FF6E102D700 DRW_draw_render_loop_ex blender.exe :0x00007FF6E102E7B0 DRW_draw_view blender.exe :0x00007FF6E199F1E0 view3d_main_region_draw blender.exe :0x00007FF6E133CD10 ED_region_do_draw blender.exe :0x00007FF6E0F36340 wm_draw_window_offscreen blender.exe :0x00007FF6E0F36190 wm_draw_window blender.exe :0x00007FF6E0F35C90 wm_draw_update blender.exe :0x00007FF6E0F10040 WM_main blender.exe :0x00007FF6E0B503C0 main blender.exe :0x00007FF6E6245074 __scrt_common_main_seh KERNEL32.DLL :0x00007FFC94C77020 BaseThreadInitThunk ntdll.dll :0x00007FFC94F62630 RtlUserThreadStart```

Added subscriber: @brecht

Added subscriber: @brecht

This is a bug on the Blender side, where the depsgraph does not have proper relations for text object duplis and fails to include the required materials in the dependency graph. But at least Cycles should not crash.

This text object dupli system is something I don't want to invest time in fixing, its design is fundamentally poor and geometry nodes are much better for this, so will mark as a known issue.

This is a bug on the Blender side, where the depsgraph does not have proper relations for text object duplis and fails to include the required materials in the dependency graph. But at least Cycles should not crash. This text object dupli system is something I don't want to invest time in fixing, its design is fundamentally poor and geometry nodes are much better for this, so will mark as a known issue.
Brecht Van Lommel changed title from Blender crashes when rendering (Cycles) if font object is in excluded view-layer (Object Font) to Text object dupli renders incorrectly due to missing depsgraph relations 2022-02-17 17:35:28 +01:00

Thank you very much. While I agree that Geometry Nodes would be very much desirable, AFAIK it isn't possible to do Font Obect with it. Do you know if Font Object is coming to Geometry Nodes (and the old dupli text would then be deprecated/replaced)?
This isn't a big deal, since I have a workaround, but it would be great for my team if we could use Geometry Nodes for this! So I would like to know if there's any plans. Thanks again!

Thank you very much. While I agree that Geometry Nodes would be very much desirable, AFAIK it isn't possible to do Font Obect with it. Do you know if Font Object is coming to Geometry Nodes (and the old dupli text would then be deprecated/replaced)? This isn't a big deal, since I have a workaround, but it would be great for my team if we could use Geometry Nodes for this! So I would like to know if there's any plans. Thanks again!

I don't think there are concrete plans to add geometry nodes for this case, or which exactly would be required. You could add a suggestion in:
https://devtalk.blender.org/t/text-mograph-nodes-design/19208

I don't think there are concrete plans to add geometry nodes for this case, or which exactly would be required. You could add a suggestion in: https://devtalk.blender.org/t/text-mograph-nodes-design/19208

Thanks, will do!

Thanks, will do!
Philipp Oeser removed the
Interest
Core
label 2023-02-09 14:42:51 +01: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
3 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#95654
No description provided.