Page MenuHome

Library Override - Custom Property to Drive Child Particles results in Crash
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.17134-SP0 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 442.92

Blender Version
Broken: version: 2.90.0, branch: master, commit date: 2020-08-31 11:26, hash: rB0330d1af29c0
Worked: not so much 'worked', but it didn't crash in 2.83

Short description of error
A custom property on an armature bone drives the amount of children particles on an object. Linking the collection of object and armature, and using Library Override will result in a crash when entering Pose Mode.

Exact steps for others to reproduce the error

  1. Start new blend file
  2. Link in collection 'Hairball' from attached blend file 'CustomPropery_ChildrenParticles'
  3. go to menu Object->Relations->Make Library Override
  4. select the armature object, enter pose mode & select the bone

Crash

Event Timeline

Richard Antalik (ISS) changed the task status from Needs Triage to Confirmed.Fri, Sep 11, 4:16 AM

Exception thrown: read access violation. C was nullptr.

>	blender.exe!CTX_py_dict_get(const bContext * C) Line 227	C
 	blender.exe!rna_property_override_diff_propptr_validate_diffing(PointerRNA * propptr_a, PointerRNA * propptr_b, const bool no_ownership, const bool no_prop_name, bool * r_is_id, bool * r_is_null, bool * r_is_type_diff, unsigned char * * r_propname_a, unsigned char * propname_a_buff, unsigned __int64 propname_a_buff_size, unsigned char * * r_propname_b, unsigned char * propname_b_buff, unsigned __int64 propname_b_buff_size) Line 1192	C
 	blender.exe!rna_property_override_diff_default(Main * bmain, PropertyRNAOrID * prop_a, PropertyRNAOrID * prop_b, const int mode, IDOverrideLibrary * override, const unsigned char * rna_path, const unsigned __int64 rna_path_len, const int flags, bool * r_override_changed) Line 1782	C
 	[Inline Frame] blender.exe!rna_property_override_diff(Main *) Line 346	C
 	blender.exe!RNA_struct_override_matches(Main * bmain, PointerRNA * ptr_local, PointerRNA * ptr_reference, const unsigned char * root_path, const unsigned __int64 root_path_len, IDOverrideLibrary * override, const eRNAOverrideMatch flags, eRNAOverrideMatchResult * r_report_flags) Line 706	C
 	blender.exe!BKE_lib_override_library_operations_create(Main * bmain, ID * local) Line 1314	C
 	[External Code]	
 	[Inline Frame] blender.exe!tbb::interface7::internal::isolate_impl(const Task::()::__l2::<lambda_4c4e9cab0012cf46ce574e5cf4859202> &) Line 160	C++
 	[Inline Frame] blender.exe!tbb::interface7::this_task_arena::isolate(const Task::()::__l2::<lambda_4c4e9cab0012cf46ce574e5cf4859202> &) Line 395	C++
 	[Inline Frame] blender.exe!Task::operator()() Line 118	C++
 	blender.exe!tbb::internal::function_task<Task>::execute() Line 1048	C++
 	[External Code]	
 	[Inline Frame] blender.exe!tbb::task::wait_for_all() Line 809	C++
 	blender.exe!tbb::internal::task_group_base::wait() Line 168	C++
 	blender.exe!BKE_lib_override_library_main_operations_create(Main * bmain, const bool force_auto) Line 1376	C
 	blender.exe!BKE_undosys_step_push_with_type(UndoStack * ustack, bContext * C, const unsigned char * name, const UndoType * ut) Line 512	C
 	blender.exe!BKE_undosys_step_push(UndoStack * ustack, bContext * C, const unsigned char * name) Line 595	C
 	blender.exe!ED_undo_push(bContext * C, const unsigned char * str) Line 117	C
 	blender.exe!wm_operator_finished(bContext * C, wmOperator * op, const bool repeat, const bool store) Line 946	C
 	blender.exe!wm_operator_invoke(bContext * C, wmOperatorType * ot, wmEvent * event, PointerRNA * properties, ReportList * reports, const bool poll_only, bool use_last_properties) Line 1338	C
 	blender.exe!wm_handler_operator_call(bContext * C, ListBase * handlers, wmEventHandler * handler_base, wmEvent * event, PointerRNA * properties, const unsigned char * kmi_idname) Line 2132	C
 	blender.exe!wm_handlers_do_keymap_with_keymap_handler(bContext * C, wmEvent * event, ListBase * handlers, wmEventHandler_Keymap * handler, wmKeyMap * keymap, const bool do_debug_handler) Line 2442	C
 	blender.exe!wm_handlers_do_intern(bContext * C, wmEvent * event, ListBase * handlers) Line 2739	C
 	blender.exe!wm_handlers_do(bContext * C, wmEvent * event, ListBase * handlers) Line 2951	C
 	blender.exe!wm_event_do_handlers(bContext * C) Line 3367	C
 	blender.exe!WM_main(bContext * C) Line 485	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 531	C
 	[External Code]
Bastien Montagne (mont29) moved this task from Backlog to Bugs on the Data, Assets & I/O board.
Bastien Montagne (mont29) changed the subtype of this task from "Report" to "Bug".