Page MenuHome

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

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.

Event Timeline

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. (Show Details)

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

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