最近、Cryptomator のアップデートをすると起動しなくなることがあり、全然 Fix されないので調査しました。
マイナーなアプリ?な情報があまり上がっていませんでしたので、同じような状態で困っている方の助けになれば幸いです。
Cryptomator って何?
仮想ドライブを作成し、その中で管理されるファイルはファイル単位で暗号化し、実際の保存領域ではディレクトリ構造やファイル名なども構成をかえるアプリです。
乱暴な言い方をすると、ランサムウェアの技術を良い方向に活用しているようなアプリです。(技術は使い方次第という良い見本の素晴らしいアプリです。)
私はクラウドで端末間を同期するファイルの安全性を向上するために使用しています。
原因
Cryptomator 1.5.9 以降で発生する現象のようです。
私の環境では、以下のようなエラーログファイルが生成されていました。
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffb7dcaf932, pid=14612, tid=10856
#
# JRE version: OpenJDK Runtime Environment AdoptOpenJDK (15.0.1+9) (build 15.0.1+9)
# Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (15.0.1+9, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C [awt.dll+0x8f932]
#
# 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:
# https://github.com/AdoptOpenJDK/openjdk-support/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Java Runtime に渡す引数が原因で、日本語環境で影響が発生しているとのこと。
(根本原因はまた別にあるのですが。。。)
公式 GitHub に Issues として報告が上がっていました。
Cryptomator doesn't open in Windows 10 with Japanese UI - OpenJDK bug? #1465
https://github.com/cryptomator/cryptomator/issues/1465
解決方法
2パターンあります。
設定ファイルの修正
Cryptomator.cfg
ファイル内の以下の行を削除してください。
java-options=-Dfile.encoding=utf-8
標準インストール環境では、C:\Program Files\Cryptomator\app\Cryptomator.cfg
にあるかと思われます。
ロールバック
よくわからない場合はこちらを推奨。
アンインストールした後で、改めて Cryptomator 1.5.8 をインストールしなおします。
Cryptomator 1.5.8
https://github.com/cryptomator/cryptomator/releases/tag/1.5.8
私は scoop で管理していたので、シンボリックリンクの張り直しでロールバックが完了しました。
(scoop は前バージョンを消さずに新しいバージョンをインストールできるので、問題が発生したときに楽にロールバックできて便利!)