Maniphest T76053

Rigid Body properties disappears after deleting rigid body constraint object and undoing
Closed, ResolvedBUG

Assigned To
Bastien Montagne (mont29)
Authored By
Vidar Madsen (vidarino)
Apr 24 2020, 3:44 PM
Tags
  • Nodes & Physics
  • BF Blender (2.83)
  • Pipeline, Assets & I/O
Subscribers
Bastien Montagne (mont29)
Brecht Van Lommel (brecht)
Vidar Madsen (vidarino)

Description

System Information
Operating system: Windows-10-10.0.17134-SP0 64 Bits
Graphics card: Quadro K1100M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 425.91

Blender Version
Broken: version: 2.83 (sub 15), branch: master, commit date: 2020-04-23 21:07, hash: rBd712f1f83af8
Worked: (newest version of Blender that worked as expected)

Short description of error
Rigid Body properties disappears from objects after deleting a Rigid Body Constraint and then undoing it.

Example file

  • From new scene, select the Default Cube and duplicate it. Move copy up a bit.
  • Add Mesh -> Plane, then move it down a bit. Object->Rigid Body->Add Passive.
  • Select both cubes and Object->Rigid Body->Add Active
  • With both cubes selected, Object->Rigid Body->Connect

Exact steps for others to reproduce the error

  • Open file
  • Play animation
  • Delete "Constraint" object which holds the RB Constraint.
  • Undo.

Select one of the cubes and see that Physics / Rigid Body properties are now gone.

Interestingly, opening the file, deleting the constraint then immediately undoing without ever having played animation seems not to produce the bug. Perhaps the behaviour is related to frame change?

Deleting the Constraint then undoing *twice* (to the point *before* selecting the Constraint) seems to restore the correct state.

Revisions and Commits

rB Blender

Event Timeline

Vidar Madsen (vidarino) created this task.Apr 24 2020, 3:44 PM
Vidar Madsen (vidarino) mentioned this in T60695: Optimized per-datablock global undo.Apr 27 2020, 1:16 PM
Richard Antalik (ISS) renamed this task from Rigid Body properties disappears from objects after deleting a Rigid Body Constraint and then undoing it. to Rigid Body properties disappears after deleting rigid body constraint object and undoing.Apr 27 2020, 4:20 PM
Richard Antalik (ISS) changed the task status from Needs Triage to Confirmed.
Richard Antalik (ISS) updated the task description.
Richard Antalik (ISS) added a project: Nodes & Physics.
Vidar Madsen (vidarino) added a comment.Apr 27 2020, 5:53 PM

While v2.83-beta just got "confused", a current Debug build crashes with the following stack trace:

Info: Deleted 1 object(s)

35: BLI_system_backtrace - 0x7FF7969C5C80
34: rigidbody_update_simulation - 0x7FF78F85B9E0
33: BKE_rigidbody_rebuild_world - 0x7FF78F857D30
32: BKE_rigidbody_rebuild_sim - 0x7FF78F857C40
31: std::_Invoker_functor::_Call<void (__cdecl*&)(Depsgraph *,Scene *),Depsgraph *,Scene * &> - 0x7FF790F1A8E0
30: std::invoke<void (__cdecl*&)(Depsgraph *,Scene *),Depsgraph *,Scene * &> - 0x7FF790F2D780
29: std::_Invoker_ret<std::_Unforced,0>::_Call<void (__cdecl*&)(Depsgraph *,Scene *),Depsgraph *,Scene * &> - 0x7FF790F1A820
28: std::_Call_binder<std::_Unforced,0,1,void (__cdecl*)(Depsgraph *,Scene *),std::tuple<std::_Ph<1>,Scene *>,std::tuple<Depsgraph * &&> > - 0x7FF790F1E940
27: std::_Binder<std::_Unforced,void (__cdecl&)(Depsgraph *,Scene *),std::_Ph<1> const &,Scene * &>::operator()<Depsgraph *> - 0x7FF790F18B20
26: std::_Invoker_functor::_Call<std::_Binder<std::_Unforced,void (__cdecl&)(Depsgraph *,Scene *),std::_Ph<1> const &,Scene * &> &,Depsgraph *> - 0x7FF790F1C7A0
25: std::invoke<std::_Binder<std::_Unforced,void (__cdecl&)(Depsgraph *,Scene *),std::_Ph<1> const &,Scene * &> &,Depsgraph *> - 0x7FF790F2E6F0
24: std::_Invoker_ret<void,1>::_Call<std::_Binder<std::_Unforced,void (__cdecl&)(Depsgraph *,Scene *),std::_Ph<1> const &,Scene * &> &,Depsgraph *> - 0x7FF790F1C700
23: std::_Func_impl_no_alloc<std::_Binder<std::_Unforced,void (__cdecl&)(Depsgraph *,Scene *),std::_Ph<1> const &,Scene * &>,void,Depsgraph *>::_Do_call - 0x7FF790F3BD30
22: std::_Func_class<void,Depsgraph *>::operator() - 0x7FF790F7F180
21: DEG::`anonymous namespace'::evaluate_node - 0x7FF790F7FBB0
20: DEG::`anonymous namespace'::deg_task_run_func - 0x7FF790F7F8C0
19: BLI_task_pool_work_and_wait - 0x7FF796A72A50
18: DEG::deg_evaluate_on_refresh - 0x7FF790F7F670
17: DEG_evaluate_on_framechange - 0x7FF790EAA5B0
16: BKE_scene_graph_update_for_newframe - 0x7FF78F682480
15: ED_update_for_newframe - 0x7FF7903FEEC0
14: screen_animation_step - 0x7FF790428AA0
13: wm_operator_invoke - 0x7FF78FAACF10
12: wm_handler_operator_call - 0x7FF78FAA8330
11: wm_handlers_do_keymap_with_keymap_handler - 0x7FF78FAAB550
10: wm_handlers_do_intern - 0x7FF78FAAA8B0
9: wm_handlers_do - 0x7FF78FAA9350
8: wm_event_do_handlers - 0x7FF78FAA3F00
7: WM_main - 0x7FF78FA7A6A0
6: main - 0x7FF78F297840
5: invoke_main - 0x7FF797B3CFA0
4: __scrt_common_main_seh - 0x7FF797B3CD50
3: __scrt_common_main - 0x7FF797B3CD30
2: mainCRTStartup - 0x7FF797B3D060
1: BaseThreadInitThunk - 0x7FFD6FEE4020
0: RtlUserThreadStart - 0x7FFD722D3670
BLI_assert failed: c:\...\blender-git\blender\source\blender\blenkernel\intern\rigidbody.c:1729, rigidbody_update_simulation(), at '!"CoW object part of RBW object collection without RB object data, " "should not happen.\n"'

Probably not too useful, as I suspect the damage has been done prior to rigidbody_update_simulation(), but who knows.

Brecht Van Lommel (brecht) triaged this task as High priority.May 1 2020, 7:13 PM
Brecht Van Lommel (brecht) added subscribers: Bastien Montagne (mont29), Brecht Van Lommel (brecht).

Might be an issue in the new undo code, so marking as high.

Philipp Oeser (lichtwerk) changed the subtype of this task from "Report" to "Bug".May 5 2020, 11:09 AM
Dalai Felinto (dfelinto) assigned this task to Bastien Montagne (mont29).May 11 2020, 2:34 PM
Brecht Van Lommel (brecht) edited projects, added BF Blender (2.83), Pipeline, Assets & I/O; removed BF Blender.May 11 2020, 8:17 PM
Brecht Van Lommel (brecht) moved this task from Backlog to bcon3: Bugs on the BF Blender (2.83) board.May 11 2020, 8:21 PM
Bastien Montagne (mont29) moved this task from Backlog to Bugs on the Pipeline, Assets & I/O board.May 12 2020, 9:59 AM
Bastien Montagne (mont29) closed this task as Resolved by committing rB8da7ab11cf63: Fix T76053: Rigid Body properties disappears after deleting rigid body….May 12 2020, 4:16 PM
Bastien Montagne (mont29) added a commit: rB8da7ab11cf63: Fix T76053: Rigid Body properties disappears after deleting rigid body….