Page MenuHome

Array Modifer crashes Blender when Merge, Adjust Edit Cage, Start/End Cap, and Edit Mode are enabled
Closed, ResolvedPublic

Description

System Information
Operating system: Mac OS High Sierra 10.13.5
Graphics card: Radeon Pro 560 4GB (Blender didn't detect it, for what that's worth)

I have a Windows bot at home I can check this for later.

Blender Version
Broken:
version: 2.80 (sub 44), branch: blender2.7, commit date: 2019-02-15 14:15, hash: faa255c0a4e4, type: Release
build date: 2019-02-15, 16:23:20

This is a pretty specific error. Create an array modifier with an end cap, start cap, or both. Now, enable merge in the array modifier, turn on edit mode, and set the modifier to show in the edit cage (it's the fourth button in the modifier settings, at the top). Now, enter edit mode and move a vertex to merge with the end/start cap object. Blender immediately crashes to desktop.


From the .blend file attatched, just enter edit mode and move some verts.

Event Timeline

Bug occurs on today's build, too.
version: 2.80 (sub 45), branch: master, commit date: 2019-02-21 14:33, hash: 8986c92b651d, type: Release
build date: 2019-02-21, 15:38:00

Sebastian Parborg (zeddb) triaged this task as Confirmed, Medium priority.

Backtrace:

Thread 1 "blender" received signal SIGSEGV, Segmentation fault.
0x000055555669db93 in bmiter__loop_of_face_begin (iter=iter@entry=0x7fffffffcb50)
    at /home/zed/programmering/blender_master/blender/source/blender/bmesh/intern/bmesh_iterators.c:702
702		iter->l_first = iter->l_next = BM_FACE_FIRST_LOOP(iter->pdata);
(gdb) bt
#0  0x000055555669db93 in bmiter__loop_of_face_begin (iter=iter@entry=0x7fffffffcb50)
    at /home/zed/programmering/blender_master/blender/source/blender/bmesh/intern/bmesh_iterators.c:702
#1  0x0000555556726a40 in BM_iter_init (data=0x0, itype=11 '\v', bm=0x0, iter=0x7fffffffcb50)
    at /home/zed/programmering/blender_master/blender/source/blender/bmesh/intern/bmesh_iterators_inline.h:154
#2  BM_iter_new (data=0x0, itype=11 '\v', bm=0x0, iter=0x7fffffffcb50)
    at /home/zed/programmering/blender_master/blender/source/blender/bmesh/intern/bmesh_iterators_inline.h:170
#3  mesh_create_edit_vertex_loops (rdata=rdata@entry=0x7fffcfa67f08, vbo_pos_nor=<optimized out>, vbo_lnor=<optimized out>, vbo_uv=vbo_uv@entry=0x0,
    vbo_data=<optimized out>, vbo_verts=<optimized out>, vbo_edges=<optimized out>, vbo_faces=<optimized out>)
    at /home/zed/programmering/blender_master/blender/source/blender/draw/intern/draw_cache_impl_mesh.c:2334
#4  0x000055555672a9fa in DRW_mesh_batch_cache_create_requested (ob=ob@entry=0x7fffe95f6c08, me=<optimized out>, ts=<optimized out>,
    is_paint_mode=<optimized out>, use_hide=<optimized out>)
    at /home/zed/programmering/blender_master/blender/source/blender/draw/intern/draw_cache_impl_mesh.c:4819
#5  0x000055555677f672 in drw_batch_cache_generate_requested (ob=ob@entry=0x7fffe95f6c08)
    at /home/zed/programmering/blender_master/blender/source/blender/draw/intern/draw_cache.c:3737
#6  0x000055555672f159 in drw_engines_cache_populate (ob=0x7fffe95f6c08)
    at /home/zed/programmering/blender_master/blender/source/blender/draw/intern/draw_manager.c:1037
#7  0x00005555567305e3 in DRW_draw_render_loop_ex (depsgraph=0x7fffea011a08, engine_type=<optimized out>, ar=0x7fffcd78e5c8, v3d=0x7fffcf562508,
    viewport=0x7fffcf41bfc8, evil_C=evil_C@entry=0x7fffea058188)
    at /home/zed/programmering/blender_master/blender/source/blender/draw/intern/draw_manager.c:1493
#8  0x0000555556730b64 in DRW_draw_view (C=C@entry=0x7fffea058188)
    at /home/zed/programmering/blender_master/blender/source/blender/draw/intern/draw_manager.c:1419
#9  0x00005555561efff7 in view3d_draw_view (ar=0x7fffcd78e5c8, C=0x7fffea058188)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/space_view3d/view3d_draw.c:1333
#10 view3d_main_region_draw (C=0x7fffea058188, ar=0x7fffcd78e5c8)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/space_view3d/view3d_draw.c:1354
#11 0x0000555556424599 in ED_region_do_draw (C=C@entry=0x7fffea058188, ar=ar@entry=0x7fffcd78e5c8)
    at /home/zed/programmering/blender_master/blender/source/blender/editors/screen/area.c:508
#12 0x000055555610c085 in wm_draw_window_offscreen (stereo=false, win=0x7fffcdabcc88, C=0x7fffea058188)
    at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_draw.c:573
#13 wm_draw_window (win=0x7fffcdabcc88, C=0x7fffea058188) at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_draw.c:705
#14 wm_draw_update (C=C@entry=0x7fffea058188) at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm_draw.c:859
#15 0x000055555610a1c0 in WM_main (C=0x7fffea058188) at /home/zed/programmering/blender_master/blender/source/blender/windowmanager/intern/wm.c:424
#16 0x00005555560f4d33 in main (argc=1, argv=0x7fffffffdd28) at /home/zed/programmering/blender_master/blender/source/creator/creator.c:505

Not sure this is for me, crash happens in draw code (mesh_create_edit_vertex_loops()), when trying to iter over the loops of a BMFace pointer that is NULL. Don’t really know the logic of that code, so cannot judge where is the error (is`efa` supposed to never be NULL here?), so will let @Clément Foucault (fclem) check on that first.

Brecht Van Lommel (brecht) raised the priority of this task from Confirmed, Medium to Confirmed, High.Mar 18 2019, 3:20 PM