BLENDER CRASH WINDOWS 10 SERVICE WHEN USING EEVEE GPU RENDERER #92506

Closed
opened 2021-10-26 18:12:48 +02:00 by Ralph Alvarez · 15 comments

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.

bmw27_gpu.crash.txt

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. [bmw27_gpu.crash.txt](https://archive.blender.org/developer/F11525674/bmw27_gpu.crash.txt)
Author

Added subscriber: @squidnet

Added subscriber: @squidnet

Added subscriber: @Raimund58

Added subscriber: @Raimund58

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Do you have a display connected? See: https://docs.blender.org/manual/en/latest/render/eevee/limitations.html#headless-rendering

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

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

Added subscriber: @LazyDodo

Added subscriber: @LazyDodo
Member

Changed status from 'Needs User Info' to: 'Archived'

Changed status from 'Needs User Info' to: 'Archived'
Member

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

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

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 !!

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 !!
Member
If you want to read up on this limitation MS has documentation available here https://techcommunity.microsoft.com/t5/ask-the-performance-team/application-compatibility-session-0-isolation/ba-p/372361
Author

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

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

Added subscriber: @JonnyJoker

Added subscriber: @JonnyJoker

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.

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.
Author

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

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).

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).
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 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-addons#92506
No description provided.