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.

-Alan.




Reply via email to