There are a few changes we can make to better understand the LingeredApp test when it goes wrong:
startAppExactJvmOpts() should not try and call finishApp unless the process isAlive, that just creates a misleading exception. waitAppReady() is really waitAppReadyOrCrashed(), and should not timeout immediately after the 1 second sleep, or we lose a second of our timeout value (not critical with a long timeout, but seems more honest). Show how long we waited when startup/crashing times out. Show how long a good startup takes, so we have a basic for comparison when it fails. Show if there are hs_err/core/mdmp files in the working directory after startup/crash attempt. Also, in open/test/lib/jdk/test/lib/util/CoreUtils.java: "Move core file" often seems unnecessary, core/mdmp usually being created in the current directory. But getCoreFileLocation() performs Files.move() which takes enough time to not be a no-op. ------------- Commit messages: - Try stopApp (cooperative stop), then possibly finishApp (gather output) - Report time waited/taken, not the timeout value. - 8294993: LingeredApp test update Changes: https://git.openjdk.org/jdk/pull/10613/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10613&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8294993 Stats: 66 lines in 2 files changed: 45 ins; 10 del; 11 mod Patch: https://git.openjdk.org/jdk/pull/10613.diff Fetch: git fetch https://git.openjdk.org/jdk pull/10613/head:pull/10613 PR: https://git.openjdk.org/jdk/pull/10613