You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Gregory Shimansky (JIRA)" <ji...@apache.org> on 2007/12/28 14:15:44 UTC

[jira] Closed: (HARMONY-3341) [drlvm][jvmti] StopThread() does not interrupt thread in Object.wait(timeout) until timeout expired

     [ https://issues.apache.org/jira/browse/HARMONY-3341?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gregory Shimansky closed HARMONY-3341.
--------------------------------------


No response, assuming ok.

> [drlvm][jvmti] StopThread() does not interrupt thread in Object.wait(timeout) until timeout expired
> ---------------------------------------------------------------------------------------------------
>
>                 Key: HARMONY-3341
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3341
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM, JDK
>         Environment: Windows/ia32, Linux/ia32, Harmony-jdk-r522770
>            Reporter: Ivan Popov
>            Assignee: Gregory Shimansky
>         Attachments: H3341-Added-interruption-of-stopped-thread.patch, H3341-Regression-test.patch
>
>
> The following JDWP unit test
>   org.apache.harmony.jpda.tests.jdwp.ThreadReference.StopTest
> fails on both Windows and Linux platforms with the same diagnostics:
> testStop001: get threadID to Stop...
> testStop001: ID of the tested thread to Stop = 1320
> STDOUT> [SYNC] Message sent: ready
> testStop001: get throwable for Stop command...
> testStop001: throwable = ObjectID: 2040
> testStop001: send "Stop" command
> testStop001: wait for Debuggee message about test status...
> [SYNC] Waiting...
> STDOUT> TestedThread: Exception is caught: java.lang.NullPointerException
> STDOUT> TestedThread: PASSED: It is expected Exception
> <...>
> org.apache.harmony.jpda.tests.framework.TestErrorException: java.net.SocketTimeoutException: The operation timed out 
> at org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer.receiveMessage (JPDADebuggeeSynchronizer.java:132) 
> at org.apache.harmony.jpda.tests.jdwp.ThreadReference.StopTest.testStop001(StopTest.java:101) 
> at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> Caused by: java.net.SocketTimeoutException: The operation timed out at org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:544) 
> at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:60) 
> at java.io.DataInputStream.readUnsignedShort(DataInputStream.java) at java.io.DataInputStream.readUTF(DataInputStream.java) 
> at org.apache.harmony.jpda.tests.share.JPDADebuggeeSynchronizer.receiveMessage(JPDADebuggeeSynchronizer.java:126) 
> at org.apache.harmony.jpda.tests.jdwp.ThreadReference.StopTest.testStop001(StopTest.java:101) 
> ... 13 more
> The problem is that JVMTI function StopThread() does not throw specified exception in a waiting thread, until waiting timeout is expired.
> To reproduce this failure:
> 1. create Harmony JDK with federated build:
>     svn checkout https://svn.apache.org/repos/asf/harmony/enhanced/trunk
>     cd trunk
>     ant
> 2. goto jdktools directory, add junit to classpath, and run particular test:
>     cd working_jdktools
>     export CLASSPATH=<...>/trunk/common_resources/depends/jars/junit_3.8.2/junit.jar
>     ant test -Dbuild.module=jpda -Dtest.case=org.apache.harmony.jpda.tests.jdwp.ThreadReference.StopTest
> 3. see results in <...>/trunk/working_jdktools/build/test_report/html/index.html
> It is possible also to run test directly from command line:
>    cd working_jdktools
>    deploy/jdk/bin/java -classpath ../common_resources/depends/jars/junit_3.8.2/junit.jar:build/tests/classes \
>    org.apache.harmony.jpda.tests.jdwp.ThreadReference.StopTest 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.