2.80 Crashes with 16K HDR Background World Images and Eevee Rendering #56684

Closed
opened 2018-09-04 15:19:57 +02:00 by Tom M · 7 comments

System Information

Ubuntu 18.04 and Fedora 27
i7, 16 GB RAM, Intel HD 4000 Graphics

Blender Version

Broken: version: 2.80 (sub 21), branch: blender2.8, commit date: 2018-08-31 20:43, hash: a5f950ed38
Worked: All versions in the past month or more have had this instability.

Short description of error

Eevee rendering and sometimes even loading scenes with 16K HDRI world images, such as goegap_16k.hdr from HDRI Haven, soon leads to crashes, sometimes even immediately with the default cube scene and factory settings. The crashes are somewhat random but usually occur within a minute of loading large HDR images into a complex scene and continuing scene editing.

Memory usage can jump to 80%, but even when the system stabilizes at 40-70% crashes occur. System RAM usage immediately after startup is about 8%, after loading blender it's 12%, after loading a complex scene it's 17%, after switching to Eevee rendered viewport with an 8K HDR world image it stablizes at 26% and when loading a 16K HDRI it can level at 64% for a few seconds before crashing.

In addition to instability causing crashes, scene objects appear as having distorted or transparent surfaces, both in renders and in the viewport when panning. Changing the materials/options/blend mode from Opaque to Alpha Blend, Multiply or Additive changes whether the background image is painted onto the cube surface or the cube is totally transparent. Loading 8K HDRI's is usually stable with <50% ram usage in a complex scene and no distortion in the viewport or renders.

My bandwidth is somewhat limited, so sample files are not attached, but the same HDRI's are readily available for testing from HDRI Haven. The problem occurs in both Linuxes.

Attached are system-info.txt and 16K HDRI crash from Terminal.txt

Exact steps for others to reproduce the error16K HDRI crash from Terminal.txt

system-info.txt

Adding a 16K world image and continuing scene editing leads to immediate viewing and rendering distortion and soon a crash.

**System Information** Ubuntu 18.04 and Fedora 27 i7, 16 GB RAM, Intel HD 4000 Graphics **Blender Version** Broken: version: 2.80 (sub 21), branch: blender2.8, commit date: 2018-08-31 20:43, hash: a5f950ed381 Worked: All versions in the past month or more have had this instability. **Short description of error** Eevee rendering and sometimes even loading scenes with 16K HDRI world images, such as goegap_16k.hdr from HDRI Haven, soon leads to crashes, sometimes even immediately with the default cube scene and factory settings. The crashes are somewhat random but usually occur within a minute of loading large HDR images into a complex scene and continuing scene editing. Memory usage can jump to 80%, but even when the system stabilizes at 40-70% crashes occur. System RAM usage immediately after startup is about 8%, after loading blender it's 12%, after loading a complex scene it's 17%, after switching to Eevee rendered viewport with an 8K HDR world image it stablizes at 26% and when loading a 16K HDRI it can level at 64% for a few seconds before crashing. In addition to instability causing crashes, scene objects appear as having distorted or transparent surfaces, both in renders and in the viewport when panning. Changing the materials/options/blend mode from Opaque to Alpha Blend, Multiply or Additive changes whether the background image is painted onto the cube surface or the cube is totally transparent. Loading 8K HDRI's is usually stable with <50% ram usage in a complex scene and no distortion in the viewport or renders. My bandwidth is somewhat limited, so sample files are not attached, but the same HDRI's are readily available for testing from HDRI Haven. The problem occurs in both Linuxes. Attached are system-info.txt and 16K HDRI crash from Terminal.txt **Exact steps for others to reproduce the error**[16K HDRI crash from Terminal.txt](https://archive.blender.org/developer/F4556061/16K_HDRI_crash_from_Terminal.txt) [system-info.txt](https://archive.blender.org/developer/F4556065/system-info.txt) Adding a 16K world image and continuing scene editing leads to immediate viewing and rendering distortion and soon a crash.
Author

Added subscriber: @tlm-3

Added subscriber: @tlm-3

Added subscribers: @fclem, @brecht

Added subscribers: @fclem, @brecht

The log has this:

i965: Failed to submit batchbuffer: No space left on device

It's quite possible there is not enough memory on this graphics card to handle 16K HDRI images and the rest of the scene and operating system data.

Generally we should avoid crashing (and ideally display better error messages), and the solution here may be to simply handle the out of memory more gracefully. Part of this is beyond our control though and the graphics driver may show wrong results or crash without reporting any out of memory issues to Blender. I'll let @fclem judge what to do here.

The log has this: ``` i965: Failed to submit batchbuffer: No space left on device ``` It's quite possible there is not enough memory on this graphics card to handle 16K HDRI images and the rest of the scene and operating system data. Generally we should avoid crashing (and ideally display better error messages), and the solution here may be to simply handle the out of memory more gracefully. Part of this is beyond our control though and the graphics driver may show wrong results or crash without reporting any out of memory issues to Blender. I'll let @fclem judge what to do here.

Eevee use the raw 16K texture only for drawing the background and rendering the lower resolution probes.

The problem is that the memory management in opengl is not done by the application but by the driver and thus there is not really any way to control what is resident to the device memory or even to know how much is available.

Eevee use the raw 16K texture only for drawing the background and rendering the lower resolution probes. The problem is that the memory management in opengl is not done by the application but by the driver and thus there is not really any way to control what is resident to the device memory or even to know how much is available.
Author

It may be interesting to compare Blender and Gimp memory usage on the same Ubuntu 18.04.1 system.

Opening a single 16K HDRI in Gimp 2.10 requires 34% total of the 16GB memory. Adding a second similar image uses 64% of RAM. Performing sequential color balance operations bumps memory usage to 88% where it remains stable at 85-88% despite performing more operations or undoing. Oddly, opening other apps can cause system memory usage to drop to 60%, with Gimp using 7.2 GB of RAM. There is no swap memory set aside in this system.

So the Gimp developers may have some tips for managing Linux memory. I'll be testing Blender 2.80 memory usage in Windows 10 again, though my experience so far has shown less stability, despite lower RAM usage than Linux.

It may be interesting to compare Blender and Gimp memory usage on the same Ubuntu 18.04.1 system. Opening a single 16K HDRI in Gimp 2.10 requires 34% total of the 16GB memory. Adding a second similar image uses 64% of RAM. Performing sequential color balance operations bumps memory usage to 88% where it remains stable at 85-88% despite performing more operations or undoing. Oddly, opening other apps can cause system memory usage to drop to 60%, with Gimp using 7.2 GB of RAM. There is no swap memory set aside in this system. So the Gimp developers may have some tips for managing Linux memory. I'll be testing Blender 2.80 memory usage in Windows 10 again, though my experience so far has shown less stability, despite lower RAM usage than Linux.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Clément Foucault self-assigned this 2018-09-06 12:46:45 +02:00

@tlm-3 it does not have to do with the system memory.
It's the GPU memory (which is shared in the case of Intel's GPUs but is still much less than system RAM) that is overflowed.

Gimp does not use the GPU as much as blender because it's à 2D application and it can have conpression algorithm to reduce it. But when using an HDRI with Eevee we cannot use a compressed format because we need access to all pixel during the rendering.

I'll close this.

@tlm-3 it does not have to do with the system memory. It's the GPU memory (which is shared in the case of Intel's GPUs but is still much less than system RAM) that is overflowed. Gimp does not use the GPU as much as blender because it's à 2D application and it can have conpression algorithm to reduce it. But when using an HDRI with Eevee we cannot use a compressed format because we need access to all pixel during the rendering. I'll close this.
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
3 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#56684
No description provided.