Request for Review: 7094995: test/java/util/zip/ZipFile/ClearStaleZipFileInputStreams.java causes continuous GC in agentvm mode
Alan.Bateman at oracle.com
Tue Nov 22 18:56:39 UTC 2011
On 22/11/2011 17:22, Neil Richards wrote:
> Can you tell me, when jtreg decides to fire an interrupt at a test, has
> it already concluded that the test has "failed" (or, at least, not
> "passed") ?
With othervm (the default) then each test is run in its own VM so the process termination will ensure that everything is cleaned up. With agentvm mode then tests are run sequentially in the same VM (or a pool VMs). In that case then jtreg gives each test its own ThreadGroup. When the test completes then it checks the thread group for any non-daemon threads and interrupts them with the hope that they will terminate in a timely manner. If they don't terminate within a short time then the test fails with an error. With the original test then the thread was a daemon thread which is why we didn't notice a problem. With your updated test then the thread terminates before the test completes so there shouldn't be a problem. Chris's concern comes in in the event that the test doesn't complete (it hangs for example), in which case jtreg will attempt to interrupt the remaining threads before giving up. In agent VM mode this just means the agent (process) will terminate and it spins up a new agent process to replace it.
More information about the core-libs-dev