Blender force close with EXCEPTION_ACCESS_VIOLATION
Closed, ResolvedPublic

Description

System Information

  • Windows 10 V1703 build 15063.483
  • GPU NVidia 660Ti tested with drivers : 382.33 382.53 384.76

Blender Version

  • Blender 64bits, tested versions (fresh download and install zip version, also cleaned the user profile between each):

Official 2.78c (same one I was using without issue since the release)
blender-2.78-c9817c6-win64
blender-2.80-2a48927-win64-vc14

Short description of error
I have used the same system for year without issues.
Since a few days when I try to start blender it just crash with:
Error: EXCEPTION_ACCESS_VIOLATION
If fresh install and nothing in the user profile, it does start, but accessing the user preference, doing anything related to cycle or rendering cause the crash.
If there is anything in the user profile, it does not even start, just crash immediately.
As there was no change to blender itself and it's consistant with the 3 last GPU drivers (including the one that was working for sure) it could be related to one of the recent Windows update.

Exact steps for others to reproduce the error

  • Try to start Blender... crash

OS and drivers are fully up-to-date. Cleaned and reinstalled GPU drivers each time.
Antivirus do not change anything.
File location do not change anything.
No other Python installed.
Tested (when it accept to start) with old, recent and new .blend file with the same result.
There is test.crash.txt or crash file generated in the tmp folder

Running with factory setting does not even popup the windows, it crash.
Running with -d report the two attached file depending if there is anything in the user roaming profile or not.


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

Also, launch Blender from the command line with -d option and attach as text file here any error printed out in the console (do not paste it directly in comment).

It also worth running Blender with --debug-cycles command line argument to make prints much more verbose to see where exactly things stuck.

Hi

Was crash log generated? Please upload if it does. Thanks.

No crash log generated (as mentioned in original post)

launch Blender from the command line with -d option

See previous post and attachment

Blender with --debug-cycles command line argument


Attached, run with an empty user roaming profile.

After crash, the tmp folder defined both in the old user preference or in the Windows EV, does not contain anything related to blender
With arguments -d --debug_all --factory-startup there is no additional info reported.
When using -d --debug_all --debug-gpu only additional info are:

Using OpenGL 4.3 debug facilities
GL application marker: Successfully hooked OpenGL debug callback.
GL_CONTEXT_PROFILE_MASK = 0x2 (compatibility profile
```)

If useful, I ran procmon on it, it seems to break when reaching the GUI/various graphical dll. I tried to uninstall, reinit and reinstall the GPU drivers, but still same result.

To get driver issue out of the way, you can try software rendering.

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.

with the dll in the folder, the same result happen. There is also no additional debug info returned except the opengl selection/force.
See attached file with various debug flag added:

Add:
I used DDU to remove all trace of drivers from the system, this time also removed dome Intel driver from the integrated IGP just in case.. After reboot and installing the latest NVidia the same happen (I kind of was wishing it could be some mismatch with Intel IGP but no)

and with windows 7? Windows 10 is known for it's instability. It's only 2 years old...
At least on windows 7, the bug is not reproducible.

matali23 (matali23) triaged this task as Incomplete priority.Jul 18 2017, 1:58 PM

On an other system with W7 it works, but not the same soft/hard of course.
If it would have been never working since the beginning under W10, I would have guessed a W10 issue, but here, I had no issues on W10 with same hardware/drivers since more than one years (even after the W10 update). And I cannot reinstall the full machine with W7 just for a test (blender is far to be the only thing installed on the main machine)

I did more test on this one and ran it in the Windows debugger. Tested it with the same 3 set of drivers, including the one I know it was working before.
I'm attaching the file. Is there a command line option to disable the use of cuda ? (as a test)

And I justed tested with the new released driver 384.76 same result.

Additional test:
I removed my graphic card, cleaned up all drivers trace from nvidia.
rebooted
ran blender, it complained about no GPU or opengl.
Enabled the dll for software opengl and it started.
Then I installed a new GPU (1080Ti), installed the latest drivers from nvidia
Started blender and... same issue as before, it crash at the same location/thing (the cuda dll)
I can't believe I'm the only one....

Bastien Montagne (mont29) raised the priority of this task from Incomplete to Normal.Aug 11 2017, 2:36 PM

So this is a CUDA/driver issue…

@Sergey Sharybin (sergey) or @Mai Lavelle (maiself) may have ideas of things to try/check here?

@Fable Fox (fablefox), don't know how else to contact you, so sadly i'll have to clutter up this ticket . I see you ask for crashdumps quite frequently, the windows version of blender downloaded of our website will *NEVER* make a crashdump, so you can save your self some posts by skipping that step in the future.

Tested with new nVidia driver 385.28 after a clean upgrade... same result.

Might have found something. When using GPU-Z (not sure if it's info is accurate or not), it does not show that OpenCl, CUDA or PhysX are available. But they are installed and drivers when instaled clean (only graphic drivers and PhysX, no #D stuff installed)

Tried with, again, a new drivers install, with same result.

I put a build that will produce crash information a while ago here : http://graphicall.org/1222 (not the most recent build, but given all builds seem to crash for you it shouldn't matter that much)

can you run this build, and if it crashes look for the crash log in either the same directory as your blender.exe or in your %temp% folder (you can just hit windows+r enter %temp% and it'll open up the right folder for you)

Thanks. It does crash and generate the dump log. There is really something wrong with the cuda detection.

Looked in the matching source, it's the call to cuInit that makes it crash, @Brecht Van Lommel (brecht) do you have any clever ideas how to trouble shoot this?

@Laurent Marechal (lmarecha) do other applications that use cuda work?

CUDA-Z can be used to test if the CUDA installation is working: http://cuda-z.sourceforge.net/

My guess is that the NVidia driver was not fully installed or uninstalled at some point, and that there's an nvcuda.dll remaining that will crash when used because some other files are missing. Perhaps some conflict between Windows-installed and manually installed drivers, or a virus scanner interfered. Typically my advice would be to uninstall all graphics drivers (also Intel and AMD if they exist), and then reinstall all. But it seems that has been tried here already.

cuInit() is the very first function we call, there's not a lot we could be doing wrong with that. To fix this crash on the Blender side we would need to either not call into the library at all (but we don't know how to detect that case), or we could try handling the signal and recovering from the crash (which could be impossible, but maybe worth trying anyway).

Thank, I downlaoded Cuda-Z. It crash as soon as I try to execute it. So the cuda part is definitivelly bad.
I did already try to unsintall and reinstall, even using DDU to cleanup. I did open a ticket with NVidia, I don't know if they usually respond or not to such issue.

  • While it's not directly a blender issue it seems, it would still be nice if blender would intercept the error and not crash, it could run in "degraded mode" (using only CPU) and inform the user.

cuInit is supposed to return an error code, and we deal with that in exactly that way in case it fails (not crash, but run in a mode not offering cuda acceleration),the problem on your machine, nvidia's code seems to be ruining the stack pointer, it's pretty much impossible to protect your self from that or recover from it.

I've committed some changes to try to recover from crashes in nvcuda.dll, which may or may not work, I can't test it myself. Tomorrow's build from https://builder.blender.org/download/ should have it.

Downloaded blender-2.79-049932c-win64 from daily build.

It's indeed not crashing anymore at start-up, and all GPU/cuda selection are disabled.

Brecht Van Lommel (brecht) claimed this task.

Thanks for testing, I'll consider this resolved from the Blender side then. Not much else we can do if the driver itself is broken.