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] Updated: (HARMONY-5304) [drlvm][gc_gen] assert in ClassCastTest from the reliability test suite
Date Fri, 28 Dec 2007 15:25:43 GMT

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

Ilya Berezhniuk updated HARMONY-5304:
-------------------------------------

    Attachment: H-5304.patch

To investigate a cause of the bug, I've got HARMONY-5098 patch and applied its changes incrementally
by small pieces.

Finally I've found affecting change - apr_atomic_casptr() does not work correctly for 64-bit
values, so HARMONY-5098 change in atomic_casptrsz() was wrong - it's better to leave port_atomic_cas64()
for 64-bit platforms.

Attached patch totally fixes the bug for r600979 revision.
It changes apr_atomic_casptr() to cas64/cas32 again, and also changes obj_info size in VM
because nobody uses it as 64-bit.

On latest Harmony revision the patch fixes all the problems with monitors, but another assertion
has appeared:
"java: /nfs/ims/proj/drl/mrt2/users/iberezhn/svn2/working_vm/vm/vmcore/src/class_support/Prepare.cpp:1143:
bool Class::prepare(Global_Env*): Assertion `m_state == ST_BytecodesVerified' failed."

I looks like race condition in classloader, so I've filed HARMONY-5357 for this problem.

> [drlvm][gc_gen] assert in ClassCastTest from the reliability test suite
> -----------------------------------------------------------------------
>
>                 Key: HARMONY-5304
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5304
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux x86_64
>            Reporter: Andrey Yakushev
>         Attachments: H-5304.patch
>
>
> vm.classloading.ClassCastTest failed on cruise control:
> http://people.apache.org/~smishura/r602572/Linux_x86_64/reliability/vm/classloading/53_ClassCastTest.html
> I tried the debug version of DRLVM and obtained assert:
> java: /nfs/ims/proj/drl/mrt3/users/avyakush/ws/bt_l64/build/checkouts/drlvm/vm/thread/src/thread_native_thin_monitor.c:665:
hythread_inflate_lock: Assertion `hythread_owns_thin_lock(tm_self_tls, lockword)' failed.
> SIGABRT in VM code.
> Stack trace:
>   0: raise (??:-1)
>   1: abort (??:-1)
>   2: ?? (??:-1)
>   3: ?? (??:-1)
>   4: ?? (??:-1)
>   5: ?? (??:-1)
>   6: __fxprintf (??:-1)
>   7: asprintf (??:-1)
>   8: ?? (??:-1)
>   9: ?? (??:-1)
>  10: ?? (??:-1)
>  11: __assert_fail (??:-1)
>  12: ?? (??:-1)
>  13: ?? (??:-1)
>  14: ?? (??:-1)
>  15: ?? (??:-1)
>  16: hythread_inflate_lock (/nfs/ims/proj/drl/mrt3/users/avyakush/ws/bt_l64/build/checkouts/drlvm/vm/thread/src/thread_native_thin_monitor.c:666)
>  17: ManagedObject::get_obj_info_addr() (/nfs/ims/proj/drl/mrt3/users/avyakush/ws/bt_l64/build/checkouts/drlvm/vm/vmcore/include/object_layout.h:256)
>  18: ?? (??:-1)
>  19: java/lang/Class.initReflectionData()V (Class.java:748)
>  20: java/lang/Class.getName()Ljava/lang/String; (Class.java:515)
>  21: org/apache/harmony/test/reliability/vm/classloading/ClassCastTest.testContent(Ljava/lang/Class;)V
(ClassCastTest.java:129)
>  22: org/apache/harmony/test/reliability/share/ClassMultiTestBase.run()V (ClassMultiTestBase.java:100)
>  23: java/lang/Thread.run()V (Thread.java:657)
>  24: java/lang/Thread.runImpl()V (Thread.java:668)
> LTend of stack traceGT

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