harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gregory Shimansky (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HARMONY-3758) [drlvm][classloader] assert fires in String_Pool::lookup()
Date Thu, 17 May 2007 15:57:16 GMT

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

Gregory Shimansky resolved HARMONY-3758.

    Resolution: Fixed

For some reason in unaligned case when string is read byte by byte the signed char bytes were
converted to POINTER_SIZE_INT with sign extend. When string contains unicode characters (
>= 128) this leads to incorrect results because upper bytes of the byte are filled with
0xff bytes. The fix is to consider bytes as unsigned before extending them to POINTER_SIZE_INT.
Fixed at 

> [drlvm][classloader] assert fires in String_Pool::lookup()
> ----------------------------------------------------------
>                 Key: HARMONY-3758
>                 URL: https://issues.apache.org/jira/browse/HARMONY-3758
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Sles9@IPF 
>            Reporter: Alexey Varlamov
>         Assigned To: Gregory Shimansky
>            Priority: Minor
> To reproduce:
>  sh build.sh -DBUILD_CFG=debug kernel.test -Dtest.mode=int -Dtest.vmargs="-XX:vm.dlls=libgc_cc.so"
> ...
>     [junit] java: /nfs/ins/proj/drl/coreapi/avarlamo/harmony/linux.ipf/svn-repo/trunk/working_vm/vm/vmcore/src/class_support/String_Pool.cpp:199:
String* String_Pool::lookup(const char*, long unsigned int, long long unsigned int): Assertion
`key_stats->raw_hash == raw_hash' failed.
>     [junit] SIGABRT in VM code.

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

View raw message