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-4758) [drlvm][util] Another crash handler deadlock
Date Thu, 27 Sep 2007 00:38:50 GMT

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

Ilya Berezhniuk updated HARMONY-4758:
-------------------------------------

    Attachment: jrockit.12428.dump
                hs_err_pid11605.log

I've managed to run small test on both Sun an BEA JREs.
The result is the same: when using ICU charsets, program gets SIGSEGV in free() called from
setToUCallbackSubs native function.
Sun and BEA crash logs are in attachment. Stacks are the same as for Harmony.

ICU charsets involve using ICU decoder (CharsetDecoderICU) which implements implReplaceWith
methos, and this method, or some other part of native ICU implementation, has an error.

I suggest rewriting this test to use only Harmony's predefined charsets, to avoid problems
introduced by ICU.
I'm going to provide a patch soon.

> [drlvm][util] Another crash handler deadlock
> --------------------------------------------
>
>                 Key: HARMONY-4758
>                 URL: https://issues.apache.org/jira/browse/HARMONY-4758
>             Project: Harmony
>          Issue Type: Bug
>          Components: DRLVM
>         Environment: Linux x86; svn revision: 568905
>            Reporter: Andrey Yakushev
>         Attachments: DecodingModesTest.java, DecodingModesTest.java, hs_err_pid11605.log,
jrockit.12428.dump
>
>
> Test org.apache.harmony.test.reliability.api.nio.charset.DecodingModesTest from the reliability
suite hangs permanently on Linux x86; svn revision: 568905. The behaviour is similar to HARMONY-3666.
It seems to me that source of problem is a corrupted native memory pool, probably double free()
invocation. 
> Details:
> >../../drlvm/build/lnx_ia32_gcc_debug/deploy/jdk/jre/bin/java -cp . org.apache.harmony.test.reliability.api.nio.charset.DecodingModesTest
> SIGSEGV in VM code.
> Stack trace:
> The stack trace of the 0x80c4290 java thread:
>   [0x80c4290] (nil)(n): com/ibm/icu4jni/converters/NativeConverter.setSubstitutionChars(J[CI)I
>   [0x80c4290] 0x5266abcb(m): com/ibm/icu4jni/charset/CharsetDecoderICU.implReplaceWith(Ljava/lang/String;)V
>   [0x80c4290] 0x5266a985(m): java/nio/charset/CharsetDecoder.replaceWith(Ljava/lang/String;)Ljava/nio/charset/CharsetDecoder;
>   [0x80c4290] 0x523bcf12(m): org/apache/harmony/test/reliability/api/nio/charset/DecodingModesTest.test([Ljava/lang/String;)I
>   [0x80c4290] 0x523bc391(m): org/apache/harmony/test/reliability/api/nio/charset/DecodingModesTest.main([Ljava/lang/String;)V
> (gdb) bt
> #0  0xffffe410 in ?? ()
> #1  0xbfe0e7d0 in ?? ()
> #2  0x00000002 in ?? ()
> #3  0x00000000 in ?? ()
> #4  0x402af49e in __lll_mutex_lock_wait () from /lib/tls/libc.so.6
> #5  0x40250e5b in _L_mutex_lock_108 () from /lib/tls/libc.so.6
> #6  0x00000001 in ?? ()
> #7  0x402fdbf8 in __elf_set___libc_thread_subfreeres_element___rpc_thread_destroy__ ()
from /lib/tls/libc.so.6
> #8  0x402ff420 in fork_handler_pool () from /lib/tls/libc.so.6
> #9  0x402ff420 in fork_handler_pool () from /lib/tls/libc.so.6
> #10 0xbfe0e82c in ?? ()
> #11 0x402738de in fork () from /lib/tls/libc.so.6
> #12 0x402738de in fork () from /lib/tls/libc.so.6
> #13 0x406f6add in st_get_c_method_info (info=0xbfe0e9d4, ip=0x4024ddfd)
>     at /nfs/ims/proj/drl/mrt2/users/avyakush/ws/bt_l32/build/checkouts/drlvm/vm/vmcore/src/stack/stack_dump.cpp:133
> #14 0x406f715a in st_print_stack_jit (thread=0x80c4290, frames=0xbfe0ea30, num_frames=24)
>     at /nfs/ims/proj/drl/mrt2/users/avyakush/ws/bt_l32/build/checkouts/drlvm/vm/vmcore/src/stack/stack_dump.cpp:272
> #15 0x406f76a5 in st_print_stack (regs=0xbfe0ebe4) at /nfs/ims/proj/drl/mrt2/users/avyakush/ws/bt_l32/build/checkouts/drlvm/vm/vmcore/src/stack/stack_dump.cpp:417
> #16 0x406f5f1b in null_java_reference_handler (signum=11, info=0xbfe0ec90, context=0xbfe0ed10)
>     at /nfs/ims/proj/drl/mrt2/users/avyakush/ws/bt_l32/build/checkouts/drlvm/vm/vmcore/src/util/linux/signals_ia32.cpp:564
> #17 0x406f6439 in general_signal_handler (signum=11, info=0xbfe0ec90, context=0xbfe0ed10)
>     at /nfs/ims/proj/drl/mrt2/users/avyakush/ws/bt_l32/build/checkouts/drlvm/vm/vmcore/src/util/linux/signals_ia32.cpp:794
> #18 <signal handler called>
> #19 0x4024ddfd in _int_free () from /lib/tls/libc.so.6
> #20 0x4024e23b in free () from /lib/tls/libc.so.6
> #21 0x52696f69 in setToUCallbackSubs ()
>    from /nfs/ims/proj/drl/mrt2/users/avyakush/ws/bt_l32/build/checkouts/drlvm/build/lnx_ia32_gcc_debug/deploy/jdk/jre/bin//libICUInterface34.so
> #22 0x5269610f in Java_com_ibm_icu4jni_converters_NativeConverter_setSubstitutionChars
()
>    from /nfs/ims/proj/drl/mrt2/users/avyakush/ws/bt_l32/build/checkouts/drlvm/build/lnx_ia32_gcc_debug/deploy/jdk/jre/bin//libICUInterface34.so
> #23 0x5266ae8e in ?? ()
> #24 0x08401188 in ?? ()
> #25 0xbfffc320 in ?? ()
> #26 0x088f59d8 in ?? ()
> #27 0x00000000 in ?? ()
> #28 0xbfffc324 in ?? ()
> #29 0x00000001 in ?? ()
> #30 0x0002000a in ?? ()
> #31 0x00000000 in ?? ()
> #32 0x426a6798 in ?? ()
> #33 0x426d731c in ?? ()
> #34 0x406ffcba in hythread_self () at hythread.h:511
> Previous frame inner to this frame (corrupt stack?)

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