Maniphest T80996

Weight Proximity modifier: crash going to editmode on a target in certain situations
Closed, ResolvedBUG

Assigned To
Philipp Oeser (lichtwerk)
Authored By
Borek Bures (spiv)
Sep 20 2020, 4:48 PM
Tags
  • BF Blender
  • Modeling
  • Modifiers
Subscribers
Borek Bures (spiv)
Campbell Barton (campbellbarton)
Martijn Versteegh (Baardaap)
Philipp Oeser (lichtwerk)

Description

System Information
Operating system: Win7
Graphics card:

Blender Version
Broken: 2.90.0+
Worked: 2.83.6
Caused by rBdeaff945d0b9: Mesh: skip conversion from edit-mesh to mesh in edit-mode

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.

Revisions and Commits

rB Blender
D8973

Related Objects

Mentioned Here
rBdeaff945d0b9: Mesh: skip conversion from edit-mesh to mesh in edit-mode
D8973: Fix T80996: Weight Proximity modifier: crash going to editmode on a target in certain situations

Event Timeline

Borek Bures (spiv) created this task.Sep 20 2020, 4:48 PM
Philipp Oeser (lichtwerk) changed the task status from Needs Triage to Confirmed.Sep 21 2020, 4:19 PM
Philipp Oeser (lichtwerk) claimed this task.
Philipp Oeser (lichtwerk) added projects: Modeling, Modifiers.
Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".
Philipp Oeser (lichtwerk) added a subscriber: Philipp Oeser (lichtwerk).

Can confirm, will check.

Martijn Versteegh (Baardaap) reassigned this task from Philipp Oeser (lichtwerk) to Campbell Barton (campbellbarton).Sep 21 2020, 6:05 PM
Martijn Versteegh (Baardaap) added a subscriber: Martijn Versteegh (Baardaap).

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?

Philipp Oeser (lichtwerk) removed Campbell Barton (campbellbarton) as the assignee of this task.Sep 21 2020, 6:16 PM
Philipp Oeser (lichtwerk) added a subscriber: Campbell Barton (campbellbarton).

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 @Campbell Barton (campbellbarton) again)

Philipp Oeser (lichtwerk) renamed this task 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.Sep 21 2020, 6:17 PM
Philipp Oeser (lichtwerk) triaged this task as High priority.
Philipp Oeser (lichtwerk) updated the task description.
Campbell Barton (campbellbarton) moved this task from Backlog to Bugs (Modifiers) on the Modeling board.Sep 22 2020, 6:41 AM
Martijn Versteegh (Baardaap) added a comment.Sep 22 2020, 9:37 AM

[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...

Philipp Oeser (lichtwerk) closed this task as Resolved by committing rBd037ac315b4d: Fix T80996: Weight Proximity modifier: crash going to editmode on a.Sep 22 2020, 9:49 AM
Philipp Oeser (lichtwerk) claimed this task.
Philipp Oeser (lichtwerk) added a commit: rBd037ac315b4d: Fix T80996: Weight Proximity modifier: crash going to editmode on a.
Philipp Oeser (lichtwerk) added a comment.Sep 22 2020, 10:04 AM
In T80996#1020769, @Martijn Versteegh (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...