Page MenuHome

Crash when assign material
Closed, ResolvedPublic

Description

System Information
win 10 pro gtx 970

Blender Version
Broken: 2.80.30

Short description of error
Crash when assign material "мармур" to any other object, like 0_curve_.001

Exact steps for others to reproduce the error
_

Revisions and Commits

Event Timeline

Philipp Oeser (lichtwerk) lowered the priority of this task from 90 to 50.

can confirm an assert/crash and multiple issues here.

1. CoW asserts

BLI_assert((id->tag & LIB_TAG_COPIED_ON_WRITE) == 0);
Originates in Material Preview rendering and then fails for nodegroups (e.g. "NTFacingAngle")
This goes away if I call .user_clear() on all nodegroups, save file and reopen again.

@Sergey Sharybin (sergey): not aware of these CoW issues with nodegroups, is this a known thing? mind having a look?

1   raise                                                                                      0x7ffff467053f 
2   abort                                                                                      0x7ffff465a895 
3   DEG::Depsgraph::add_id_node                           depsgraph.cc                    338  0x2edeef7      
4   DEG::DepsgraphNodeBuilder::add_id_node                deg_builder_nodes.cc            175  0x2eebd40      
5   DEG::DepsgraphNodeBuilder::build_nodetree             deg_builder_nodes.cc            1418 0x2eef83b      
6   DEG::DepsgraphNodeBuilder::build_nodetree             deg_builder_nodes.cc            1473 0x2eefad6      
7   DEG::DepsgraphNodeBuilder::build_material             deg_builder_nodes.cc            1502 0x2eefc74      
8   DEG::DepsgraphNodeBuilder::build_object_data_geometry deg_builder_nodes.cc            1228 0x2eeed38      
9   DEG::DepsgraphNodeBuilder::build_object_data          deg_builder_nodes.cc            683  0x2eed347      
10  DEG::DepsgraphNodeBuilder::build_object               deg_builder_nodes.cc            604  0x2eecf5c      
11  DEG::DepsgraphNodeBuilder::build_view_layer           deg_builder_nodes_view_layer.cc 112  0x2eff6be      
12  DEG_graph_build_from_view_layer                       depsgraph_build.cc              217  0x2ee3509      
13  DEG_graph_relations_update                            depsgraph_build.cc              290  0x2ee3775      
14  BKE_scene_graph_update_for_newframe                   scene.c                         1453 0x2b5d4cc      
15  engine_depsgraph_init                                 external_engine.c               500  0x22d690f      
16  RE_engine_render                                      external_engine.c               729  0x22d732f      
17  do_render_3d                                          pipeline.c                      1101 0x22decfa      
18  RE_PreviewRender                                      pipeline.c                      2621 0x22e34f9      
19  shader_preview_render                                 render_preview.c                861  0x21ee3aa      
20  shader_preview_startjob                               render_preview.c                899  0x21ee4db

2. Material errors with Normal Map Nodes set to tangent space (and specific UV)

BLI_assert(CustomData_number_of_layers(&rdata->cd.output.ldata, CD_TANGENT) == rdata->cd.layers.tangent_len);
Happens on the "Carrot" materials (e.g. MACarrot Sliced, etc).
This goes away if I call .user_clear() on all these materials, save file and reopen again.
(alternatively, it should be sufficient to not specify a specific UV map in the Normal Map node -- havent tested this though...)
This has already been reported in T57664, so I guess we can leave that out for now...

1   raise                                                               0x7ffff467053f 
2   abort                                                               0x7ffff465a895 
3   mesh_render_data_create_ex              draw_cache_impl_mesh.c 902  0x27ae3d7      
4   DRW_mesh_batch_cache_get_surface_shaded draw_cache_impl_mesh.c 5252 0x27cb39b      
5   DRW_cache_mesh_surface_shaded_get       draw_cache.c           3116 0x283d7c6      
6   DRW_cache_object_surface_material_get   draw_cache.c           749  0x2835fdb      
7   EEVEE_materials_cache_populate          eevee_materials.c      1533 0x2813d00      
8   EEVEE_render_cache                      eevee_render.c         188  0x2817493      
9   DRW_render_object_iter                  draw_manager.c         1856 0x27d7270      
10  eevee_render_to_image                   eevee_engine.c         431  0x280078a      
11  DRW_render_to_image                     draw_manager.c         1812 0x27d708a      
12  RE_engine_render                        external_engine.c      739  0x22d73bb      
13  do_render_3d                            pipeline.c             1101 0x22decfa      
14  RE_PreviewRender                        pipeline.c             2621 0x22e34f9      
15  shader_preview_render                   render_preview.c       861  0x21ee3aa      
16  shader_preview_startjob                 render_preview.c       899  0x21ee4db      
17  icon_preview_startjob                   render_preview.c       1098 0x21eedc3      
18  common_preview_startjob                 render_preview.c       1117 0x21eee4e

Here is a way simpler file which demonstrates the CoW issue:

P.S. Simply go to material tab.

I did fix the depsgraph/copy-on-write issue now.

As Philipp mentions, the tangent/UV bug is already reported. No need to have duplicated report about it.

Thanks for the report!