harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ilya Berezhniuk (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HARMONY-4298) [drlvm][thread]1 EUT testcase from teamcvs suite intermittently crashes since r549864
Date Thu, 26 Jul 2007 16:30:04 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-4298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12515760
] 

Ilya Berezhniuk commented on HARMONY-4298:
------------------------------------------

I've found that HARMONY-2742 also contains possible solution for this issue. Suggested solution
is to call GC when slots in fat locks table are going to be occupied, to let GC free some
slots. Fat locks table does not change its size and address, it remains unchanged and therefore
needs no synchronization.

But there are disadvantages in approach suggested in HARMONY-2742:
- Small fixed size of table will lead to frequent calls to GC when fat locks are frequently
consumed;
- Large size of table in not feasible;

The advantages of patch suggested in this JIRA are the following:
- Fat locks table is expandable, initial size is quite small;
- Expansion does not require synchronization as well as calling GC;
- Table can be expanded to 2^20 - maximal count of fat locks.

> [drlvm][thread]1 EUT testcase from teamcvs suite intermittently crashes since r549864

> --------------------------------------------------------------------------------------
>
>                 Key: HARMONY-4298
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4298
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Windows XP/2003 ia32
>            Reporter: Nina Rinskaya
>            Assignee: weldon washburn
>            Priority: Minor
>         Attachments: H-4298.patch, H-4298.patch
>
>
> It looks that r549864 commit has introduced a regression: org.eclipse.team.tests.ccvs.core.subscriber.testConcurrentAccessToSyncSet
testcase from Eclipse Unit Tests ('teamcvs' suite) intermittently crashes on Windows 2003
(x86) with the following output:
>    [java] Windows reported exception: 0xc0000005
>      [java] Registers:
>      [java]     EAX: 0x00410048, EBX: 0x140e9870, ECX: 0x000022a2, EDX: 0x00383f30
>      [java]     ESI: 0x16e3ed0c, EDI: 0x0b3943f0, ESP: 0x10d6fa78, EBP: 0x13f461f4
>      [java]     EIP: 0x1000430c
>      [java] Stack trace:
>      [java]   0: hythread_thin_monitor_exit (??:-1)
>      [java] <end of stack trace>
> The testcase deals with synchronized resources, and probably the crash happens whyle
adding ~1000-5000th element to the synchronized collection. 
> To reproduce:
> Please follow instrcutions at http://wiki.apache.org/harmony/Eclipse_Unit_Tests_Pass_on_DRLVM#How_to_run_EUT.
> The test that fails is org.eclipse.team.tests.ccvs.core.subscriber.testConcurrentAccessToSyncSet,
it belongs to the 'teamcvs' suite. Please note that this suite requires a test CVS repository.
If you use Build&Test infrastructure scrips to run the suite, you will need to specify
in the framework.local.properties file:
>     eut.parameters.optional.testsr=teamcvs
>     eut.parameters.optional.cvs_user=<the account used to connect to the cvs repository>
>     eut.parameters.optional.cvs_password= <the account password>
>     eut.parameters.optional.cvs_host=<the name of the cvs server>
>     eut.parameters.optional.cvs_root=<the repository path>
> If you follow instructions on how to run a single test at http://wiki.apache.org/harmony/Eclipse_Unit_Tests_Pass_on_DRLVM#How_to_run_EUT
you will need to do the following additional steps that are specific for this suite:
> When you perform step 4 ("Running the Test Suite from Eclipse SDK"):
> 1. select "org.eclipse.team.tests.cvs.core" as test plug-in to import; if Eclipse reports
compilation errors, please add 'eclipse-testing/eclipse/plugins/org.eclipse.core.filesystem*.jar'
to the project's build path;
> 2. modify file org.eclipse.team.tests.ccvs.core.CVSTestSetup.java: replace REPOSITORY_LOCATION
= System.getProperty("eclipse.cvs.repository");  with REPOSITORY_LOCATION = ":pserver:cvs_username:cvs_password@cvs
_host:cvs_root";
> 3. select org.eclipse.team.tests.ccvs.core.AllTests as launching class

-- 
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