Maniphest T101674

Assert on sculpting with Dyntopo
Closed, ResolvedBUG

Assigned To
Joseph Eagar (joeedh)
Authored By
Pratik Borhade (PratikPB2123)
Oct 7 2022, 12:52 PM
Tags
  • BF Blender
  • Sculpt, Paint & Texture
Subscribers
Joseph Eagar (joeedh)
Omar Emara (OmarSquircleArt)
Pratik Borhade (PratikPB2123)
Steffen Dünner (SteffenD)
TheRedWaxPolice (TheRedWaxPolice)

Description

System Information
Operating system: Windows-10-10.0.22000-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 3050 Laptop GPU/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 512.78

Blender Version
Broken: 3.4, f43c2d9abe0f8b6efca8fa803774a065a6749a88
Worked: unsure but it's a regression for sure

Short description of error
assert hit BLI_assert(elem) when sculpting with dyntopo in debug (lite) build
I've also been getting crash in release build earlier but not very frequently.

Perhaps related T101502: Regression: Artifacts/crash when sculpting with Dyntopo ?

Exact steps for others to reproduce the error

  • Open default scene
  • Switch to sculpt mode
  • Enable Dyntopo
  • Attempt to sculpt the cube
 	blender.exe!_BLI_assert_abort() Line 47	C
>	blender.exe!GPU_batch_elembuf_set(GPUBatch * batch, GPUIndexBuf * elem, bool own_ibo) Line 136	C++
 	blender.exe!PBVHBatches::create_index(PBVH_GPU_Args * args) Line 1162	C++
 	blender.exe!PBVHBatches::check_index_buffers(PBVH_GPU_Args * args) Line 1171	C++
 	blender.exe!PBVHBatches::update(PBVH_GPU_Args * args) Line 696	C++
 	blender.exe!DRW_pbvh_node_update(PBVHBatches * batches, PBVH_GPU_Args * args) Line 1216	C++
 	blender.exe!pbvh_update_draw_buffer_cb(void * userdata, const int n, const TaskParallelTLS * UNUSED_tls) Line 1376	C
 	blender.exe!BLI_task_parallel_range(int start, int stop, void * userdata, void(*)(void *, int, const TaskParallelTLS *) func, const TaskParallelSettings * settings) Line 129	C++
 	blender.exe!pbvh_update_draw_buffers(PBVH * pbvh, PBVHNode * * nodes, int totnode, int update_flag) Line 1434	C
 	blender.exe!BKE_pbvh_draw_cb(PBVH * pbvh, bool update_only_visible, PBVHFrustumPlanes * update_frustum, PBVHFrustumPlanes * draw_frustum, void(*)(void *, PBVHBatches *, PBVH_GPU_Args *) draw_fn, void * user_data, bool UNUSED_full_render, PBVHAttrReq * attrs, int attrs_num) Line 2835	C
 	blender.exe!drw_sculpt_generate_calls(DRWSculptCallbackData * scd) Line 1362	C++
 	blender.exe!DRW_shgroup_call_sculpt_with_materials(DRWShadingGroup * * shgroups, GPUMaterial * * gpumats, int num_shgroups, Object * ob) Line 1509	C++
 	blender.exe!workbench_cache_sculpt_populate(WORKBENCH_PrivateData * wpd, Object * ob, eV3DShadingColorType color_type) Line 119	C
 	blender.exe!workbench_cache_populate(void * ved, Object * ob) Line 427	C
 	blender.exe!drw_engines_cache_populate(Object * ob) Line 1061	C
 	blender.exe!DRW_draw_render_loop_ex(Depsgraph * depsgraph, RenderEngineType * engine_type, ARegion * region, View3D * v3d, GPUViewport * viewport, const bContext * evil_C) Line 1712	C
 	blender.exe!DRW_draw_view(const bContext * C) Line 1617	C
 	blender.exe!view3d_draw_view(const bContext * C, ARegion * region) Line 1552	C++
 	blender.exe!view3d_main_region_draw(const bContext * C, ARegion * region) Line 1587	C++
 	blender.exe!ED_region_do_draw(bContext * C, ARegion * region) Line 550	C
 	blender.exe!wm_draw_window_offscreen(bContext * C, wmWindow * win, bool stereo) Line 945	C
 	blender.exe!wm_draw_window(bContext * C, wmWindow * win) Line 1114	C
 	blender.exe!wm_draw_update(bContext * C) Line 1372	C
 	blender.exe!WM_main(bContext * C) Line 647	C
 	blender.exe!main(int argc, const unsigned char * * UNUSED_argv_c) Line 579	C

Revisions and Commits

rB Blender

Event Timeline

Pratik Borhade (PratikPB2123) created this task.Oct 7 2022, 12:52 PM
Pratik Borhade (PratikPB2123) updated the task description.
Pratik Borhade (PratikPB2123) added subscribers: Joseph Eagar (joeedh), Steffen Dünner (SteffenD).
TheRedWaxPolice (TheRedWaxPolice) added a subscriber: TheRedWaxPolice (TheRedWaxPolice).Oct 7 2022, 2:41 PM
Pratik Borhade (PratikPB2123) added a project: Sculpt, Paint & Texture.Oct 10 2022, 5:32 AM
Omar Emara (OmarSquircleArt) changed the task status from Needs Triage to Confirmed.Oct 10 2022, 1:46 PM
Omar Emara (OmarSquircleArt) triaged this task as High priority.
Omar Emara (OmarSquircleArt) added a subscriber: Omar Emara (OmarSquircleArt).

Can reproduce the assert with instability as well, so raising priority.

Julien Kaspar (JulienKaspar) moved this task from Backlog to Bugs on the Sculpt, Paint & Texture board.Oct 10 2022, 2:45 PM
Julien Kaspar (JulienKaspar) changed the subtype of this task from "Report" to "Bug".
Joseph Eagar (joeedh) added a comment.Oct 10 2022, 11:06 PM

Why is there an assert there? Index buffers are allowed to be null, it just means verts are arranged as triangles already.

Joseph Eagar (joeedh) closed this task as Resolved by committing rBdc1418e5d91e: Sculpt: Fix T101674: Passing null to GPU_batch_elembuf_set.Oct 10 2022, 11:08 PM
Joseph Eagar (joeedh) claimed this task.
Joseph Eagar (joeedh) added a commit: rBdc1418e5d91e: Sculpt: Fix T101674: Passing null to GPU_batch_elembuf_set.