Weight Proximity modifier: crash going to editmode on a target in certain situations #80996

Closed
opened 2020-09-20 16:48:35 +02:00 by Borek Bures · 12 comments

System Information
Operating system: Win7
Graphics card:

Blender Version
Broken: 2.90.0+
Worked: 2.83.6
Caused by deaff945d0

Short description of error
When you create specific setup with two objects and with two modifiers and switch to Edit mode or UV edit mode, Blender crashes.

Exact steps for others to reproduce the error

  1. create target object
  2. create object2 with modifiers Vertex Weight Proximity and Data Transfer
  3. create Vertex group for object2 and assign all vertices
  4. Set modifier Vertex Weight Proximity: set existed Vertex Group, set Target Object, set Proximity Mode - Geometry, set Geometry Face
  5. Set Data Transfer: set Source - target object, use Face Corner Data, switch to UVs
  6. Select target object and switch to Edit mode or UV edit mode - Blender crash

Blender may also crash when Custom Normals or Vertex Colors are used in Data Transfer modifier, but I cannot replicate it successfully.

Modifiers_Crash.blend

**System Information** Operating system: Win7 Graphics card: **Blender Version** Broken: 2.90.0+ Worked: 2.83.6 Caused by deaff945d0 **Short description of error** When you create specific setup with two objects and with two modifiers and switch to Edit mode or UV edit mode, Blender crashes. **Exact steps for others to reproduce the error** 1. create target object 2. create object2 with modifiers Vertex Weight Proximity and Data Transfer 3. create Vertex group for object2 and assign all vertices 4. Set modifier Vertex Weight Proximity: set existed Vertex Group, set Target Object, set Proximity Mode - Geometry, set Geometry Face 5. Set Data Transfer: set Source - target object, use Face Corner Data, switch to UVs 6. Select target object and switch to Edit mode or UV edit mode - Blender crash Blender may also crash when Custom Normals or Vertex Colors are used in Data Transfer modifier, but I cannot replicate it successfully. [Modifiers_Crash.blend](https://archive.blender.org/developer/F8903334/Modifiers_Crash.blend)
Author

Added subscriber: @BorekBures

Added subscriber: @BorekBures
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

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

Changed status from 'Needs Triage' to: 'Confirmed'
Philipp Oeser self-assigned this 2020-09-21 16:19:01 +02:00
Member

Can confirm, will check.

Can confirm, will check.

This issue was referenced by d037ac315b

This issue was referenced by d037ac315b4dba2278a77d2db7b3b98861b3d093

Added subscriber: @Baardaap

Added subscriber: @Baardaap
Philipp Oeser was unassigned by Martijn Versteegh 2020-09-21 18:05:14 +02:00
Campbell Barton was assigned by Martijn Versteegh 2020-09-21 18:05:14 +02:00

I bisected it to git commit deaff945d0

feel free to assign to someone else if Campbell Baron is the wrong person. Sine Campbell Barton committed that patch I though it good idea to ping him.

Is that the proper way to do it over here?

I bisected it to git commit deaff945d0b965d1e588cdecd084080b07db2e1f feel free to assign to someone else if Campbell Baron is the wrong person. Sine Campbell Barton committed that patch I though it good idea to ping him. Is that the proper way to do it over here?
Campbell Barton was unassigned by Philipp Oeser 2020-09-21 18:16:18 +02:00
Member

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Member

Since Campbell Barton committed that patch I though it good idea to ping him.

Usually, tasks are left unassigned to developers (unless someone claims explicitly from the corresponding module team).
I sometimes claim tasks as well to indicate that I'll do further investigations/fixing (and then also do the bisect mostly or do a fix if I find one as seen in as seen in D8973).

So generally speaking: if this is claimed already, it doesnt make to much sense to reassign to someone else or do further investigations on it [in this case, we both did the bisect etc.]
(but thx for the effort anyways!)

My fix is a bit of a stab in the dark, so will leave for the Module team again to pick up... (meaning: unassigning @ideasman42 again)

> Since Campbell Barton committed that patch I though it good idea to ping him. Usually, tasks are left unassigned to developers (unless someone claims explicitly from the corresponding module team). I sometimes claim tasks as well to indicate that I'll do further investigations/fixing (and then also do the bisect mostly or do a fix if I find one as seen in as seen in [D8973](https://archive.blender.org/developer/D8973)). So generally speaking: if this is claimed already, it doesnt make to much sense to reassign to someone else or do further investigations on it [in this case, we both did the bisect etc.] (but thx for the effort anyways!) My fix is a bit of a stab in the dark, so will leave for the Module team again to pick up... (meaning: unassigning @ideasman42 again)
Philipp Oeser changed title from Crash when switching to edit mode or UV edit mode of the modifiers target object to Weight Proximity modifier: crash going to editmode on a target in certain situations 2020-09-21 18:17:38 +02:00

[in this case, we both did the bisect etc.]

I understand that is rather inefficient. As mentioned on devtalk I took on his bisection mainly as an exercise to get to know the codebase/buildsystem better, and I was (extremely) unsure if anything would come off it, hence I didn't claim anything. When I started my work it wasn't clamied yet, btw, otherwise I would have picked another crash.

That I actually succeeded in bisecting it was more of a happy collateral :-). Sorry for letting you do the work as well. I maybe should have claimed it and 'unclaimed' afterwards? I'll quit blabbing here and open up a topic over on devtalk to get educated about the proper etiquette over here...

> [in this case, we both did the bisect etc.] I understand that is rather inefficient. As mentioned on devtalk I took on his bisection mainly as an exercise to get to know the codebase/buildsystem better, and I was (extremely) unsure if anything would come off it, hence I didn't claim anything. When I started my work it wasn't clamied yet, btw, otherwise I would have picked another crash. That I actually succeeded in bisecting it was more of a happy collateral :-). Sorry for letting you do the work as well. I maybe should have claimed it and 'unclaimed' afterwards? I'll quit blabbing here and open up a topic over on devtalk to get educated about the proper etiquette over here...
Member

Changed status from 'Confirmed' to: 'Resolved'

Changed status from 'Confirmed' to: 'Resolved'
Philipp Oeser self-assigned this 2020-09-22 09:49:29 +02:00
Member

In #80996#1020769, @Baardaap wrote:

[in this case, we both did the bisect etc.]

I understand that is rather inefficient. As mentioned on devtalk I took on his bisection mainly as an exercise to get to know the codebase/buildsystem better, and I was (extremely) unsure if anything would come off it, hence I didn't claim anything. When I started my work it wasn't clamied yet, btw, otherwise I would have picked another crash.

That I actually succeeded in bisecting it was more of a happy collateral :-). Sorry for letting you do the work as well. I maybe should have claimed it and 'unclaimed' afterwards? I'll quit blabbing here and open up a topic over on devtalk to get educated about the proper etiquette over here...

I dont think we have a clear guideline on this.
I would assume it is enough leaving a comment for doing the bisect right away.
Then, if one is doing more investigations aiming at the fix, leave another comment for this as well?
Of course, claiming is also OK if chances are high that you can find a fix.
Just make sure to leave in a clean state ("will investigate" --> cannot find a fix --> leave comment with findings so far but staing "fix cannot be found", or: claim --> investigate --> cannot find a fix --> unassign again).

This has happened to me as well btw., it can easily happen to get sidetracked or something more urgent comes up, then forget to update the task with where you are regarding bisect / investigations...

> In #80996#1020769, @Baardaap wrote: >> [in this case, we both did the bisect etc.] > > I understand that is rather inefficient. As mentioned on devtalk I took on his bisection mainly as an exercise to get to know the codebase/buildsystem better, and I was (extremely) unsure if anything would come off it, hence I didn't claim anything. When I started my work it wasn't clamied yet, btw, otherwise I would have picked another crash. > > That I actually succeeded in bisecting it was more of a happy collateral :-). Sorry for letting you do the work as well. I maybe should have claimed it and 'unclaimed' afterwards? I'll quit blabbing here and open up a topic over on devtalk to get educated about the proper etiquette over here... I dont think we have a clear guideline on this. I would assume it is enough leaving a comment for doing the bisect right away. Then, if one is doing more investigations aiming at the fix, leave another comment for this as well? Of course, claiming is also OK if chances are high that you can find a fix. Just make sure to leave in a clean state ("will investigate" --> cannot find a fix --> leave comment with findings so far but staing "fix cannot be found", or: claim --> investigate --> cannot find a fix --> unassign again). This has happened to me as well btw., it can easily happen to get sidetracked or something more urgent comes up, then forget to update the task with where you are regarding bisect / investigations...
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
4 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#80996
No description provided.