Segmentation fault when opening .blend file in 2.80rc2 that works fine in 2.79b #67534
Labels
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
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#67534
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
System Information
Operating system: Ubuntu 18.04.2 LTS
Operating system kernel: Linux-4.15.0-55-generic-x86_64-with-debian-buster-sid 64 Bits
Graphics card: NVIDIA Corporation GF108 [GeForce GT 730] (rev a1)
Graphics card driver: NVC1 nouveau 4.3 (Core Profile) Mesa 19.0.2
Using GNOME under X
system-info.txt
Blender Version
Broken: version: 2.80 (sub 75), commit date: 2019-07-23 10:51, hash
19aa873f7002
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-18 14:52, hash:
38d4483c6a51
, type: ReleaseWorked: version: 2.79 (sub 0), branch: master, commit date: 2018-03-22 14:10, hash:
f4dc9f9d68b
, type: ReleaseShort description of error
Blender 2.80rc2 crashes (Segmentation fault) when opening the attached file.
Exact steps for others to reproduce the error
Open the attached .blend file in Blender 2.80rc2, notice Blender crashes with Segmentation fault.
biedronka-test.blend
Generated crash logs
biedronka-test.crash2.txt
biedronka-test.crash.txt
Added subscriber: @mmgrqnv
Added subscriber: @WilliamReynish
It opens correctly and normally here, although I'm using current master. There's a chance a bug was fixed in the last couple of days. Try a newer build on https://builder.blender.org/download/.
Added subscriber: @dark999
IMO this report is a duplicate of https://developer.blender.org/T67284
Nouveau drivers do not meet the requirements of the Blender 2.80 software. Eevee needed GPU hardware acceleration (CUDA) that Nouveau drivers cannot provide.
IMO To avoid any problems, install the Nvidia proprietary drivers
Added subscriber: @a.monti
I can confirm that with Nvidia drivers the file opens correctly in linux, on both rc2 and master.
Thank you for the quick response!
I checked on a different computer that is using the Nvidia proprietary drivers and I can confirm it does not crash there. I couldn't get the transparent texture to look the same as in 2.79, but it's a separate thing.
If it was officially decided that nouveau is not supported, it would be nice to warn the user on startup that they are using unsupported drivers that are known to have problems. Otherwise it is hard to tell, because Blender starts up correctly and seems to work until something bad happens.
I decided to give my rusty C debugging skills a shot, since I want to use Blender 2.80 on that computer and cannot use Nvidia proprietary drivers there (for policy reasons).
I attach the dumped shader sources (in case they are dynamically generated):
blender-crash-shader0-vertex.txt blender-crash-shader1-fragment.txt blender-crash-shader2-geometry.txt
The top of the stack seems to be pointing to an assert, according to the GitHub clone https://github.com/mesa3d/mesa/blob/19.0/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp#L54
Poking a bit more in that function seems to suggest that the code generation fails in the
main
function of the fragment shader, although I have no idea if the uppercaseMAIN
is actually the same as the shadermain
or is it something completely different...Unfortunately that is as far as my rusty gdb skills let me go. I was not able to track it back to any specific line number or expression in the shader and I don't have the driver source setup for gdb.
Added subscriber: @brecht
Changed status from 'Open' to: 'Archived'
We currently only support NVIDIA drivers, the Nouveau drivers have some bugs. You can report issues to that project, this is nothing we can fix in Blender.
I traced the Nouveau driver codegen crash to the following code used in the fragment shader:
/* Keep in sync with diffuse_filter_probe() */
ivec2 cell_co = ivec2(3, 2);
int cell_per_row = textureSize(irradianceGrid, 0).x / cell_co.x; // <<! textureSize as input
cell_co.x *= cell % cell_per_row; // <<! used with modulo
cell_co.y *= cell / cell_per_row; // <<! or with division
ivec3 is_negative = ivec3(step(0.0, -N));
IrradianceData ir;
ir.cubesides[0] = irradiance_decode(
texelFetch(irradianceGrid, ivec3(cell_co + ivec2(0, is_negative.x), 0), 0));
ir.cubesides[1] = irradiance_decode(
texelFetch(irradianceGrid, ivec3(cell_co + ivec2(1, is_negative.y), 0), 0));
ir.cubesides[2] = irradiance_decode(
texelFetch(irradianceGrid, ivec3(cell_co + ivec2(2, is_negative.z), 0), 0));
return ir;
Replacing
textureSize(irradianceGrid, 0).x
with a constant, or removing the division and modulo operations below (and replacing them with just assigning the value ofcell_per_row
) removes the crash.I was wrong. The problem was actually that
cell
was 0 in the code above.This bug in Nouveau was fixed recently in the following commit: https://cgit.freedesktop.org/mesa/mesa/commit/?id=7493fbf032f5bcbf4c48187bc089c9a34f04a1d5
Thank you for your help.
Great to hear, thanks for tracking this down.