Eevee animation render crash #63178

Closed
opened 2019-04-01 12:37:55 +02:00 by Alex · 13 comments

{F6905693}System Information
Operating system: Windows 10 pro
Graphics card: GTX 1070 8gb

Blender Version
Broken: (example: 2.80, edbf15d3c0, master, 2018-11-28, as found on the splash screen)
Worked: (worked on almost 4 months ago (update wise))

**When i render in eevee ,after around 30 frames when rendering PNG's at 0 compression it crashes
Wheni render .MKV format (video) it takes around 800 frames to crash
When i render Png but with Render Samples set to 100 insthead of original 500 , it takes around 50 frames to crash

might be something related to the EeveE limitations ,but its weird when it worked fine one night and it doesn't work anymore ,at 500 samples i was able to render around 800 frames with CPU+GPU
now i'm rendering with GPU and it still does crash

GPU usage is around 94% during the render itself

The file has 4 Meshes , 1 empty , 5 curves (which one is animated with a cylinder),3 lights with an HDR , most things are animated (lights ,curves, textures, nodes) the animation is around 1200 frames the peak Memory usage is around 600 M (100 samples) / 800 M (at 500 samples)
yet it still crashes**
here is the .blend file it seems that when i put at 64 samples on render ,the Crash is less frequent ,but it still happens around each few hundreds of frames
The render should be from frame 74 to frame 1249

{[F6905693](https://archive.blender.org/developer/F6905693/CabrakanDanceFortnite2_Backup.blend)}**System Information** Operating system: Windows 10 pro Graphics card: GTX 1070 8gb **Blender Version** Broken: (example: 2.80, edbf15d3c044, master, 2018-11-28, as found on the splash screen) Worked: (worked on almost 4 months ago (update wise)) **When i render in eevee ,after around 30 frames when rendering PNG's at 0 compression it crashes Wheni render .MKV format (video) it takes around 800 frames to crash When i render Png but with Render Samples set to 100 insthead of original 500 , it takes around 50 frames to crash might be something related to the EeveE limitations ,but its weird when it worked fine one night and it doesn't work anymore ,at 500 samples i was able to render around 800 frames with CPU+GPU now i'm rendering with GPU and it still does crash GPU usage is around 94% during the render itself The file has 4 Meshes , 1 empty , 5 curves (which one is animated with a cylinder),3 lights with an HDR , most things are animated (lights ,curves, textures, nodes) the animation is around 1200 frames the peak Memory usage is around 600 M (100 samples) / 800 M (at 500 samples) yet it still crashes** **here is the .blend file it seems that when i put at 64 samples on render ,the Crash is less frequent ,but it still happens around each few hundreds of frames The render should be from frame 74 to frame 1249**
Author

Added subscriber: @AnubisTheMaster

Added subscriber: @AnubisTheMaster
Brecht Van Lommel changed title from 2.8 RENDER CRASH to Eevee animation render crash 2019-04-01 13:22:19 +02:00

Added subscriber: @brecht

Added subscriber: @brecht

The frame it which it crashes is most likely random and the bug itself is unlikely to be related to the output file format.

We need exact steps to reproduce bugs, which in this case means a .blend file that crashes doing an animation render.

Note that Eevee always renders on the GPU. There is no CPU or CPU+GPU rendering, that's only for Cycles.

The frame it which it crashes is most likely random and the bug itself is unlikely to be related to the output file format. We need exact steps to reproduce bugs, which in this case means a .blend file that crashes doing an animation render. Note that Eevee always renders on the GPU. There is no CPU or CPU+GPU rendering, that's only for Cycles.
Author

In #63178#652594, @brecht wrote:
The frame it which it crashes is most likely random and the bug itself is unlikely to be related to the output file format.

We need exact steps to reproduce bugs, which in this case means a .blend file that crashes doing an animation render.

Note that Eevee always renders on the GPU. There is no CPU or CPU+GPU rendering, that's only for Cycles.

weird then it must have been a coincidence ,also sure i posted the .Blend file , hope it will show , keep in mind i'm constantly lowering the Samples to see whats the tolerable Crash Treshold , and seems under 32 samples is the most reliable ,but it still can Crash each amount of time

> In #63178#652594, @brecht wrote: > The frame it which it crashes is most likely random and the bug itself is unlikely to be related to the output file format. > > We need exact steps to reproduce bugs, which in this case means a .blend file that crashes doing an animation render. > > Note that Eevee always renders on the GPU. There is no CPU or CPU+GPU rendering, that's only for Cycles. weird then it must have been a coincidence ,also sure i posted the .Blend file , hope it will show , keep in mind i'm constantly lowering the Samples to see whats the tolerable Crash Treshold , and seems under 32 samples is the most reliable ,but it still can Crash each amount of time
Author

@brecht i updated the Download link with everything packed ,textures and hdrs , so it can be as accurate as possible to what i have

@brecht i updated the Download link with everything packed ,textures and hdrs , so it can be as accurate as possible to what i have

Added subscriber: @ZedDB

Added subscriber: @ZedDB
Clément Foucault was assigned by Sebastian Parborg 2019-04-02 10:44:38 +02:00

I'm getting an assert :

BLI_assert failed: /home/zed/prog/blender/source/blender/gpu/intern/gpu_buffers.c:153, gpu_pbvh_batch_init(), at 'buffers->index_lines_buf != ((void *)0)'

If I ignore that I eventually get a segfault (around frame 816 or so) when rendering the animation:

Thread 37 "blender" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff883ff700 (LWP 21631)]
0x0000555558b45ae9 in bind_texture (tex=0x7fff843f6b48, bind_type=1 '\001')
    at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:916
916		slot_flags[bind_num] = bind_type;
(gdb) bt
#0  0x0000555558b45ae9 in bind_texture (tex=0x7fff843f6b48, bind_type=1 '\001')
    at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:916
#1  0x0000555558b4637d in draw_shgroup (shgroup=0x7fff88734a60, pass_state=34)
    at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:1102
#2  0x0000555558b46f15 in drw_draw_pass_ex (pass=0x7fff7fba0358, start_group=0x7fff88734a60, end_group=0x7fff88734a60)
    at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:1326
#3  0x0000555558b470c8 in DRW_draw_pass (pass=0x7fff7fba0358)
    at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:1366
#4  0x0000555558b73aaa in lightbake_render_world_face (face=0, user_data=0x7fff883fcb00)
    at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:816
#5  0x0000555558b73879 in render_cubemap (callback=0x555558b73a1b <lightbake_render_world_face>, user_data=0x7fff883fcb00,
    pos=0x7fff883fcb1c, clipsta=1, clipend=10) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:781
#6  0x0000555558b73b2e in EEVEE_lightbake_render_world (UNUSED_sldata=0x7fff80fee108, vedata=0x7fff8315b888, face_fb=0x7fff883fcbc0)
    at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:826
#7  0x0000555558b700a7 in EEVEE_lightbake_update_world_quick (sldata=0x7fff80fee108, vedata=0x7fff8315b888, scene=0x7fffbebf1008)
    at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightcache.c:1198
#8  0x0000555558b7516e in EEVEE_lightprobes_refresh (sldata=0x7fff80fee108, vedata=0x7fff8315b888)
    at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:1230
#9  0x0000555558b85803 in EEVEE_render_draw (vedata=0x7fff8315b888, engine=0x7fffa564c788, rl=0x7fff807cac88, rect=0x7fff883fd0b0)
    at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_render.c:530
#10 0x0000555558b6bf2c in eevee_render_to_image (vedata=0x7fff8315b888, engine=0x7fffa564c788, render_layer=0x7fff807cac88,
    rect=0x7fff883fd0b0) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_engine.c:441
#11 0x0000555558b3b5a5 in DRW_render_to_image (engine=0x7fffa564c788, depsgraph=0x7fffa5415308)
    at /home/zed/prog/blender/source/blender/draw/intern/draw_manager.c:1903
#12 0x000055555855bd3d in RE_engine_render (re=0x7fffa30b3008, do_all=0)
    at /home/zed/prog/blender/source/blender/render/intern/source/external_engine.c:735
#13 0x0000555558563c95 in do_render_3d (re=0x7fffa30b3008)
    at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1080
- 14 0x0000555558563fce in do_render (re=0x7fffa30b3008) at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1157
- 15 0x00005555585647d4 in do_render_composite (re=0x7fffa30b3008)
    at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1365
#16 0x000055555856553d in do_render_all_options (re=0x7fffa30b3008)
    at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1632
#17 0x0000555558568429 in RE_BlenderAnim (re=0x7fffa30b3008, bmain=0x7fffba944208, scene=0x7fffb8eb3008, single_layer=0x0,
    camera_override=0x0, sfra=782, efra=842, tfra=1) at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:2486
#18 0x00005555584584d2 in render_startjob (rjv=0x7fffa3a12ec8, stop=0x7fffa7fc247c, do_update=0x7fffa7fc247a, progress=0x7fffa7fc2480)
    at /home/zed/prog/blender/source/blender/editors/render/render_internal.c:612
#19 0x0000555557e6c04a in do_job_thread (job_v=0x7fffa7fc2408)
    at /home/zed/prog/blender/source/blender/windowmanager/intern/wm_jobs.c:330
#20 0x00005555592ed676 in tslot_thread_start (tslot_p=0x7fff90e85548)
    at /home/zed/prog/blender/source/blender/blenlib/intern/threads.c:258
- 21 0x00007fffebef6173 in start_thread () from /lib64/libpthread.so.0
- 22 0x00007fffeba229cf in clone () from /lib64/libc.so.6

(This is with the 96MB .blend file)

I'm getting an assert : ``` BLI_assert failed: /home/zed/prog/blender/source/blender/gpu/intern/gpu_buffers.c:153, gpu_pbvh_batch_init(), at 'buffers->index_lines_buf != ((void *)0)' ``` If I ignore that I eventually get a segfault (around frame 816 or so) when rendering the animation: ``` Thread 37 "blender" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fff883ff700 (LWP 21631)] 0x0000555558b45ae9 in bind_texture (tex=0x7fff843f6b48, bind_type=1 '\001') at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:916 916 slot_flags[bind_num] = bind_type; (gdb) bt #0 0x0000555558b45ae9 in bind_texture (tex=0x7fff843f6b48, bind_type=1 '\001') at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:916 #1 0x0000555558b4637d in draw_shgroup (shgroup=0x7fff88734a60, pass_state=34) at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:1102 #2 0x0000555558b46f15 in drw_draw_pass_ex (pass=0x7fff7fba0358, start_group=0x7fff88734a60, end_group=0x7fff88734a60) at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:1326 #3 0x0000555558b470c8 in DRW_draw_pass (pass=0x7fff7fba0358) at /home/zed/prog/blender/source/blender/draw/intern/draw_manager_exec.c:1366 #4 0x0000555558b73aaa in lightbake_render_world_face (face=0, user_data=0x7fff883fcb00) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:816 #5 0x0000555558b73879 in render_cubemap (callback=0x555558b73a1b <lightbake_render_world_face>, user_data=0x7fff883fcb00, pos=0x7fff883fcb1c, clipsta=1, clipend=10) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:781 #6 0x0000555558b73b2e in EEVEE_lightbake_render_world (UNUSED_sldata=0x7fff80fee108, vedata=0x7fff8315b888, face_fb=0x7fff883fcbc0) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:826 #7 0x0000555558b700a7 in EEVEE_lightbake_update_world_quick (sldata=0x7fff80fee108, vedata=0x7fff8315b888, scene=0x7fffbebf1008) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightcache.c:1198 #8 0x0000555558b7516e in EEVEE_lightprobes_refresh (sldata=0x7fff80fee108, vedata=0x7fff8315b888) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_lightprobes.c:1230 #9 0x0000555558b85803 in EEVEE_render_draw (vedata=0x7fff8315b888, engine=0x7fffa564c788, rl=0x7fff807cac88, rect=0x7fff883fd0b0) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_render.c:530 #10 0x0000555558b6bf2c in eevee_render_to_image (vedata=0x7fff8315b888, engine=0x7fffa564c788, render_layer=0x7fff807cac88, rect=0x7fff883fd0b0) at /home/zed/prog/blender/source/blender/draw/engines/eevee/eevee_engine.c:441 #11 0x0000555558b3b5a5 in DRW_render_to_image (engine=0x7fffa564c788, depsgraph=0x7fffa5415308) at /home/zed/prog/blender/source/blender/draw/intern/draw_manager.c:1903 #12 0x000055555855bd3d in RE_engine_render (re=0x7fffa30b3008, do_all=0) at /home/zed/prog/blender/source/blender/render/intern/source/external_engine.c:735 #13 0x0000555558563c95 in do_render_3d (re=0x7fffa30b3008) at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1080 - 14 0x0000555558563fce in do_render (re=0x7fffa30b3008) at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1157 - 15 0x00005555585647d4 in do_render_composite (re=0x7fffa30b3008) at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1365 #16 0x000055555856553d in do_render_all_options (re=0x7fffa30b3008) at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:1632 #17 0x0000555558568429 in RE_BlenderAnim (re=0x7fffa30b3008, bmain=0x7fffba944208, scene=0x7fffb8eb3008, single_layer=0x0, camera_override=0x0, sfra=782, efra=842, tfra=1) at /home/zed/prog/blender/source/blender/render/intern/source/pipeline.c:2486 #18 0x00005555584584d2 in render_startjob (rjv=0x7fffa3a12ec8, stop=0x7fffa7fc247c, do_update=0x7fffa7fc247a, progress=0x7fffa7fc2480) at /home/zed/prog/blender/source/blender/editors/render/render_internal.c:612 #19 0x0000555557e6c04a in do_job_thread (job_v=0x7fffa7fc2408) at /home/zed/prog/blender/source/blender/windowmanager/intern/wm_jobs.c:330 #20 0x00005555592ed676 in tslot_thread_start (tslot_p=0x7fff90e85548) at /home/zed/prog/blender/source/blender/blenlib/intern/threads.c:258 - 21 0x00007fffebef6173 in start_thread () from /lib64/libpthread.so.0 - 22 0x00007fffeba229cf in clone () from /lib64/libc.so.6 ``` (This is with the 96MB .blend file)
Author

Hey thank you for checking the file i hope you can figure something out even tho i can't understand code

{meme, src=itsawesome}

Hey thank you for checking the file i hope you can figure something out even tho i can't understand code {meme, src=itsawesome}
Author

This comment was removed by @AnubisTheMaster

*This comment was removed by @AnubisTheMaster*

Added subscriber: @Sergey

Added subscriber: @Sergey

This is a threading bug. Basically the main thread is freeing textures that are to be used by the render thread. But if this happens between the time the gpu texture is referenced for drawing and the drawing time it results in crash. The Images are strangely considered unused.

What I find strange, is that (If I remember correctly) by design the image datablock should not be the same for Rendering. But maybe they share GPUTextures at copy on write level. @Sergey any idea why?

I have a patch P954 that fixes it but involves using a global lock...

The gpu textures are freed here:

GPU_free_image(ima = 0x7fffc0c5be08,);
GPU_free_unused_buffers(bmain = 0x7fffc598f608,);
wm_draw_update(C = 0x7ffff1e43108,);
WM_main(C = 0x7ffff1e43108,);
main(argc = 1,argv = 0x7fffffffe808,);
This is a threading bug. Basically the main thread is freeing textures that are to be used by the render thread. But if this happens between the time the gpu texture is referenced for drawing and the drawing time it results in crash. The Images are strangely considered unused. What I find strange, is that (If I remember correctly) by design the image datablock should not be the same for Rendering. But maybe they share GPUTextures at copy on write level. @Sergey any idea why? I have a patch [P954](https://archive.blender.org/developer/P954.txt) that fixes it but involves using a global lock... The gpu textures are freed here: ``` GPU_free_image(ima = 0x7fffc0c5be08,); GPU_free_unused_buffers(bmain = 0x7fffc598f608,); wm_draw_update(C = 0x7ffff1e43108,); WM_main(C = 0x7ffff1e43108,); main(argc = 1,argv = 0x7fffffffe808,); ```

This issue was referenced by 148c0aa0fa

This issue was referenced by 148c0aa0faa66b44ad26f2c4703d59e9a133ff71

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#63178
No description provided.