Page MenuHome

2.8 beta crashes when converting curve to mesh
Closed, ResolvedPublic

Description

System Information
Operating system: win 64
Graphics card: GeForce GTX 1050 Ti

Blender Version
Broken: 2.8, blender-2.80-191b8951f7af-win64, download 9 feb 2019
Worked: (optional)

Short description of error
Using Circle Curve with Bezier Curve as bevel object. When converting Curve to Mesh blender crashes.

Exact steps for others to reproduce the error
See attached blend file.

.

The issue here is that there is a cyclic dependency.
The bevel object of the circle is the curve and the bevel object of the curve is the circle.
Just open the curves.blend file and set the bevel object of the curve to the circle and hit convert to mesh.

Event Timeline

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

Backtrace:

Thread 1 "blender" received signal SIGSEGV, Segmentation fault.
0x0000555556884560 in curve_get_tessellate_point (scene=scene@entry=0x7fffce91c008, ob=ob@entry=0x7fffce5a0408,
    use_render_resolution=use_render_resolution@entry=false, editmode=editmode@entry=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:759
759		ModifierData *md = modifiers_getVirtualModifierList(ob, &virtualModifierData);
(gdb) bt
#0  0x0000555556884560 in curve_get_tessellate_point (scene=scene@entry=0x7fffce91c008, ob=ob@entry=0x7fffce5a0408,
    use_render_resolution=use_render_resolution@entry=false, editmode=editmode@entry=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:759
#1  0x00005555568847c8 in curve_calc_modifiers_pre (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=ob@entry=0x7fffce5a0408,
    nurb=nurb@entry=0x7fffff7ff570, for_render=for_render@entry=true, use_render_resolution=use_render_resolution@entry=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:825
#2  0x0000555556887b66 in do_makeDispListCurveTypes (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=0x7fffce5a0408,
    dispbase=0x7fffff7ff670, r_final=0x0, for_render=for_render@entry=true, for_orco=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1591
#3  0x00005555568882d7 in BKE_displist_make_curveTypes_forRender (depsgraph=0x7fffe43fd608, scene=0x7fffce91c008, ob=<optimized out>,
    dispbase=dispbase@entry=0x7fffff7ff670, r_final=r_final@entry=0x0, for_orco=for_orco@entry=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1836
#4  0x0000555556870d08 in BKE_curve_bevel_make (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=ob@entry=0x7fffce59fe08,
    disp=disp@entry=0x7fffff7ff7c0, for_render=for_render@entry=true, use_render_resolution=use_render_resolution@entry=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/curve.c:1855
#5  0x0000555556886f90 in do_makeDispListCurveTypes (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=0x7fffce59fe08,
    dispbase=0x7fffff7ff8d0, r_final=0x0, for_render=for_render@entry=true, for_orco=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1596
#6  0x00005555568882d7 in BKE_displist_make_curveTypes_forRender (depsgraph=0x7fffe43fd608, scene=0x7fffce91c008, ob=<optimized out>,
    dispbase=dispbase@entry=0x7fffff7ff8d0, r_final=r_final@entry=0x0, for_orco=for_orco@entry=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1836
#7  0x0000555556870d08 in BKE_curve_bevel_make (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=ob@entry=0x7fffce5a0408,
    disp=disp@entry=0x7fffff7ffa20, for_render=for_render@entry=true, use_render_resolution=use_render_resolution@entry=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/curve.c:1855
#8  0x0000555556886f90 in do_makeDispListCurveTypes (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=0x7fffce5a0408,
    dispbase=0x7fffff7ffb30, r_final=0x0, for_render=for_render@entry=true, for_orco=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1596
#9  0x00005555568882d7 in BKE_displist_make_curveTypes_forRender (depsgraph=0x7fffe43fd608, scene=0x7fffce91c008, ob=<optimized out>,
    dispbase=dispbase@entry=0x7fffff7ffb30, r_final=r_final@entry=0x0, for_orco=for_orco@entry=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1836
#10 0x0000555556870d08 in BKE_curve_bevel_make (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=ob@entry=0x7fffce59fe08,
    disp=disp@entry=0x7fffff7ffc80, for_render=for_render@entry=true, use_render_resolution=use_render_resolution@entry=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/curve.c:1855
#11 0x0000555556886f90 in do_makeDispListCurveTypes (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=0x7fffce59fe08,
    dispbase=0x7fffff7ffd90, r_final=0x0, for_render=for_render@entry=true, for_orco=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1596
#12 0x00005555568882d7 in BKE_displist_make_curveTypes_forRender (depsgraph=0x7fffe43fd608, scene=0x7fffce91c008, ob=<optimized out>,
    dispbase=dispbase@entry=0x7fffff7ffd90, r_final=r_final@entry=0x0, for_orco=for_orco@entry=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1836
#13 0x0000555556870d08 in BKE_curve_bevel_make (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=ob@entry=0x7fffce5a0408,
    disp=disp@entry=0x7fffff7ffee0, for_render=for_render@entry=true, use_render_resolution=use_render_resolution@entry=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/curve.c:1855
#14 0x0000555556886f90 in do_makeDispListCurveTypes (depsgraph=depsgraph@entry=0x7fffe43fd608, scene=scene@entry=0x7fffce91c008, ob=0x7fffce5a0408,
    dispbase=0x7fffff7ffff0, r_final=0x0, for_render=for_render@entry=true, for_orco=false, use_render_resolution=false)
    at /home/zed/programmering/blender_master/blender/source/blender/blenkernel/intern/displist.c:1596
#15 0x00005555568882d7 in BKE_displist_make_curveTypes_forRender (depsgraph=0x7fffe43fd608, scene=0x7fffce91c008, ob=<optimized out>,
    dispbase=dispbase@entry=0x7fffff7ffff0, r_final=r_final@entry=0x0, for_orco=for_orco@entry=false, use_render_resolution=false)

@Ron Zandbergen (Taaske) Could you provide us with a simple sample created with 2.79 that reproduces the issue right before the conversion happens?
Right now when opening your file I get an immediate crash: curve.c:1862, BKE_curve_bevel_make(), at 'cu->bevobj->runtime.curve_cache != ((void *)0)'

Dalai Felinto (dfelinto) lowered the priority of this task from Confirmed, Medium to Needs Information from User.Feb 12 2019, 5:54 PM

For the records, by following your instructions I cannot reproduce the crash:

Also getting immediate assert and curves.blend converts as expected.

Just to reiterate what I told @Dalai Felinto (dfelinto) on IRC yesterday.
The issue here is that it the .blend that asserts for you guys, there is a cyclic dependency.

The bevel object of the circle is the curve and the bevel object of the curve is the circle.
Just open the curves.blend file and set the bevel object of the curve to the circle and hit convert to mesh.

Do you guys still need the requested sample in 2.79 or does the above post from sebastian cover this.

@Ron Zandbergen (Taaske) : I think thats fine... (no need for the 2.79 file)

I think we can be a bit smarter in rna_Curve_otherObject_poll, checking...

Was just an idea to avoid cyclic dependencies when picking curve bevobj/taperobj: P912
(but I guess a bad one because it doesnt cover everything...)

Anyways, this doesnt add anything to solving the crash, sorry for the noise...

Philipp Oeser (lichtwerk) raised the priority of this task from Needs Information from User to Confirmed, Medium.

@Campbell Barton (campbellbarton) : is this OK to stay on your desk?