I thought i have to use the material node system because we have no “simple” material setup any longer. So my very first attempt was to just create a principled PBR and a material output node. But then one thing lead to the next and i ended up with the idea to generate a collada_material_group during import.
Right. I had a shimmer of an idea to also use some sort of collada_export_group here as a general interface for the exporter so that it has something that it can reliably ask for data.
blender.exe!issue_debug_notification(const wchar_t * const message) Line 28 C++
blender.exe!__acrt_report_runtime_error(const wchar_t * message) Line 154 C++
blender.exe!abort() Line 61 C++
blender.exe!DEG::Depsgraph::add_id_node(ID * id, ID * id_cow_hint) Line 314 C++
blender.exe!DEG::DepsgraphNodeBuilder::add_id_node(ID * id) Line 177 C++
blender.exe!DEG::DepsgraphNodeBuilder::build_nodetree(bNodeTree * ntree) Line 1401 C++
blender.exe!DEG::DepsgraphNodeBuilder::build_nodetree(bNodeTree * ntree) Line 1457 C++
blender.exe!DEG::DepsgraphNodeBuilder::build_material(Material * material) Line 1485 C++
blender.exe!DEG::DepsgraphNodeBuilder::build_object_data_geometry(Object * object, bool is_object_visible) Line 1212 C++
blender.exe!DEG::DepsgraphNodeBuilder::build_object_data(Object * object, bool is_object_visible) Line 686 C++
blender.exe!DEG::DepsgraphNodeBuilder::build_object(int base_index, Object * object, DEG::eDepsNode_LinkedState_Type linked_state, bool is_visible) Line 613 C++
blender.exe!DEG::DepsgraphNodeBuilder::build_view_layer(Scene * scene, ViewLayer * view_layer, DEG::eDepsNode_LinkedState_Type linked_state) Line 113 C++
blender.exe!DEG_graph_build_from_view_layer(Depsgraph * graph, Main * bmain, Scene * scene, ViewLayer * view_layer) Line 220 C++
blender.exe!DEG_graph_relations_update(Depsgraph * graph, Main * bmain, Scene * scene, ViewLayer * view_layer) Line 291 C++
blender.exe!BKE_scene_graph_update_for_newframe(Depsgraph * depsgraph, Main * bmain) Line 1461 C
blender.exe!engine_depsgraph_init(RenderEngine * engine, ViewLayer * view_layer) Line 501 C
blender.exe!RE_engine_render(Render * re, int do_all) Line 731 C
blender.exe!do_render_3d(Render * re) Line 1103 C
blender.exe!RE_PreviewRender(Render * re, Main * bmain, Scene * sce) Line 2623 C
blender.exe!shader_preview_render(ShaderPreview * sp, ID * id, int split, int first) Line 865 C
blender.exe!shader_preview_startjob(void * customdata, short * stop, short * do_update) Line 902 C
blender.exe!icon_preview_startjob(void * customdata, short * stop, short * do_update) Line 1103 C
blender.exe!common_preview_startjob(void * customdata, short * stop, short * do_update, float * UNUSED_progress) Line 1118 C
blender.exe!icon_preview_startjob_all_sizes(void * customdata, short * stop, short * do_update, float * progress) Line 1197 C
blender.exe!do_job_thread(void * job_v) Line 338 C
blender.exe!tslot_thread_start(void * tslot_p) Line 254 C
Maybe it is intersting to know that the add_node_id() function is called also while the group is created. But only later when i am back in the blender user interface and navigate to the material properties, then the add_node_id() function is called again and fails this time.