Page MenuHome

Crash: Adding UV's in edit-mode with linked duplicates
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 660 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.87

Blender Version
Broken: version: 2.83.0, branch: master, commit date: 2020-06-03 14:38, hash: rB211b6c29f771
Happens in Blender 2.82a

Short description of error
Blender crashes when trying to unwrap using: U->Follow Active Quads
On instanced/linked object (Alt+D)
https://youtu.be/IwPARjhyfgA

Crash log:

Exact steps for others to reproduce the error

  • Open this attached file
  • Add UV or hit U->Follow Active Quads.

Event Timeline

Strange, works fine for me on Windows 10 64 bits here.

Same here, no issues on Blender 2.83.0 with Linux.

Seeing as it also occurred in 2.82a for @Adam (50p) suggests it's a issue with their hardware or the file.

@Adam (50p) are you able to:

  1. Upload the .blend file.
  2. Upload crash information. This can be done by navigating to the Blender installation folder, run blender_debug_log.cmd, do what you need to get Blender to crash. Once it's crashed, a file explorer should open with two files, upload both of them to here.
Campbell Barton (campbellbarton) changed the task status from Needs Triage to Needs Information from User.Jun 4 2020, 2:03 PM

Please provide simple blend file to redo the error.

Here is the file:

I can reproduce the crash with the file provided. Will investigate further.

Alaska (Alaska) changed the task status from Needs Information from User to Needs Triage.Jun 5 2020, 7:43 AM
Alaska (Alaska) updated the task description. (Show Details)

Upon further investigation, it has something to do with the bevel modifier, however I'm still having trouble reproducing the issue with a new file/object. Will continue the investigation.

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Jun 8 2020, 2:24 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".

I can confirm. But I still don't know exactly what causes the problem.
It seems to be related to linked mesh, Modifiers and UV.

 	ucrtbased.dll!00007ffabda3fcb1()	Unknown
>	blender.exe!GPU_vertformat_safe_attr_name(const unsigned char * attr_name, unsigned char * r_safe_name, unsigned int UNUSED_max_len) Line 283	C
 	blender.exe!extract_uv_init(const MeshRenderData * mr, void * buf) Line 1844	C
 	blender.exe!extract_init(ExtractTaskData * data) Line 4633	C
 	blender.exe!extract_init_and_run(void * taskdata) Line 4656	C
 	blender.exe!extract_single_threaded_task_node_exec(void * task_data) Line 4727	C
 	blender.exe!TaskNode::run::__l2::<lambda>() Line 97	C++
 	blender.exe!tbb::interface7::internal::delegated_function<void <lambda>(void) const ,void>::operator()() Line 94	C++
 	[External Code]	
 	blender.exe!tbb::interface7::internal::isolate_impl<void,void <lambda>(void) const>(const TaskNode::run::__l2::void <lambda>(void) & f) Line 161	C++
 	blender.exe!tbb::interface7::this_task_arena::isolate<void <lambda>(void)>(const TaskNode::run::__l2::void <lambda>(void) & f) Line 396	C++
 	blender.exe!TaskNode::run(const tbb::flow::interface11::continue_msg UNUSED_input) Line 98	C++
 	[External Code]	
 	blender.exe!tbb::flow::interface11::internal::function_body_leaf<tbb::flow::interface11::continue_msg,tbb::flow::interface11::continue_msg,std::_Binder<std::_Unforced,tbb::flow::interface11::continue_msg (__cdecl TaskNode::*)(tbb::flow::interface11::continue_msg),TaskNode *,std::_Ph<1> const &>>::operator()(const tbb::flow::interface11::continue_msg & i) Line 147	C++
 	blender.exe!tbb::flow::interface11::internal::continue_input<tbb::flow::interface11::continue_msg,tbb::flow::interface11::internal::Policy<void>>::apply_body_bypass(tbb::flow::interface11::continue_msg __formal) Line 822	C++
 	blender.exe!tbb::flow::interface11::internal::apply_body_task_bypass<tbb::flow::interface11::internal::continue_input<tbb::flow::interface11::continue_msg,tbb::flow::interface11::internal::Policy<void>>,tbb::flow::interface11::continue_msg>::execute() Line 312	C++
 	[External Code]	
 	blender.exe!tbb::task::wait_for_all() Line 810	C++
 	blender.exe!tbb::flow::interface10::graph::wait_functor::operator()() Line 252	C++
 	blender.exe!tbb::interface7::internal::delegated_function<tbb::flow::interface10::graph::wait_functor const ,void>::operator()() Line 94	C++
 	[External Code]	
 	blender.exe!tbb::interface7::task_arena::execute_impl<void,tbb::flow::interface10::graph::wait_functor const>(const tbb::flow::interface10::graph::wait_functor & f) Line 217	C++
 	blender.exe!tbb::interface7::task_arena::execute<tbb::flow::interface10::graph::wait_functor>(const tbb::flow::interface10::graph::wait_functor & f) Line 357	C++
 	blender.exe!tbb::flow::interface10::graph::wait_for_all() Line 347	C++
 	blender.exe!BLI_task_graph_work_and_wait(TaskGraph * task_graph) Line 132	C++
 	blender.exe!DRW_mesh_batch_cache_create_requested(TaskGraph * task_graph, Object * ob, Mesh * me, const Scene * scene, const bool is_paint_mode, const bool use_hide) Line 1440	C
 	blender.exe!drw_batch_cache_generate_requested(Object * ob) Line 3539	C
 	blender.exe!drw_engines_cache_populate(Object * ob) Line 1019	C
 	blender.exe!DRW_draw_render_loop_ex(Depsgraph * depsgraph, RenderEngineType * engine_type, ARegion * region, View3D * v3d, GPUViewport * viewport, const bContext * evil_C) Line 1480	C
 	blender.exe!DRW_draw_view(const bContext * C) Line 1397	C
 	blender.exe!view3d_draw_view(const bContext * C, ARegion * region) Line 1609	C
 	blender.exe!view3d_main_region_draw(const bContext * C, ARegion * region) Line 1634	C
 	blender.exe!ED_region_do_draw(bContext * C, ARegion * region) Line 543	C
 	blender.exe!wm_draw_window_offscreen(bContext * C, wmWindow * win, bool stereo) Line 689	C
 	blender.exe!wm_draw_window(bContext * C, wmWindow * win) Line 812	C
 	blender.exe!wm_draw_update(bContext * C) Line 1013	C
 	blender.exe!WM_main(bContext * C) Line 482	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 530	C
 	[External Code]

The mesh itself seems to be the issue. If you run with --debug blender will complain about Invalid clnors in this fan!. I'm not sure if this is a DRW bug or a Bmesh one.

  • The crash also happens if you try to add a primitive mesh o the existing mesh (in edit mode > Shift + A > Add Cube).
  • Using another modifier (like subdiv) also crash.
  • Removing modifiers from BOTH instances fixes the issue.

In the middle of looking into this, it seems there is a mix-up between the meshes, as the edit-meshes modifier result has UV's and the other object which isn't using the edit-mesh doesn't have UV's. Need to look into this further.

Uploaded a simplified test file.

Campbell Barton (campbellbarton) renamed this task from Crash 2.83: Unwrap - Follow Active Quads to Crash: Adding UV's in edit-mode.Aug 5 2020, 2:27 PM
Campbell Barton (campbellbarton) renamed this task from Crash: Adding UV's in edit-mode to Crash: Adding UV's in edit-mode with linked duplicates.Thu, Aug 20, 1:19 AM

I have been testing https://developer.blender.org/P1596 and it solves the issue. I think it is good to be added to 2.90 (and 2.83)