Windows上のJetBrains IDEで.vmopitonsファイルに「-Dfile.encoding=UTF-8」指定時に起動しない問題

投稿日 投稿者 Masaru Horioka

[2020/5/1] IntelliJ IDEA/PhpStorm/RubyMine/WebStorm/PyCharm/CLion 2020.1.1 GoLand/Rider 2020.1.2, AppCode(未対応)  (JBR: JetBrains Runtime バージョン: 11.0.6+8-b765.40 であれば対応済みです)
で問題が修正されています。JetBrains Toolbox AppまたはIDEからアップデートが利用可能です。

[2020/4/28] Choose Runtimeプラグインによる修正済みJBRの利用方法を追記

こんにちは。JetBrains堀岡です。

IntelliJ IDEA等のJetBrains IDE製品をWindows上でお使いの一部のお客様から2020年3月のアップデート後やバージョン2020.1以降において、.vmoptionsに-Dfile.encoding=UTF-8が指定されている時にIDEが起動しない問題(JBR-2210:関連していると思われるJDKのIssue:JDK-8241129)ご報告いただいていおります。

現在問題の調査中修正版の正式リリース待ちですが、問題の症状や回避策について説明いたします。

banner1

問題の症状例

Windows環境のIntelliJ IDEA(またはPhpStorm, PyCharm, RubyMine, CLion, GoLand, Rider, DataGrip等その他のJetBrains IDE)を2019.3.4にアップデート後、IDEが起動しない。

C:\Users\<User名>\ に 以下のメッセージを含むjava_error_in_idea_xxxxxx.log エラーログが生成される。

————— T H R E A D —————

Current thread (0x000000001a947800): JavaThread “AWT-EventQueue-0” [_thread_in_native, id=9756, stack(0x000000001d2a0000,0x000000001d3a0000)]

Stack: [0x000000001d2a0000,0x000000001d3a0000], sp=0x000000001d39d210, free space=1012k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [awt.dll+0x90cd6]

siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0x0000000000000058

 

原因/発生条件

現在のところ、以下の条件を満たす場合、JBR(JetBrains Java Runtime)がクラッシュするため、IDEが起動しないことが確認されています。

  • IDE起動時に参照されるJava VM Option file(.vmopitons設定ファイル)に「-Dfile.encoding=UTF-8」が指定されている
  • IDEに同梱・使用しているJBR(JetBrains Java Runtime)のバージョンが、Java version: 11.0.6+8-b520.43amd64 
    • IntelliJ IDEA 2019.3.4や2020.1等JetBrains IDEの2020年3月の更新版に含まれています。

JBRのバージョンは以下のメニューから確認可能です。

[Help] – [Collect Troubleshooting Information]

Windows上のIntelliJ IDEA 2019.3.4での出力例

Build version: IntelliJ IDEA 2019.3.4 Build #IU-193.6911.18 March 17, 2020
Java version: 11.0.6+8-b520.43amd64
Operating System: Windows 10 (10.0, amd64)
JVM version: OpenJDK 64-Bit Server VM JetBrains s.r.o

問題の回避方法

以下のいずれかで回避可能です。

(1) [2020/4/28追記] Choose Runtimeプラグインを用いて修正済みJBRを適用

IDEリリーズ前に、修正が入った最新版のJBR( jbr-11_0_6-windows-x64-b818.2 )をいち早くお試しになりたい場合Choose RuntimeによるJBRの変更(こちらの手順を参考)をご利用ください。

⚠️ Pleiades日本語化プラグインをお使いの場合、JBRを変更すると起動しなくなることがあります。その際はPleiadesのcache

例)C:\Users\<User名>\.PyCharm2020.1\config\jp.sourceforge.mergedoc.pleiades\cache

を削除すると改善することがあります。これでも改善しない場合、JetBrainsはPleiadesについてはサポート対象外ですので、こちら(Pleiades開発元WillBrains様)にお問い合わせください。

(2) .vmoptionファイルを編集し、「-Dfile.encoding=UTF-8」を削除または「#」でコメントアウトする。

.vmoptions設定ファイルの場所については以下を参照。

JetBrains Toolboxを使用していない場合

例(IntelliJIdeaやidea64はご使用の製品により異なります):

configurationディレクトリ(2019.3まで | 2020.1以降
C:\Users\<User名>\.IntelliJIdea2019.3\config\idea64.exe.vmoptions(通常vmoptionsファイルのカスタマイズはこちらのファイルが使用・優先されます)
及び・または

<インストール先>binディレクトリ
C:\Program Files\JetBrains\IntelliJ IDEA 2019.3.3\bin\idea64.exe.vmoptions(デフォルトのインストール先。idea64.exeと同じフォルダに.vmoptionsファイルがある。)

参考:vmoptionsについて  https://intellij-support.jetbrains.com/hc/en-us/articles/206544869-Configuring-JVM-options-and-platform-properties

JetBrains Toolboxを使用している場合

  • Toolboxがデフォルトで使用する.vmoptionsの編集

ToolboxのからIDE名の右側の六角アイコンをクリックし、Settingsを選択します。

ToolboxIJSettings

Java Virtual Machine options の [Edit…] からエディタを起動し編集します。

ToolboxVMoptions2

[Edit…] ボタンを押してもエディタが起動しない場合、適当な場所(デスクトップ等)に拡張子が.vmoptionsの ファイル(例: foo.vmoptions)を作成し、Windows上でエディタ等と.vmoptionsファイルの関連付けを行ってから再度お試しください。

  • (2020/3/30追記)ToolboxでインストールされたIDE実行ファイルと同じ場所に存在する.vmoptionsの編集

ToolboxでインストールされたIDEのexeファイルと同じ場所にある<IDE実行ファイル名>.vmoptionsファイルを変更している場合、以下を手順で.vmoptionsファイルを確認、編集してください。

Install locationのShowをクリックし、インストール場所を開く

ToolboxIDEInstallLocation

<ToolboxによるIDEインストール場所>以下のbinディレクトリ内にある<IDE実行ファイル名>.vmoptionsファイルを同様に編集する。

vmoptionForToolboxInstalledIDEexe

(3)古いバージョンまたはJBR 8バンドル版を使用する

何らかの問題の回避等のため、.vmoptionsファイルで、-Dfile.encoding=UTF-8の指定が必要な場合、 JetBrains Toolboxを使用して以前のバージョンに戻す、またはIDEのダウンロードページ(https://www.jetbrains.com/ja-jp/idea/download/other.html) 等 から以前のバージョンまたはJBR 8バンドル版(2019.3.xでは一部IDEで利用可能)を使用してください。

ただし、2020.1以降はJRB 8バンドル版は提供されない予定なので注意が必要です。JBRの修正をお待ちください。

 

問題の修正予定

この問題の修正状況の通知、早期修正を希望する場合、JetBrainsのissueページでvote(いいねアイコン)をお願いします。
https://youtrack.jetbrains.com/issue/JBR-2210

2020年4月24日現在、開発チームからの情報では、JBR自体には jbr-11_0_6-windows-x64-b818.2 で修正が入っており、次回のIDEのマイナーリリース(IntelliJの場合 2020.1.1 ただしJBRのバージョンは異なる)で修正が同梱される予定であるとのことです。

参考: YouTrack(JetBrains製品の課題管理システム)で課題に対して投票(Vote)及び更新情報を購読する方法
https://intellij-support.jetbrains.com/hc/en-us/articles/207241135-How-to-follow-YouTrack-issues-and-receive-notifications

その他

フィードバックやご質問等ございましたら、twitterか日本語営業窓口までお知らせください。