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-5395) [drlvm] vm.classloading.ClassCastTest hangs
Date Sun, 20 Jan 2008 20:56:39 GMT

    [ https://issues.apache.org/jira/browse/HARMONY-5395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560874#action_12560874

Ilya Berezhniuk commented on HARMONY-5395:


Thanks for your comments.
Did you mean that GC part of the patch is incorrect, or some other parts too?

Aniway, let me clarify major changes from this patch.

1) Change from APR CAS* operations to PORT atomics.
Now APR atomics are not atomics at all. APR sources contain several implementations for CAS*,
and in our environment worse case is compiled.
However, replacing APR atomics with (corrected) PORT atomics does not fix the problem. So
I guess the problem is not in APR.

2) When I've simply replaced APR atomics with current PORT atomics, GC started to hang right
in gc_metadata_initialize (specifically in sync_stack_push).
I've carefully inspected disassembly for these functions and found that PORT atomics are inlined
incorrectly because of some problems in PORT atomics implementation.
That's why I've corrected PORT atomics.

3) The changes in GC were made to ensure that 'new' value read from memory _after_ CAS* operation
is actually new.
Using the value returned by CAS* function garantees that, while second simple read from the
same address is less reliable.
All the changes in GC are in this direction.

This part of the patch in least evident, but without these changes the test still hangs.
Of course, not all GC changes are needed. I'll try to find specific change in GC which cures
the test.

> [drlvm] vm.classloading.ClassCastTest hangs
> -------------------------------------------
>                 Key: HARMONY-5395
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5395
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: revision 612006 release mode
> Linux x86_64
>            Reporter: Andrey Yakushev
>         Attachments: atomics.patch
> [drlvm] vm.classloading.ClassCastTest stably hangs on first iteration

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

View raw message