Page MenuHome

Cycles: Grease Pencil Stroke object causes headless rendering to abort
Closed, DuplicatePublic

Description

System Information
Operating system: Linux-5.8.0-7630-generic-x86_64-with-debian-bullseye-sid 64 Bits
Graphics card: GeForce RTX 3080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 460.32.03

Blender Version
Broken: version: 2.93.0 Alpha, branch: master, commit date: 2021-02-10 12:30, hash: rBd9eeb7840f52
Worked: unknown

Short description of error
If a file is rendered headless (e.g. on a render farm) the Grease Pencil stroke object causes it to abort because it cannot find a display. Even if render engine is set to Cycles.
This happened in the Blender Studio renderfarm and fortunately Dr. Sybren was kind enough to help me find the relevant commit: https://developer.blender.org/rB2069b3b888db7ca448317218d3d42234b7fa77eb.

example file:

Rendering this on my local machine with:

env DISPLAY='' <path/to/blender>  -b <path/to/file>  -a

Dr. Sybren's backtrace:

Fra:1 Mem:9.53M (Peak 9.79M) | Time:00:00.42 | Mem:1.53M, Peak:1.68M | Scene, View Layer | Rendered 1/1 Tiles
Fra:1 Mem:9.52M (Peak 9.79M) | Time:00:00.42 | Mem:1.53M, Peak:1.68M | Scene, View Layer | Finished
[Thread 0x7fffc5183700 (LWP 21090) exited]
Unable to open a display

Thread 1 "blenderdebug" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007ffff6de2859 in __GI_abort () at abort.c:79
#2  0x00000000087d8593 in GHOST_SystemX11::GHOST_SystemX11 (this=0x6140000d6440) at blender/intern/ghost/intern/GHOST_SystemX11.cpp:124
#3  0x00000000087cd077 in GHOST_ISystem::createSystem () at blender/intern/ghost/intern/GHOST_ISystem.cpp:68
#4  0x00000000087be6af in GHOST_CreateSystem () at blender/intern/ghost/intern/GHOST_C-api.cpp:42
#5  0x00000000032cd6eb in wm_ghost_init (C=0x0) at blender/source/blender/windowmanager/intern/wm_window.c:1635
#6  0x000000000324ceb3 in WM_init_opengl () at blender/source/blender/windowmanager/intern/wm_init_exit.c:185
#7  0x0000000003bb6c20 in DRW_render_context_enable (render=0x622000036108) at blender/source/blender/draw/intern/draw_manager.c:3013
#8  0x0000000003bac9e0 in DRW_render_gpencil (engine=0x61800003b488, depsgraph=0x61a000078c88) at blender/source/blender/draw/intern/draw_manager.c:1777
#9  0x00000000179db8a7 in engine_render_view_layer (re=0x622000036108, engine=0x61800003b488, view_layer_iter=0x6120001d59c8, use_engine=true, use_grease_pencil=true)
    at blender/source/blender/render/intern/engine.c:798
#10 0x00000000179dd85b in RE_engine_render (re=0x622000036108, do_all=false) at blender/source/blender/render/intern/engine.c:913
#11 0x0000000017a03614 in do_render_3d (re=0x622000036108) at blender/source/blender/render/intern/pipeline.c:1086
#12 0x0000000017a04d5d in do_render (re=0x622000036108) at blender/source/blender/render/intern/pipeline.c:1163
#13 0x0000000017a06b49 in do_render_composite (re=0x622000036108) at blender/source/blender/render/intern/pipeline.c:1303
#14 0x0000000017a0b296 in do_render_all_options (re=0x622000036108) at blender/source/blender/render/intern/pipeline.c:1569
#15 0x0000000017a1735f in RE_RenderAnim (re=0x622000036108, bmain=0x61c000048088, scene=0x623000046108, single_layer=0x0, camera_override=0x0, sfra=1, efra=1, tfra=1)
    at blender/source/blender/render/intern/pipeline.c:2571
#16 0x000000000173ffa7 in arg_handle_render_frame (argc=2, argv=0x7fffffffd888, data=0x60d0000006c8) at blender/source/creator/creator_args.c:1583
#17 0x00000000195edb4d in BLI_args_parse (ba=0x60600000c3e8, pass=5, default_cb=0x1742f8a <arg_handle_load_file>, default_data=0x60d0000006c8)
    at blender/source/blender/blenlib/intern/BLI_args.c:310
#18 0x0000000001744611 in main_args_setup_post (C=0x60d0000006c8, ba=0x60600000c3e8) at blender/source/creator/creator_args.c:2229
#19 0x0000000001739083 in main (argc=6, argv=0x7fffffffd868) at blender/source/creator/creator.c:489