System Information
Operating system: Windows-10-10.0.19042-SP0 64 Bits
Graphics card: NVIDIA GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 472.12
Blender Version
Broken: version: 3.1.0 Alpha. Commit hash: rB1620dcd208a915
Worked: Unsure
Short description of error
Triangulating a specific mesh in a specific object causes an assertion failure in the debug build.
Exact steps for others to reproduce the error
Without setup:
- Open the triangulate-bug.blend file
- Select Original and enter Edit Mode
- Run the Triangulate Faces operator
- Assert failure
Manual setup:
- Open the triangulate-bug.blend file
- Select DIY and enter Edit Mode
- Add a plane, merge at center to get a single vertex
- Duplicate three times to get four vertices
- Select all of the vertices and fill, producing a quad
- Select three of the vertices and fill, producing a tri
- Select all of the vertices and run the Triangulate Faces operator
- Assert failure
Creating a brand-new object and following the same steps does not cause an assertion failure. However, using a copy of the object that caused the problem (even after deleting all of its vertices, which is how I made the DIY object) causes the assertion failure.
Just adding a plane to DIY in edit mode and adding a triangle face does not cause the assertion failure. However, if I delete the face (and only the face), then fill to create a quad, then fill to create a tri, the error happens.
I don't have any modifiers on the offending object, and I can't really tell if there's anything "special" about it. It has no constraints, vertex groups, materials, etc. etc.
This does not cause a crash in the release build.
BLI_assert failed: D:\blender-git\blender\source\blender\bmesh\intern\bmesh_mesh_normals.c:523, bm_mesh_loops_calc_normals_for_loop(), at '(bm->elem_index_dirty & (BM_FACE | BM_LOOP)) == 0'
Full error output: P2637
