Mercurial > hg > truffle
view agent/test/jdi/README.jjh @ 17716:cdb71841f4bc
6498581: ThreadInterruptTest3 produces wrong output on Windows
Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set.
Reviewed-by: acorn, kvn
Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author | minqi |
---|---|
date | Wed, 26 Feb 2014 15:20:41 -0800 |
parents | a61af66fc99e |
children |
line wrap: on
line source
This dir contains a test for the JDI-SA implementation. sagtest.java, sagtarg.java are a normal JDI regression test that uses TargetAdapter.java, TargetListener.java, TestScaffold.java, and VMConnection.java. This test starts the debuggee, sagtarg.java, which just does a wait. The test then calls sagdoit.java which calls all the JDJI interface functions. Well, it doesn't call them all yet, but that is the plan. At least all that are interesting to the JDI-SA client. The result of each call is sent to stdout The script runjpda.sh runs this test. It then runs the targ part of the test and calls gcore on it to get a core dump into file sagcore. Do runjpda.sh >& kk to run this. NOTE that this produces 1000s of lines of output so be sure to redirect to a file. File sagclient.java is a test program that uses the JDI-SA client to connect to a core file or pid and then calls sagdoit which calls the JDI methods. The script runsa.sh can be used to run sagclient on sagcore: runsa.sh sagcore >& kk1 You can then look at the differences between the runjpda.sh and the runsa.sh run to see if there are bugs. Note that the order of things might be different. ----------------------------------------- runjdb.sh contains a script that will run jdb on a core file using the JDI-sa binding.