harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Yakushev (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-3314) [drlvm][shutdown][thread] DRLVM hangs on exit while detaching thread
Date Thu, 31 May 2007 15:39:16 GMT

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

Andrey Yakushev updated HARMONY-3314:
-------------------------------------

    Attachment: 3314.patch

One of JDWP agent daemon locked thread group monitor and was killed by vm shutdown process.
Main thread tries deregistering themselves in thread group and hangs on monitor waiting.

Race condition appeared because JDWP agent didn't wait its daemon threads finishing when handles
VMDeath event. It only waits his proc exit. I've tried to correct agent and add Thread.join
for daemons, see 3314.patch attached.

Not deep testing on Windows showed no fails on VMDeathTest during 1 hour test run (219 iterations).
I'm going to run this test overnight and check other tests and Linux later. So the attached
patch is not for immediate commit, but rather for evaluation.


> [drlvm][shutdown][thread] DRLVM hangs on exit while detaching thread
> --------------------------------------------------------------------
>
>                 Key: HARMONY-3314
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3314
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM, JDK
>         Environment: Linux/ia32, Windows/ia32, Harmony-jdk-r514598, Harmony-jdk-r533073
>            Reporter: Ivan Popov
>            Assignee: weldon washburn
>         Attachments: 3314.patch
>
>
> Many JDWP tests run long time on Linux because DRLVM intermittently crashed at exit.
> For example, the following test
>   org.apache.harmony.jpda.tests.jdwp.Events.VMDeathTest
> Here is typical diagnostics in the test output:
> Waiting for debuggee exit
> STDERR> SIGSEGV in VM code.
> STDERR> Stack trace:
> STDERR> 	1: ?? (??:-1)
> STDERR> addr2line: '[heap]': No such file
> Ignoring exception in ProcessWaiter thread interrupted: java.lang.InterruptedException
> # ERROR: Enforced debuggee termination
> 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.Events.VMDeathTest
> 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.Events.VMDeathTest

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


Mime
View raw message