Page MenuHome

Segfault with Grease Pencil and camera on a path
Confirmed, HighPublicBUG

Description

System Information
Operating system: Linux 5.2.13 (also happens on Windows)
Graphics card: AMD Vega RX 56 (AMDGPU driver)

Blender Version
Broken: 2.80

Short description of error

Rendering using the command line fails with a grease pencil object and a camera on a path on Cycles.

Exact steps for others to reproduce the error

  1. Download this blend file:

  1. Render from the CLI: blender -b GPencil_CLI_segfault_bug.blend -f 1 -X -o //test.png
  2. Blender will segfault just before writing the output file

Deleting either the grease pencil object or the path makes it render ok.

Here's the crash log:

# Blender 2.80 (sub 74), Commit date: 2019-07-18 14:52, Hash 38d4483c6a51

# backtrace
/home/januz/bin/blender_28/blender(BLI_system_backtrace+0x1d) [0x1360b9d]
/home/januz/bin/blender_28/blender() [0x114a239]
/lib64/libc.so.6(+0x37ec0) [0x7fb7b5170ec0]
/home/januz/bin/blender_28/blender(DRW_displist_vertbuf_create_loop_pos_and_nor_and_uv+0x2e) [0x2a5d95e]
/home/januz/bin/blender_28/blender(DRW_curve_batch_cache_create_requested+0xc42) [0x2a5b882]
/home/januz/bin/blender_28/blender(DRW_render_object_iter+0x118) [0x2a0c3f8]
/home/januz/bin/blender_28/blender(GPENCIL_render_to_image+0x1be) [0x2a49f3e]
/home/januz/bin/blender_28/blender(DRW_render_gpencil+0x1df) [0x2a0d2ef]
/home/januz/bin/blender_28/blender(RE_engine_render+0x355) [0x13f0715]
/home/januz/bin/blender_28/blender() [0x13f1e51]
/home/januz/bin/blender_28/blender() [0x13f4bd8]
/home/januz/bin/blender_28/blender(RE_RenderAnim+0x413) [0x13f5a73]
/home/januz/bin/blender_28/blender() [0x1149003]
/home/januz/bin/blender_28/blender(BLI_argsParse+0xd5) [0x131ddc5]
/home/januz/bin/blender_28/blender(main+0x2bd) [0x10b7a3d]
/lib64/libc.so.6(__libc_start_main+0xf3) [0x7fb7b515cf43]
/home/januz/bin/blender_28/blender() [0x1146b5c]

Related Objects

Event Timeline

Diego Gangl (januz) updated the task description. (Show Details)
Campbell Barton (campbellbarton) lowered the priority of this task from 90 to 50.Sep 23 2019, 4:27 AM
Antonio Vazquez (antoniov) triaged this task as High priority.EditedTue, Dec 24, 10:28 AM
Antonio Vazquez (antoniov) changed the subtype of this task from "Report" to "Bug".

@Clément Foucault (fclem) I have checked and in the render the value of lb is null in ListBase *lb = &rdata->ob_curve_cache->disp; inside function DRW_curve_batch_cache_create_requested()

When render grease pencil, it used the DRW_render_object_iter() function, but I not sure if we could add a modified version of the function (or pass a parameter) to only render OB_GPENCIL objects.