Page MenuHome

Andrew Oates (aoates)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 15 2021, 10:46 PM (92 w, 5 d)

Recent Activity

Sep 28 2022

Andrew Oates (aoates) updated the diff for D16065: Fix T94441: fix crash parenting object to a bone.

Updated to include Sergey's P3217 and an assertion

Sep 28 2022, 7:01 PM
Andrew Oates (aoates) added a comment to T94441: Segfault in parent_set_exec with type=BONE.

For completeness, here is a standalone script that repros the bug without needing any other steps:

Sep 28 2022, 5:58 PM · Python API, BF Blender

Sep 27 2022

Andrew Oates (aoates) added a comment to D16065: Fix T94441: fix crash parenting object to a bone.

So is the point you're making that while switching the deps graph update ordering here fixed the bug I'm seeing, the fact that the graph is not already up-to-date implies a bug _elsewhere_ in another operation that should be triggering an update, but isn't?

Exactly. Perhaps the active bone assignment does not get propagated to the evaluated poses (based on just looking around). Can you check whether P3217 fixes the issue?

Sep 27 2022, 6:47 PM

Sep 26 2022

Andrew Oates (aoates) added a comment to D16065: Fix T94441: fix crash parenting object to a bone.

So is the point you're making that while switching the deps graph update ordering here fixed the bug I'm seeing, the fact that the graph is not already up-to-date implies a bug _elsewhere_ in another operation that should be triggering an update, but isn't?

Sep 26 2022, 8:28 PM
Andrew Oates (aoates) added a comment to D16065: Fix T94441: fix crash parenting object to a bone.

That's interesting. Are there any modifications to the parent object between the operator begin/invoke and the call ED_object_parent_set ?

Sep 26 2022, 7:52 PM
Andrew Oates (aoates) added a comment to T94441: Segfault in parent_set_exec with type=BONE.

Here is the most minimal repro steps I've been able to come up with. Note that it is very sensitive to the order of operations, and I don't totally understand what is going on under the hood.

Sep 26 2022, 7:51 PM · Python API, BF Blender
Andrew Oates (aoates) added a comment to D16065: Fix T94441: fix crash parenting object to a bone.

I think it is important to understand why exactly pchan can be found in the original object but not in the evaluated object.

...

But why the tag of the parent is needed here? Setting parent modifies child, not parent. And why the order is done in the way it is done? It kinda feels that the code was intending to be

DEG_id_tag_update(&par->id, ID_RECALC_TRANSFORM | ID_RECALC_GEOMETRY);
Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
Object *parent_eval = DEG_get_evaluated_object(depsgraph, par);
Sep 26 2022, 4:51 PM

Sep 25 2022

Andrew Oates (aoates) updated subscribers of D16065: Fix T94441: fix crash parenting object to a bone.

@Philipp Oeser (lichtwerk) and @Sergey Sharybin (sergey), any feedback or thoughts?

Sep 25 2022, 9:42 PM
Andrew Oates (aoates) requested review of D16065: Fix T94441: fix crash parenting object to a bone.
Sep 25 2022, 9:41 PM
Andrew Oates (aoates) added a revision to T94441: Segfault in parent_set_exec with type=BONE: D16065: Fix T94441: fix crash parenting object to a bone.
Sep 25 2022, 9:41 PM · Python API, BF Blender
Andrew Oates (aoates) created P3213 Proposed fix to T94441.
Sep 25 2022, 6:23 PM

Dec 28 2021

Andrew Oates (aoates) updated the task description for T94441: Segfault in parent_set_exec with type=BONE.
Dec 28 2021, 5:17 PM · Python API, BF Blender
Andrew Oates (aoates) created T94441: Segfault in parent_set_exec with type=BONE.
Dec 28 2021, 5:17 PM · Python API, BF Blender

Mar 7 2021

Andrew Oates (aoates) created T86368: Crash/segfault on double-tap-a in weight paint mode with mask.
Mar 7 2021, 7:46 PM · Platform: macOS, EEVEE & Viewport, BF Blender