JShellHeapDumpTest fails consistently on Windows
- Dominant language
- HTML
- Stars
- 155
- Forks
- 346
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 36
Description
sun/tools/jhsdb/JShellHeapDumpTest.java fails on all jdk-11+ versions
https://ci.adoptium.net/job/Test_openjdk17_hs_extended.openjdk_x86-32_windows_rerun/36/console
```
16:29:24 STDOUT:
16:29:24 Starting Jshell
16:29:24 [JShell]:c:\jenkins\workspace\Test_openjdk17_hs_extended.openjdk_x86-32_windows_rerun\jdkbinary\j2sdk-image\bin\jshell.exe -J-ea -J-esa -J-Xmx512m -J-Duser.language=en -J-Duser.country=US
16:29:24 [JShell] | Welcome to JShell -- Version 17.0.14
16:29:24 [JShell] | For an introduction type: /help intro
16:29:24 Jshell Started in 1307ms
16:29:24 Starting jmap against 8620
16:29:24 [2025-01-15T16:29:15.837032300Z] Gathering output for process 65952
16:29:24 [2025-01-15T16:29:16.102593400Z] Waiting for completion for process 65952
16:29:24 [2025-01-15T16:29:16.102593400Z] Waiting for completion finished for process 65952
16:29:24 Output and diagnostic info for process 65952 was saved into 'pid-65952-output.log'
16:29:24 jhsdb jmap stdout:
16:29:24 Attaching to process ID 8620, please wait...
16:29:24
16:29:24 jhsdb jmap stderr:
16:29:24 Error attaching to process: Windbg Error: WaitForEvent failed! (hr: 0x80004002)
16:29:24 sun.jvm.hotspot.debugger.DebuggerException: Windbg Error: WaitForEvent failed! (hr: 0x80004002)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.attach0(Native Method)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.attach(WindbgDebuggerLocal.java:152)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:651)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebuggerWin32(HotSpotAgent.java:549)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:366)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:337)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:142)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.start(Tool.java:203)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.execute(Tool.java:134)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.tools.JMap.main(JMap.java:202)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runJMAP(SALauncher.java:340)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:500)
16:29:24
16:29:24
16:29:24 ###### End of all output:
16:29:24 Jshell not alive
16:29:24 STDERR:
16:29:24 [JShell] jshell> Exception in thread "main" java.io.IOError: java.io.IOException: The pipe is being closed
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.keymap.BindingReader.readCharacter(BindingReader.java:170)
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.keymap.BindingReader.readBinding(BindingReader.java:110)
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.keymap.BindingReader.readBinding(BindingReader.java:61)
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl.doReadBinding(LineReaderImpl.java:924)
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl.readBinding(LineReaderImpl.java:957)
16:29:24 [JShell] at jdk.jshell/jdk.internal.jshell.tool.ConsoleIOContext$2.readBinding(ConsoleIOContext.java:172)
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:652)
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:468)
16:29:24 [JShell] at jdk.jshell/jdk.internal.jshell.tool.ConsoleIOContext.readLine(ConsoleIOContext.java:248)
16:29:24 [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellTool.getInput(JShellTool.java:1275)
16:29:24 [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellTool.run(JShellTool.java:1209)
16:29:24 [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellTool.start(JShellTool.java:995)
16:29:24 [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellToolBuilder.start(JShellToolBuilder.java:261)
16:29:24 [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellToolProvider.main(JShellToolProvider.java:120)
16:29:24 [JShell] Caused by: java.io.IOException: The pipe is being closed
16:29:24 [JShell] at java.base/java.io.FileInputStream.read0(Native Method)
16:29:24 [JShell] at java.base/java.io.FileInputStream.read(FileInputStream.java:228)
16:29:24 [JShell] at jdk.internal.le/jdk.internal.org.jline.utils.NonBlockingInputStreamImpl.run(NonBlockingInputStreamImpl.java:209)
16:29:24 [JShell] at java.base/java.lang.Thread.run(Thread.java:840)
16:29:24 stdout: [Attaching to process ID 8620, please wait...
16:29:24 ];
16:29:24 stderr: [Error attaching to process: Windbg Error: WaitForEvent failed! (hr: 0x80004002)
16:29:24 sun.jvm.hotspot.debugger.DebuggerException: Windbg Error: WaitForEvent failed! (hr: 0x80004002)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.attach0(Native Method)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.attach(WindbgDebuggerLocal.java:152)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:651)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebuggerWin32(HotSpotAgent.java:549)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:366)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:337)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:142)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.start(Tool.java:203)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.execute(Tool.java:134)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.tools.JMap.main(JMap.java:202)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runJMAP(SALauncher.java:340)
16:29:24 at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:500)
16:29:24
16:29:24 ]
16:29:24 exitValue = 1
16:29:24
16:29:24 java.lang.RuntimeException: Test ERROR java.lang.RuntimeException: Expected to get exit value of [0]
16:29:24
16:29:24 at JShellHeapDumpTest.launch(JShellHeapDumpTest.java:82)
16:29:24 at JShellHeapDumpTest.launch(JShellHeapDumpTest.java:97)
16:29:24 at JShellHeapDumpTest.testHeapDump(JShellHeapDumpTest.java:133)
16:29:24 at JShellHeapDumpTest.main(JShellHeapDumpTest.java:194)
16:29:24 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
16:29:24 at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
16:29:24 at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
16:29:24 at java.base/java.lang.reflect.Method.invoke(Method.java:569)
16:29:24 at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
16:29:24 at java.base/java.lang.Thread.run(Thread.java:840)
16:29:24 Caused by: java.lang.RuntimeException: Expected to get exit value of [0]
16:29:24
16:29:24 at jdk.test.lib.process.OutputAnalyzer.shouldHaveExitValue(OutputAnalyzer.java:489)
16:29:24 at JShellHeapDumpTest.launch(JShellHeapDumpTest.java:80)
16:29:24 ... 9 more
16:29:24
16:29:24 JavaTest Message: Test threw exception: java.lang.RuntimeException: Test ERROR java.lang.RuntimeException: Expected to get exit value of [0]
```
Ref: https://github.com/adoptium/aqa-tests/issues/5852#issuecomment-2593073381
Contributor guide
Research direction
Start with sun/tools/jhsdb/JShellHeapDumpTest.java, especially the launch and testHeapDump locations reported at lines 80-133. Reproduce the test on Windows and inspect the jhsdb jmap output showing the Windbg attach failure, then review the referenced AQA issue comment. Done means the test completes with jhsdb jmap exit value 0 and no JShell termination failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- operating-systems, testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100