Page MenuHome

BLENDER CRASH WINDOWS 10 SERVICE WHEN USING EEVEE GPU RENDERER
Closed, ArchivedPublic

Description

Operating system: Windows 10
Graphics card: GeForce GTX 1080 (Nvidia driver 461.72)

Blender Version: 2.93.x


  • Output log: ------------------------------------------------------------------

Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Warning! Using result of ChoosePixelFormat.
Win32 Error# (127): The specified procedure could not be found.

Error : EXCEPTION_ACCESS_VIOLATION
Address : 0x00007FF89D761F21
Module : VCRUNTIME140.dll
Thread : 00005680
Blender 2.93.5 (hash a791bdabd0b2 built 2021-10-06 06:44:49)
Read prefs: C:\Users\ralvarez\AppData\Roaming\Blender Foundation\Blender\2.93\config\userpref.blend
Read blend: E:\share\cloud\clients\SquidNet\sync\bmw/bmw27_gpu.blend
Writing: C:\Users\ralvarez\AppData\Local\Temp\bmw27_gpu.crash.txt


  • Setup ------------------------------------------------------------------

Blender crash when submitting an EEVEE GPU render job using Blender latest (2.93.5) as a background task under a Windows 10 service.

The process that spawns the render job is a Windows 10 service. The same execution logic works for all other Blender jobs (CYCLES, CPU, GPU, etc...) but only fails when specifying EEVEE as the main renderer. If executed from a DOS terminal everything works as expected (ie; no crash) ( see render command command below)

Render command:
\\WDMYCLOUDEX4\Public\SquidNet\Applications\blender-2.93.5-windows-x64\blender.exe -b E:\share\cloud\clients\SquidNet\sync\bmw/bmw27_gpu.blend -x 1 -s 2 -e 2 -j 1 -F PNG -E BLENDER_EEVEE -P "C:\Program Files\SquidNetSoftware\SquidNet\plugins\/blender/squidnet_blender_gpu_render.py" -o E:\share\jobs/SquidNet/user1/BLENDER_GPU/slices/slice-2/bme-gpu- -a -y

In this example, Blender is installed on network share folder. The same issue occurs when blender is started from a local disk folder as well.

NOTE: Setting the Windows session id to "1" appears to solve the issue but is not a preferred workaround.

Event Timeline

Raimund Klink (Raimund58) changed the task status from Needs Triage to Needs Information from User.Oct 26 2021, 7:32 PM

And please update your GPU driver. It can fix things as well :)

Ray Molenkamp (LazyDodo) closed this task as Archived.Oct 26 2021, 7:50 PM

Windows does not support creating an OpenGL context from a background service, there's sadly nothing we can do about that.

Thanks for quick response !!

In our logic, we noticed that running Blender in a background task under Windows session ID "1" appears to work "as long as there's an active desktop"

We'll continue to search for a workaround and will post any positive updates here !!

Thanks again Guys !!

Update: In case someone needs a partial workaround for this.

We think we've come up with a possible (but not ideal) solution to this issue. Basically, in our product we've managed to launch blender as a background task under the session id of an already logged in user or process. This implies that the rendering host must already have an existing logged in desktop session.

Again, not ideal, but this workaround at least prevents the need to run blender from an open DOS command line window.

We've posted an update on our product webpage: https://www.squidnetsoftware.com

Hi Ralph, it sounds great that you have find a solution to this problem. I have a similar issue. As long I have the remote connection opened to the computer my python script calling blender works fine. Exiting the remote session, I get the same issue as you. Has you fine a solution or could you give me an advise how I could run my script without beeing logged in the computer.

Hey Mike,

Unfortunately, we were never able to find a solution for this. For our workflow, we just created an EEVEE pool of Squidnet render machines RDP'd (logged in) that can optionally process those types of jobs.

Let us know if you do find a solution

Hi Ralph, as you know it must be connected to some user (session not equal 0) in order to have the graphic interface avaiable. There are some ways one can think about. It is possible to configure a service or a scheduled task started under a user account. There also exist something like autologon (not nice).