Crash entering editmode on an object with particles and ridgidbody parented to another rigidbody #73255

Open
opened 2020-01-20 11:51:01 +01:00 by J-W. Versteegh · 17 comments

System Information
Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 432.00

Blender Version
Broken: version: 2.81 (sub 16), branch: master, commit date: 2019-12-04 11:32, hash: f1aa4d18d4
Worked: (optional)

Short description of error
The hair particles are facing the opposite direction and blender crashes, trying to solve this.

Exact steps for others to reproduce the error
[Please describe the exact steps needed to reproduce the issue]
[Based on the default startup or an attached .blend file (as simple as possible)]

Donut2-1.blend

Donut2-1.blend1

Created a donut according to site https://www.youtube.com/watch?v=jNmnPXY9UQA

Steps:
Particle Properties
+
Hair (Not showing ?!?)
First frame -> Hair showing downwards!
Tab
Blender crashes repeatable.
Steps:
Particle Properties
+
Hair (Not showing ?!?)
First frame -> Hair showing downwards!
Tab
Blender crashes repeatable.

**System Information** Operating system: Windows-10-10.0.18362 64 Bits Graphics card: GeForce GTX 1050 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 432.00 **Blender Version** Broken: version: 2.81 (sub 16), branch: master, commit date: 2019-12-04 11:32, hash: `f1aa4d18d4` Worked: (optional) **Short description of error** The hair particles are facing the opposite direction and blender crashes, trying to solve this. **Exact steps for others to reproduce the error** [Please describe the exact steps needed to reproduce the issue] [Based on the default startup or an attached .blend file (as simple as possible)] [Donut2-1.blend](https://archive.blender.org/developer/F8289472/Donut2-1.blend) [Donut2-1.blend1](https://archive.blender.org/developer/F8289471/Donut2-1.blend1) Created a donut according to site https://www.youtube.com/watch?v=jNmnPXY9UQA Steps: Particle Properties + Hair (Not showing ?!?) First frame -> Hair showing downwards! Tab Blender crashes repeatable. Steps: Particle Properties + Hair (Not showing ?!?) First frame -> Hair showing downwards! Tab Blender crashes repeatable.
Author

Added subscriber: @JWblender

Added subscriber: @JWblender

Added subscriber: @iss

Added subscriber: @iss

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'

Please give us detailed (step by step instructions how to cause a crash). It's great, that you attached .blend file, but I have no idea what to do with it.

Please give us detailed (step by step instructions how to cause a crash). It's great, that you attached .blend file, but I have no idea what to do with it.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

Changed status from 'Needs User Info' to: 'Archived'

Changed status from 'Needs User Info' to: 'Archived'
Philipp Oeser self-assigned this 2020-01-22 18:27:36 +01:00
Member

Both Icing and Donut are Rigid Bodies, and... they are parented to each other.
This is a no-go in 2.8 with rigid bodies (see #58044) and will result in a dependency cycle:

Dependency cycle detected:
  SCScene/Transform Component/RIGIDBODY_SIM() depends on
  OBIcing/Transform Component/TRANSFORM_SIMULATION_INIT() via 'Object Transform -> Rigidbody Sim Eval'
  OBIcing/Transform Component/TRANSFORM_EVAL() via 'Transform Eval -> Simulation Init'
  OBIcing/Transform Component/TRANSFORM_PARENT() via 'Eval'
  OBIcing/Transform Component/TRANSFORM_LOCAL() via 'ObLocal -> ObParent'
  OBIcing/Transform Component/TRANSFORM_INIT() via 'Transform Init'
  OBDonut/Transform Component/TRANSFORM_FINAL() via 'Parent'
  OBDonut/Transform Component/RIGIDBODY_TRANSFORM_COPY() via 'Rigidbody Sync -> Transform Final'
  SCScene/Transform Component/RIGIDBODY_SIM() via 'Rigidbody Sim Eval -> RBO Sync'
Detected 1 dependency cycles

This is why the thing stops evaluating...
Not sure why the rigid bodies are there?

You could either

  • unparent Icing from Donut or
  • remove rigid bodies alltogether
    and you should be fine...

Bonus: flip the normals on the Icing in editmode.

Doesnt seem to be a bug here, closing... thx for the report anyways...

Both `Icing` and `Donut` are Rigid Bodies, **and**... they are **parented** to each other. This is a no-go in 2.8 with rigid bodies (see #58044) and will result in a dependency cycle: ``` Dependency cycle detected: SCScene/Transform Component/RIGIDBODY_SIM() depends on OBIcing/Transform Component/TRANSFORM_SIMULATION_INIT() via 'Object Transform -> Rigidbody Sim Eval' OBIcing/Transform Component/TRANSFORM_EVAL() via 'Transform Eval -> Simulation Init' OBIcing/Transform Component/TRANSFORM_PARENT() via 'Eval' OBIcing/Transform Component/TRANSFORM_LOCAL() via 'ObLocal -> ObParent' OBIcing/Transform Component/TRANSFORM_INIT() via 'Transform Init' OBDonut/Transform Component/TRANSFORM_FINAL() via 'Parent' OBDonut/Transform Component/RIGIDBODY_TRANSFORM_COPY() via 'Rigidbody Sync -> Transform Final' SCScene/Transform Component/RIGIDBODY_SIM() via 'Rigidbody Sim Eval -> RBO Sync' Detected 1 dependency cycles ``` This is why the thing stops evaluating... Not sure why the rigid bodies are there? You could either - unparent `Icing` from `Donut` or - remove rigid bodies alltogether and you should be fine... Bonus: flip the normals on the `Icing` in editmode. Doesnt seem to be a bug here, closing... thx for the report anyways...
Member

Changed status from 'Archived' to: 'Confirmed'

Changed status from 'Archived' to: 'Confirmed'
Member

Ah wait, forgot about the crash :)
That should not happen in any case, checking... but I guess this could be the side-effect of #58044 [might be merged? -- but lets see if there is a quick way to get rid of the crash...]

Ah wait, forgot about the crash :) That should not happen in any case, checking... but I guess this could be the side-effect of #58044 [might be merged? -- but lets see if there is a quick way to get rid of the crash...]
Philipp Oeser changed title from Blender crashes while trying to create particles to Crash entering editmode on an object with particles and ridgidbody parented to another rigidbody 2020-01-23 10:52:34 +01:00
Member

Added subscriber: @Sergey

Added subscriber: @Sergey
Member

@Sergey: how are we handling cases like these?
We have the reported dependency cycle (see above), so seems mesh_eval_final is not ready.

BLI_assert(me->edit_mesh->mesh_eval_final != NULL);

Without the assert, blender will crash later in DRW_mesh_batch_cache_create_requested (accessing me->edit_mesh->mesh_eval_final->runtime)

1  raise                                                             0x7ffff17c0e35 
2  abort                                                             0x7ffff17ab895 
3  DRW_mesh_batch_cache_create_requested draw_cache_impl_mesh.c 991  0x35ff6ae      
4  drw_batch_cache_generate_requested    draw_cache.c           3412 0x35f2455      
5  drw_engines_cache_populate            draw_manager.c         1152 0x3581a89      
6  DRW_draw_render_loop_ex               draw_manager.c         1569 0x3582c32      
7  DRW_draw_view                         draw_manager.c         1485 0x3582809      
8  view3d_draw_view                      view3d_draw.c          1532 0x3f7142b      
9  view3d_main_region_draw               view3d_draw.c          1556 0x3f714d0      
10 ED_region_do_draw                     area.c                 534  0x391568c      
11 wm_draw_window_offscreen              wm_draw.c              634  0x329bda9      
12 wm_draw_window                        wm_draw.c              770  0x329c328      
13 wm_draw_update                        wm_draw.c              952  0x329c900      
14 WM_main                               wm.c                   423  0x3299431      
15 main                                  creator.c              518  0x2fcc5b6 
@Sergey: how are we handling cases like these? We have the reported dependency cycle (see above), so seems `mesh_eval_final` is not ready. `BLI_assert(me->edit_mesh->mesh_eval_final != NULL);` Without the assert, blender will crash later in `DRW_mesh_batch_cache_create_requested` (accessing `me->edit_mesh->mesh_eval_final->runtime`) ``` 1 raise 0x7ffff17c0e35 2 abort 0x7ffff17ab895 3 DRW_mesh_batch_cache_create_requested draw_cache_impl_mesh.c 991 0x35ff6ae 4 drw_batch_cache_generate_requested draw_cache.c 3412 0x35f2455 5 drw_engines_cache_populate draw_manager.c 1152 0x3581a89 6 DRW_draw_render_loop_ex draw_manager.c 1569 0x3582c32 7 DRW_draw_view draw_manager.c 1485 0x3582809 8 view3d_draw_view view3d_draw.c 1532 0x3f7142b 9 view3d_main_region_draw view3d_draw.c 1556 0x3f714d0 10 ED_region_do_draw area.c 534 0x391568c 11 wm_draw_window_offscreen wm_draw.c 634 0x329bda9 12 wm_draw_window wm_draw.c 770 0x329c328 13 wm_draw_update wm_draw.c 952 0x329c900 14 WM_main wm.c 423 0x3299431 15 main creator.c 518 0x2fcc5b6 ```

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'

@lichtwerk, with dependency cycle object's evaluated state might not be ready during evaluation, but at a draw time everything is expected to be present.
For example, if there is a dependency cycle between A and B via their modifier stacks, the modifiers might not be evaluated "properly" (due to missing A's mesh_final and vice versa), but both A and B should have mesh_final at a draw time.

@lichtwerk, with dependency cycle object's evaluated state might not be ready during evaluation, but at a draw time everything is expected to be present. For example, if there is a dependency cycle between A and B via their modifier stacks, the modifiers might not be evaluated "properly" (due to missing A's mesh_final and vice versa), but both A and B should have mesh_final at a draw time.

Changed status from 'Resolved' to: 'Confirmed'

Changed status from 'Resolved' to: 'Confirmed'

Somehow managed to change status of the ask. Was unintended.

Somehow managed to change status of the ask. Was unintended.
Philipp Oeser removed their assignment 2020-03-23 18:26:19 +01:00
Member

Added subscriber: @JacquesLucke

Added subscriber: @JacquesLucke
Member

So what exactly do I have to do to reproduce this crash in latest master? The reproduction steps are not very clear to me.

Maybe this has been fixed by 820ca419e0.

So what exactly do I have to do to reproduce this crash in latest master? The reproduction steps are not very clear to me. Maybe this has been fixed by 820ca419e0.
Philipp Oeser removed the
Interest
Nodes & Physics
label 2023-02-10 08:47:07 +01:00
Philipp Oeser added the
Interest
Core
label 2023-02-10 11:09:55 +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
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#73255
No description provided.