You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Ivan Popov (JIRA)" <ji...@apache.org> on 2007/07/03 10:08:06 UTC

[jira] Updated: (HARMONY-3309) [jdktools][jpda] JNI references leak in JDWP agent

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

Ivan Popov updated HARMONY-3309:
--------------------------------

    Summary: [jdktools][jpda] JNI references leak in JDWP agent  (was: [jdktools][jpda] JDWP tests for enabling object collection fails with collecting objects)

I'm changing summary to "JNI references leak in JDWP agent". Though this problem affects whole implementation of JDWP agent, it is still minor issue in parctice, because it may be noticed only for a long debug session.

> [jdktools][jpda] JNI references leak in JDWP agent
> --------------------------------------------------
>
>                 Key: HARMONY-3309
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3309
>             Project: Harmony
>          Issue Type: Bug
>          Components: JDK
>         Environment: Windows/ia32, Linux/ia32, Harmony-jdk-r514598
>            Reporter: Ivan Popov
>            Priority: Minor
>
> The following JDWP unit tests
>   org.apache.harmony.jpda.tests.jdwp.ObjectReference.EnableCollectionTest
>   org.apache.harmony.jpda.tests.jdwp.MultiSession.EnableCollectionTest
> fail because unreferenced objects are not collected in debuggee VM.
> The problem is that JNI Weak Global References used in JDWP agent are not fully supported by DRLVM.
> However, this does not break usual debugger functionality, so I'm marking this issue as minor.
> Typical diagnostics for this failure is the following:
> ## FAILURE: Checked Object is NOT UNLOADed after ObjectReference::EnableCollection command
> <...>
> junit.framework.AssertionFailedError: Checked Object is NOT UNLOADed after ObjectReference::EnableCollection command 
> at org.apache.harmony.jpda.tests.jdwp.ObjectReference.EnableCollectionTest.testEnableCollection001(EnableCollectionTest.java:141) 
> at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> or
> ## FAILURE: Checked Object is NOT UNLOADed after MultiSession::EnableCollection command
> <...>
> junit.framework.AssertionFailedError: Invalid message from debuggee. 
> at org.apache.harmony.jpda.tests.jdwp.MultiSession.EnableCollectionTest.testEnableCollection001(EnableCollectionTest.java:137) 
> at java.lang.reflect.VMReflection.invokeMethod(VMReflection.java)
> 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.ObjectReference.EnableCollectionTest
> 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.ObjectReference.EnableCollectionTest 

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