Cryptomator Desktop Crash after 1.4.15 Update, EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d) / d3d9.dll

After updating my Desktop app to Version 1.4.15 (by uninstalling the previous version and then running the installer for the new version), Cryptomator crashes for me on almost any user action. I can view the application settings, but if I click to add a vault or open the “preferred volume type” drop-down the application crashes immediately.

Error Log:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d) at pc=0x00007fff8753cd21, pid=1424, tid=10376
#
# JRE version: OpenJDK Runtime Environment (11.0.2+7) (build 11.0.2+7)
# Java VM: OpenJDK 64-Bit Server VM (11.0.2+7, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C  [d3d9.dll+0xacd21]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  S U M M A R Y ------------

Command Line: -Djava.library.path=D:\Cryptomator\app;D:\Cryptomator -Djava.launcher.path=D:\Cryptomator -Dapp.preferences.id=org/cryptomator -Dcryptomator.logDir=~/AppData/Roaming/Cryptomator -Dcryptomator.settingsPath=~/AppData/Roaming/Cryptomator/settings.json -Dcryptomator.ipcPortPath=~/AppData/Roaming/Cryptomator/ipcPort.bin -Dcryptomator.keychainPath=~/AppData/Roaming/Cryptomator/keychain.json -Xss2m -Xmx512m org.cryptomator.launcher.Cryptomator

Host: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz, 12 cores, 31G,  Windows 10 , 64 bit Build 18362 (10.0.18362.329)
Time: Wed Oct  9 13:42:07 2019 GMT Summer Time elapsed time: 7 seconds (0d 0h 0m 7s)

---------------  T H R E A D  ---------------

Current thread (0x00000206f7de3800):  JavaThread "QuantumRenderer-0" daemon [_thread_in_native, id=10376, stack(0x0000001879200000,0x0000001879400000)]

Stack: [0x0000001879200000,0x0000001879400000],  sp=0x00000018793fea40,  free space=2042k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [d3d9.dll+0xacd21]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.prism.d3d.D3DResourceFactory.nReadPixelsI(JJJLjava/nio/Buffer;[III)I+0
j  com.sun.prism.d3d.D3DRTTexture.readPixels(Ljava/nio/Buffer;)Z+144
j  com.sun.javafx.tk.quantum.UploadingPainter.run()V+894
j  java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4 java.base@11.0.2
j  java.util.concurrent.FutureTask.runAndReset()Z+44 java.base@11.0.2
j  com.sun.javafx.tk.RenderJob.run()V+1
j  java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+92 java.base@11.0.2
j  java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 java.base@11.0.2
j  com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run()V+8
j  java.lang.Thread.run()V+11 java.base@11.0.2
v  ~StubRoutines::call_stub

siginfo: EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d)

Anyone with a better technical understanding able to suggest a solution or further troubleshooting steps, please?

I’ve already attempted re-installing Cryptomator, Java, DirectX and running Windows updates. No change.

If you need additional info, please let me know.

Thanks.

The crash occurs inside of d3d9.dll, i.e. DirectX. The only useful hint I found, was a pretty old thread pointing to a software called “RivaTuner” that interfered with the graphics driver. Do you have any software that might affect your drivers?

You can try turning of graphics acceleration for the GUI renderer by adding the line -Dprism.order=sw to the [JVMOptions] section of C:\Program Files\Cryptomator\app\Cryptomator.cfg.

1 Like

Thank you so much for taking the time to help. Very pleased to confirm your solution works. I never would have expected that to be the cause.

I use RivaTuner (bundled with MSI Afterburner) to monitor hardware temperatures and show them on an on-screen overlay. Uninstalling RivaTuner allowed me to add my existing vaults to Cryptomator once again. I re-installed an updated version of RivaTuner to test and found that if the vaults are already configured in Cryptomator, you can still open them using the password regardless of whether RivaTuner is installed/running. However, the user actions I listed in my first post cause the Cryptomator Windows application to crash while RivaTuner is running (Cryptomator 1.4.15 with MSI Afterburner 4.6.1 and RivaTuner 7.2.2).

Adding -Dprism.order=sw to [JVMOptions] of Cryptomator.cfg as @overheadhunter advised resolved the problem and allows both programs to operate as normal when running simultaneously.

Interested in investigating a bit further, I found that adding an exception for Cryptomator.exe within RivaTuner’s settings to disable the hooking it uses for “application detection, statistics collection and On-Screen Display rendering” also seems to resolve the problem (tested with the -Dprism.order=sw line removed from Cryptomator.cfg). RivaTuner settings shown here: