Page MenuHome

Principled BSDF Crashes Blender and Computer
Closed, InvalidPublic

Description

System Information
Windows 10 x64, Radeon rx470

Blender Version
2.79 testbuild1 64bit
available from
https://download.blender.org/release/Blender2.79/

Short description of error
Rendering an object with the new principled shader seems to do... bad things to my computer. Rendering with my cpu has the end result of Blender locking up and no longer using cpu as reported by task manager. Rendering on my GPU has the end result of blender crashing OR my computer crashing, with a BSOD the first time, but not the second or the third.

I Tried it on both CPU and GPU a few times. It happens every time with the provided .blend file. If the resolution is set to 50% it completes with hiccups.

On both the CPU and GPU it renders a number of tiles perfectly fine. Then, the Blender freezes for around 30 seconds. Then it resumes, and more tiles have been rendered as though it never stopped. If the resolution was at 50% it is now done rendering, and no crash occurs. Then, it freezes again, but this time I can't move the mouse. Otherwise, the monitor goes black, reporting no signal. Sometimes, around a minute later, the screen comes back on with more rendered tiles. If it's not done yet, it stays locked up for another minute. If it was on CPU, windows recovers and blender has a white not responding screen. If it was on GPU it never recovers. The first time I tried this, in a different .blend, it gave me a BSOD. I looked but could not find the cause.

Exact steps for others to reproduce the error
Just have an object with only a Principled BSDF take up most of the screen when rendering.
The provided .blend is just the default new file with the render resolution set to 100% size and the with the camera moved close to the cube so it takes up the entire render window.

For me, blender crashes about halfway through rendering this .blend. On smaller resolutions, it hangs but finishes rendering before it crashes.

Details

Type
Bug

Event Timeline

zzzzzig (zzzzzig) updated the task description. (Show Details)

I have had the same issue with GPU rendering but with a GTX 1070. Although the whole setup was not even a year old, the only thing that helped was to cleanly remove the driver with Display Driver Uninstaller and reinstall. Runs like butter now.

Thanks for the help! That half fixed the problem. I can now render no problem on my gpu, but still crash halfway through rendering with my cpu.

The file renders fine here on CPU as well as GPU with F12 and in the viewport.

zzzzzig (zzzzzig) added a comment.EditedJun 27 2017, 5:19 AM

I have just rechecked. After reinstalling my graphics drivers, the file renders fine on GPU but crashes blender on CPU. The viewport seems to work fine on GPU and CPU. I waited to 500 viewport samples on each, and no problems came up. It still crashes around halfway through regular rendering on CPU.

EDIT: I just tested rendering with CPU on progressive refine setting. It works with no crashing.
I just tested setting one 2000x2000 tile and it works. Interestingly, it rendered in a little over half the time of progressive refine.
I just tested 32x32 tile size, and it did not crash, but froze solid for around 20 seconds. I couldn't move the mouse while it was frozen. Then it recovered and was finished rendering.
I just tested 32x32 tile size at 100% resolution scale (1920/1080) and it froze hard enough for my monitor to report no signal for around 45 seconds. When it recovered, Blender was a whited out not responding window.
I just tested the same as above, but with a simple diffuse shader. It worked, but with a minor pause or two.
Because the diffuse shader was a bit faster than the principled shader, I tested the diffuse again at 200% resolution. It froze solid around 2/3 of the way through rendering. It then recovered about 2 mins later and had finished rendering. I couldnt move the mouse, but my monitor stayed on.

Maybe this isn't the principled shader? Maybe it's my cpu?
I don't render much on my cpu, so maybe its always been like this and I just never noticed?

I tested the same thing in my 2.78. Not a hiccup to be seen. Not a freeze to be had. Whatever is causing this problem was introduced in 2.79.

It renders fine here as well (CPU only)

What CPU are you using?

And do you have anything in the event log around the time your computer stalls? Anything about Event ID 4101?
Display Driver Timeout - MS TechNet

Sorry, I see i5-6600K now.

Yes, I do see Event ID 4101 in my event log.

I just recreated the issue twice, and checked my event log. The first time, I stopped the render after it froze but before it crashed. No new events. The second time, I let it go until it crashed. When everything recovered, there were 5 new instances of Event ID 4101 followed by an Event ID 10016 20 seconds later. The computer was frozen for over 20 seconds and, but i dont know if that was while it was frozen or after. It might be unrelated because I see 5 or 6 of those over the last couple days.

You can always try this:

Run Blender with --debug-cycles command line argument to make prints much more verbose to see where exactly things stuck. The resulting messages might help developers.

Also:

Was crash log generated? Please upload if it does. Thanks.
https://docs.blender.org/manual/en/dev/troubleshooting/crash.html

Bastien Montagne (mont29) triaged this task as Needs Information from User priority.Jul 4 2017, 1:33 PM
zzzzzig (zzzzzig) added a comment.EditedJul 5 2017, 9:22 PM

I tested a few more times. No crash log generated. Unlike before, instead of recovering from the graphics crashing with blender frozen, I got a blue screen. The error reported on the blue screen was "VIDEO_SCHEDULER_INTERNAL_ERROR". I repeated this twice. The System event log had one instance of Event ID 4101 and one instance of Event ID 10016.

In order to test with --debug-cycles, I created a shortcut and modified the target field to be "C:\zPortablePrograms\blender-2.79-testbuild1\blender.exe --debug-cycles" (with no quotes). Weirdly, I could not reproduce the problem when blender was run from this shortcut. I figured it might be some kind of fluke, so I tested the same thing with just running blender.exe. It crashed my computer, and that was how I got the second BSOD from above. After that, I tried the shortcut I made, and again, no problems.

EDIT: Spoke too soon. I figured --debug-cycles should probably have no effect on whether the problem appears or not. I tested in a .blend with a shaderball and a much more complex procedural material, and I got a crash. This time, no BSOD, but my monitor reported no input for about 5 mins. No crash log or anything. The event viewer has, over the course of 6 mins, an Event ID 10016 (Distributed COM), 3x Event ID 4101 (Display), an Event ID 10010 (Distributed COM),and another instance of Event ID 10016. Lastly, there was an info event Event ID 12 (UserModePowerService) that seems to come from Avast.

For my reference, in case I need to look up more info later, the time started at 7/5/2017 3:46:54 PM

ID 4101 is tdr timeout, try using a smaller tile size.

zzzzzig (zzzzzig) added a comment.EditedJul 5 2017, 10:12 PM

I just tried setting the tile size from 32x32 to 16x16. No crash on the first render, yes crash on the second try around 30 tiles in.

I just tried 8x8 tile size. I could not get it to crash after 3 rerenders at increasing resolutions.

I just tried 64x64 tile size. It froze solid around halfway through, but unfroze and was done rendering.

I just tried 64x64 tile size at a higher resolution, 75% of 1920x1080 instead of 50%. It crashed with my monitor saying no input. It recovered, and blender was non-responsive.

Again, just restating that this is all on CPU. After reinstalling my graphics drivers, GPU works fine.

was that a cpu or gpu render?

Sorry, this is on CPU.

That's weird, you should only have 4101 when rendering on the gpu.... just throwing out random ideas here, there's a known issue with hyperthreading on your cpu [1], try tuning it off in the bios , see if that solves anything

[1] https://arstechnica.com/information-technology/2017/06/skylake-kaby-lake-chips-have-a-crash-bug-with-hyperthreading-enabled/

Aah. My CPU (i5-6600K ) doesn't have hyperthreading. 4 cores, 4 threads.

well there goes that idea... given we're not rendering on the gpu, but it's still stalling the video drivers, try replacing the opengl driver with a software version from

http://download.blender.org/ftp/sergey/softwaregl/win64/opengl32.dll

just copy the dll into your blender folder (and remove it when you are done testing, performance will be very bad otherwise) and see if that improves things.

Tested. No crashing. Seems to render about as fast too. Everything runs at around 10 FPS though.

seems like an nvidia opengl driver bug then..... try upgrading/downgrading your drivers,maybe report it to nvidia?

Im using an AMD radeon rx470. No Nvidia here.

Also, I just tried at a higher resolution with the software openGL, and it froze, but recovered. The event viewer reports an DistributedCOM Event ID 10016.

let me rephrase then.

seems like an amd opengl driver bug then..... try upgrading/downgrading your drivers,maybe report it to amd?

:)

Ok. I downgraded my display driver, but there was no improvement, so I made a report to AMD.

Testing with OpenGL32.dll (software rendering) proves that currently it was a driver issue. Therefore closing this bug report for now.

Fable Fox (fablefox) closed this task as Invalid.Jul 14 2017, 3:16 PM
Fable Fox (fablefox) claimed this task.