Page MenuHome

opensubdiv crash in rendered viewport
Closed, ResolvedPublic

Description

System Information
Operating system: Mageia Cauldron (Mageia 7)
Graphics card: Display on AMD A10-Kaveri with amdgpu kernel driver and radeonsi Mesa
CUDA Render on Nvidia GTX1050Ti

Blender Version
Broken:Blender 2.79 (sub 6), Commit date: 2019-01-09 22:04, Hash 5100e4419eb1
(example: 2.79b release)
(example: 2.80, edbf15d3c044, blender2.8, 2018-11-28, as found on the splash screen)
Worked: (optional) blender-2.79b-linux-glibc219-x86_64/2.79 Hash f4dc9f9d68b
and
blender-2.79-e6acb4fba094-linux-glibc224-x86_64 2019-01-04 11:41 Hash e6acb4fba094

Short description of error
Selecting Display rendered preview in 3D View window causes immediate crash if Experimental, Adaptive Subdivision modifier is used on model.


Exact steps for others to reproduce the error
Based on the default startup or an attached .blend file (as simple as possible).

With attached file, using any Blender 2.79 released after 2019-01-10, using CPU or GPU rendering, change the 3D View window to display as rendered.

Event Timeline

It renders for me OK the first time, but if I toggle back and forth between rendered and lookdev modes it locks up in a memory allocation loop.

I suspect this is the same issue as in my https://developer.blender.org/T60379 which still needs some developer TLC (hint, hint, wink, wink, nudge, nudge).

Hi Gavin, your memory allocation loop sounds familiar. I have seen it in 2.79 also. It happens when I load either your disptest.blend or the test file above into yesterday's 2.80, but 2.80 does not crash.

2.79 does, with opensubdiv 3.3.3, and doesn't crash if compiled without osd support, or if Experimental features are disabled in the render settings, so no adaptive subdivision.

I can not reproduce this crash with my 2.79 build (with opensubdiv 3.3.3). And as you stated, I can not reproduce the crash either in 2.8.

@Sergey Sharybin (sergey) can you reproduce this on 2.79?

This does happen with own builds of blender2.7 and master branch, and with builds from buildbot.

Sebastian Parborg (zeddb) lowered the priority of this task from Needs Triage by Developer to Confirmed, Medium.

Think you're more familiar with the opensubdiv code in Cycles.
If it's not Cycles specific, please bounce back.

As with my T60379 I presume that adaptive subdiv is complex in that the adaptive tessellation needs to be successfully recomputed basically whenever anything affecting the view or the subdiv modifier or the associated scene parameters change, and there are one or more issues with this, either dependency handling, or simply managing the reset of the adaptive tessellation stuff when things change and/or making sure that the computation has completed successfully before trying to do things based on that.

Thanks for the fix, Brecht. I completed a Blender RPM rebuild yesterday using all system libraries, so some versions differ from the Blender.org dailies. In particular I have LLVM 8.0 and OSL 1.11.0 but essentially my OSD version is still 3.3.3.

I can confirm that this fix cures my problem of the Blender crash when rendering in the viewport models using adaptive subdivision .

Richard