redhat-developer / redhat-developer/vscode-java
Java extensions crashing upon open *.java file
オープン
まだ誰も着手していません。
extension-start
- 主要言語
- TypeScript
- スター
- 2.3k
- フォーク
- 546
- 平均マージ
- 20時間 1分
- マージ済み PR(30日)
- 11
説明
[provide a description of the issue]
The Language Support for Java server crashed 5 times in the last 3 minutes. The server will not be restarted.
Environment
- Operating System: Windows 11 Pro 21H2
- JDK version: openjdk 18.0.2 2022-07-19
- Visual Studio Code version: 1.70.2
- Java extension version: v1.9.0
Steps To Reproduce
- [step 1] Open Visual Studio Code
- [step 2] Open any *.java file
[Please attach a sample project reproducing the error]
class Main
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
{
message: "Use the JDK from 'JAVA_HOME,PATH' as the initial default project JDK.",
level: 'info',
timestamp: '2022-08-18 17:07:23.433'
}
{
message: 'Starting Java server with: c:\\Users\\Otávio Augusto Silva\\.vscode\\extensions\\redhat.java-1.9.0-win32-x64\\jre\\17.0.3-win32-x86_64\\bin\\java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -DwatchParentProcess=false -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:c:\\Users\\Otávio Augusto Silva\\.vscode\\extensions\\redhat.java-1.9.0-win32-x64\\lombok\\lombok-1.18.24.jar -jar c:\\Users\\Otávio Augusto Silva\\.vscode\\extensions\\redhat.java-1.9.0-win32-x64\\server\\plugins\\org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration c:\\Users\\Otávio Augusto Silva\\AppData\\Roaming\\Code\\User\\globalStorage\\redhat.java\\1.9.0\\config_ss_win -data c:\\Users\\Otávio Augusto Silva\\AppData\\Roaming\\Code\\User\\workspaceStorage\\092e9f14627920ce78f64c2dbd9c572e\\redhat.java\\ss_ws',
level: 'info',
timestamp: '2022-08-18 17:07:23.477'
}
{
message: 'Starting Java server with: c:\\Users\\Otávio Augusto Silva\\.vscode\\extensions\\redhat.java-1.9.0-win32-x64\\jre\\17.0.3-win32-x86_64\\bin\\java --add-modules=ALL-SYSTEM --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/sun.nio.fs=ALL-UNNAMED -Declipse.application=org.eclipse.jdt.ls.core.id1 -Dosgi.bundles.defaultStartLevel=4 -Declipse.product=org.eclipse.jdt.ls.core.product -Djava.import.generatesMetadataFilesAtProjectRoot=false -Dfile.encoding=utf8 -DwatchParentProcess=false -XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:c:\\Users\\Otávio Augusto Silva\\.vscode\\extensions\\redhat.java-1.9.0-win32-x64\\lombok\\lombok-1.18.24.jar -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=c:\\Users\\Otávio Augusto Silva\\AppData\\Roaming\\Code\\User\\workspaceStorage\\092e9f14627920ce78f64c2dbd9c572e\\redhat.java -jar c:\\Users\\Otávio Augusto Silva\\.vscode\\extensions\\redhat.java-1.9.0-win32-x64\\server\\plugins\\org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar -configuration c:\\Users\\Otávio Augusto Silva\\AppData\\Roaming\\Code\\User\\globalStorage\\redhat.java\\1.9.0\\config_win -data c:\\Users\\Otávio Augusto Silva\\AppData\\Roaming\\Code\\User\\workspaceStorage\\092e9f14627920ce78f64c2dbd9c572e\\redhat.java\\jdt_ws',
level: 'info',
timestamp: '2022-08-18 17:07:23.629'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:23.654'
}
{
message: 'The Language Support for Java (Syntax Server) server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:23.657'
}
{
message: '[Info - 17:07:23] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:23.657'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:23.818'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:23.821'
}
{
message: '[Info - 17:07:23] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:23.821'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:23.837'
}
{
message: 'The Language Support for Java (Syntax Server) server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:23.840'
}
{
message: '[Info - 17:07:23] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:23.840'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:23.995'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:23.997'
}
{
message: '[Info - 17:07:23] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:23.998'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:24.012'
}
{
message: 'The Language Support for Java (Syntax Server) server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:24.015'
}
{
message: '[Info - 17:07:24] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:24.015'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:24.158'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:24.161'
}
{
message: '[Info - 17:07:24] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:24.162'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:24.174'
}
{
message: 'The Language Support for Java (Syntax Server) server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:24.176'
}
{
message: '[Info - 17:07:24] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:24.176'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:24.325'
}
{
message: 'The Language Support for Java server crashed and will restart.',
level: 'error',
timestamp: '2022-08-18 17:07:24.327'
}
{
message: '[Info - 17:07:24] Connection to server got closed. Server will restart.',
level: 'info',
timestamp: '2022-08-18 17:07:24.328'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:24.339'
}
{
message: 'The Language Support for Java (Syntax Server) server crashed 5 times in the last 3 minutes. The server will not be restarted.',
level: 'error',
timestamp: '2022-08-18 17:07:24.341'
}
{
message: '[Error - 17:07:24] Connection to server got closed. Server will not be restarted.',
level: 'info',
timestamp: '2022-08-18 17:07:24.341'
}
{
message: '*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message find class on InstrumentationImpl failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 494\n' +
'*** java.lang.instrument ASSERTION FAILED ***: "result" with message instrumentation instance creation failed at e:\\jenkins\\tmp\\workspace\\build\\src\\src\\java.instrument\\share\\native\\libinstrument\\JPLISAgent.c line: 402\n',
level: 'info',
timestamp: '2022-08-18 17:07:24.484'
}
{
message: 'The Language Support for Java server crashed 5 times in the last 3 minutes. The server will not be restarted.',
level: 'error',
timestamp: '2022-08-18 17:07:24.487'
}
{
message: '[Error - 17:07:24] Connection to server got closed. Server will not be restarted.',
level: 'info',
timestamp: '2022-08-18 17:07:24.488'
}
Current Result
Expected Result
Additional Informations
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
提供された Main.java の例を開いて、Windows 11、JDK 18、VS Code 1.70.2、Java 拡張機能 v1.9.0 でクラッシュを再現することから始めます。Java language server の起動ログ、特に java.lang.instrument のアサーション失敗を調査します。.java ファイルを開いてもサーバーが繰り返しクラッシュしなくなれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, typescript
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 35/100