Possible bug: JVM crash due to GC when using indy
shanka.mns at gmail.com
shanka.mns at gmail.com
Mon Mar 28 10:15:32 PDT 2011
Hi,
On Sat, Mar 26, 2011 at 11:04 PM, Y. Srinivas Ramakrishna <
y.s.ramakrishna at oracle.com> wrote:
> You might try switching on heap verification to see if it finds any
> issues:-
>
> -XX:+UnlockDiagnosticVMOptions -XX:+VerifyBeforeGC -XX:+VerifyafterGC
>
I don't think it found any issues, below is the snippet from just before it
crashed
[exec] VerifyBeforeGC:[Verifying threads permanent tenured eden
ref_proc syms strs zone dict hand C-heap ]
[exec] VerifyAfterGC:[Verifying threads permanent tenured eden
ref_proc syms strs zone dict hand C-heap ]
[exec] VerifyBeforeGC:[Verifying threads permanent tenured eden
ref_proc syms strs zone dict hand C-heap ]
[exec] #
[exec] # A fatal error has been detected by the Java Runtime
Environment:
[exec] #
[exec] # SIGSEGV (0xb) at pc=0x013ddcee, pid=3900, tid=6691696
[exec] #
[exec] # JRE version: 7.0-b135
[exec] # Java VM: Java HotSpot(TM) Server VM (21.0-b05 mixed mode
linux-x86 )
[exec] # Problematic frame:
[exec] # V [libjvm.so+0x518cee] MarkSweep::follow_stack()+0x2e
[exec] #
[exec] # Failed to write core dump. Core dumps have been disabled. To
enable core dumping, try "ulimit -c unlimited" before starting Java again
[exec] #
[exec] # An error report file with more information is saved as:
[exec] # /home/shashank/workspace/jython-experiments/hs_err_pid3900.log
[exec] #
[exec] # If you would like to submit a bug report, please visit:
[exec] # http://java.sun.com/webapps/bugreport/crash.jsp
[exec] #
The complete output is pasted here:
http://pylonshq.com/pasties/1fb285535428fe59de92eb16983b6dba
The corresponding hs_err log file was:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x013ddcee, pid=3900, tid=6691696
#
# JRE version: 7.0-b135
# Java VM: Java HotSpot(TM) Server VM (21.0-b05 mixed mode linux-x86 )
# Problematic frame:
# V [libjvm.so+0x518cee] MarkSweep::follow_stack()+0x2e
#
# Failed to write core dump. Core dumps have been disabled. To enable core
dumping, try "ulimit -c unlimited" before starting Java again
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
--------------- T H R E A D ---------------
Current thread (0x0977cc00): VMThread [stack: 0x005e1000,0x00662000]
[id=3904]
siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR),
si_addr=0x00000060
Registers:
EAX=0x00000000, EBX=0xab7677c0, ECX=0x00000000, EDX=0x006f0070
ESP=0x00660cc0, EBP=0x00660d08, ESI=0x00000000, EDI=0x09e44838
EIP=0x013ddcee, EFLAGS=0x00010202, CR2=0x00000060
Top of Stack: (sp=0x00660cc0)
0x00660cc0: 006f0070 ab7677c0 00000000 00000000
0x00660cd0: 0166e640 09709110 00660d08 015283c1
0x00660ce0: 09709110 0166e640 096cf1d0 0142b51e
0x00660cf0: 0166e640 0166e474 00000000 00660d6f
0x00660d00: 00660d3c 096dae58 00660d78 0149c877
0x00660d10: 00660d6f 00660d5c 01a00000 04000000
0x00660d20: 4d900229 000af8e3 00404a06 0044f5c0
0x00660d30: 00660d50 00000000 00660d58 01010100
Instructions: (pc=0x013ddcee)
0x013ddcce: 01 eb 29 8d b4 26 00 00 00 00 48 a3 b0 e4 66 01
0x013ddcde: 8b 1c 82 8b 43 04 51 51 8d 50 08 8b 40 08 53 52
0x013ddcee: ff 50 60 8b 15 bc e4 66 01 83 c4 10 85 d2 0f 84
0x013ddcfe: de 00 00 00 a1 b0 e4 66 01 83 f8 01 75 cc a1 a4
Register to memory mapping:
EAX=0x00000000 is an unknown value
EBX=0xab7677c0 is an unknown value
ECX=0x00000000 is an unknown value
EDX=0x006f0070 is pointing into the stack for thread: 0x09782800
ESP=0x00660cc0 is an unknown value
EBP=0x00660d08 is an unknown value
ESI=0x00000000 is an unknown value
EDI=0x09e44838 is an unknown value
Stack: [0x005e1000,0x00662000], sp=0x00660cc0, free space=511k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
code)
V [libjvm.so+0x518cee] MarkSweep::follow_stack()+0x2e
V [libjvm.so+0x5d7877] PSMarkSweep::mark_sweep_phase1(bool)+0xc7
V [libjvm.so+0x5d82ab] PSMarkSweep::invoke_no_policy(bool)+0x37b
V [libjvm.so+0x5d8bc1] PSMarkSweep::invoke(bool)+0x71
V [libjvm.so+0x6d316b] VM_ParallelGCSystemGC::doit()+0x8b
V [libjvm.so+0x6d9ed1] VM_Operation::evaluate()+0x41
V [libjvm.so+0x6d87f8] VMThread::evaluate_operation(VM_Operation*)+0x78
V [libjvm.so+0x6d8d37] VMThread::loop()+0x1a7
V [libjvm.so+0x6d93b5] VMThread::run()+0x85
V [libjvm.so+0x590ce1] java_start(Thread*)+0x111
C [libpthread.so.0+0x5cc9] start_thread+0xd9
VM_Operation (0x0026603c): ParallelGCSystemGC, mode: safepoint, requested by
thread 0x096d7000
....
The complete hs_err log file is pasted here:
http://pylonshq.com/pasties/4ce99d93fbe70ee1347df7fc100934d2
What else should I try?
--
Shashank
> -- ramki
>
>
> On 3/26/2011 8:49 PM, shanka.mns at gmail.com wrote:
>
>> Hi All,
>>
>> I'm trying to include invoke dynamic in Jython. Currently, I'm just
>> focusing
>> on a small example using MethodHandles.guardWithTest. They seem to work
>> fine
>> with small examples, but when I run the Jython's regression test, the JVM
>> always crashes. It does not crash at a particular test, it's a different
>> test everytime.
>> If I disable the indy part, then everything runs fine.
>>
>> Is this a bug? I was using b135.
>> I will try this with the java6 backport and report it here.
>>
>> I have pasted the crash log below, it is also available at:
>> http://pylonshq.com/pasties/5b762c8d917f72e3ecb1da810d081ddb
>>
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # SIGSEGV (0xb) at pc=0x011a7cee, pid=10914, tid=3206000
>> #
>> # JRE version: 7.0-b135
>> # Java VM: Java HotSpot(TM) Server VM (21.0-b05 mixed mode linux-x86 )
>> # Problematic frame:
>> # V [libjvm.so+0x518cee] MarkSweep::follow_stack()+0x2e
>> #
>> # Core dump written. Default location:
>> /home/shashank/workspace/jython-experiments/core or core.10914 (max size
>> 10
>> kB). To ensure a full core dump, try "ulimit -c unlimited" before starting
>> Java again
>> #
>> # If you would like to submit a bug report, please visit:
>> # http://java.sun.com/webapps/bugreport/crash.jsp
>> #
>>
>> --------------- T H R E A D ---------------
>>
>> Current thread (0x088e4c00): VMThread [stack: 0x0028e000,0x0030f000]
>> [id=10918]
>>
>> siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR),
>> si_addr=0x00000073
>>
>> Registers:
>> EAX=0x00000013, EBX=0xab690bc8, ECX=0x00000000, EDX=0x94c8ca28
>> ESP=0x0030dfc0, EBP=0x0030e008, ESI=0x000003fe, EDI=0x08c267d8
>> EIP=0x011a7cee, EFLAGS=0x00010206, CR2=0x00000073
>>
>> Top of Stack: (sp=0x0030dfc0)
>> 0x0030dfc0: 94c8ca28 ab690bc8 00000000 00000000
>> 0x0030dfd0: 01438640 08871098 0030e008 012f23c1
>> 0x0030dfe0: 08871098 01438640 088371c0 011f551e
>> 0x0030dff0: 01438640 01438474 00000000 0030e06f
>> 0x0030e000: 0030e03c 08842de0 0030e078 01266877
>> 0x0030e010: 0030e06f 0030e05c 020e0000 04000000
>> 0x0030e020: 4d8ce8a6 00047e51 00adda06 002195c0
>> 0x0030e030: 0030e050 00000000 0030e058 01010100
>>
>> Instructions: (pc=0x011a7cee)
>> 0x011a7cce: 01 eb 29 8d b4 26 00 00 00 00 48 a3 b0 84 43 01
>> 0x011a7cde: 8b 1c 82 8b 43 04 51 51 8d 50 08 8b 40 08 53 52
>> 0x011a7cee: ff 50 60 8b 15 bc 84 43 01 83 c4 10 85 d2 0f 84
>> 0x011a7cfe: de 00 00 00 a1 b0 84 43 01 83 f8 01 75 cc a1 a4
>>
>> Register to memory mapping:
>>
>> EAX=0x00000013 is an unknown value
>> EBX=0xab690bc8 is an unknown value
>> ECX=0x00000000 is an unknown value
>> EDX=0x94c8ca28 is an oop
>> [[S
>> - klass: {type array short}[]
>> - length: 19
>> ESP=0x0030dfc0 is an unknown value
>> EBP=0x0030e008 is an unknown value
>> ESI=0x000003fe is an unknown value
>> EDI=0x08c267d8 is an unknown value
>>
>>
>> Stack: [0x0028e000,0x0030f000], sp=0x0030dfc0, free space=511k
>> Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native
>> code)
>> V [libjvm.so+0x518cee] MarkSweep::follow_stack()+0x2e
>> V [libjvm.so+0x5d7877] PSMarkSweep::mark_sweep_phase1(bool)+0xc7
>> V [libjvm.so+0x5d82ab] PSMarkSweep::invoke_no_policy(bool)+0x37b
>> V [libjvm.so+0x5d8bc1] PSMarkSweep::invoke(bool)+0x71
>> V [libjvm.so+0x6d316b] VM_ParallelGCSystemGC::doit()+0x8b
>> V [libjvm.so+0x6d9ed1] VM_Operation::evaluate()+0x41
>> V [libjvm.so+0x6d87f8] VMThread::evaluate_operation(VM_Operation*)+0x78
>> V [libjvm.so+0x6d8d37] VMThread::loop()+0x1a7
>> V [libjvm.so+0x6d93b5] VMThread::run()+0x85
>> V [libjvm.so+0x590ce1] java_start(Thread*)+0x111
>> C [libpthread.so.0+0x5cc9] start_thread+0xd9
>>
>> VM_Operation (0x008af88c): ParallelGCSystemGC, mode: safepoint, requested
>> by
>> thread 0x0883f000
>>
>>
>> --------------- P R O C E S S ---------------
>>
>> Java Threads: ( => current thread )
>> 0x903c4800 JavaThread "com.google.common.base.internal.Finalizer" daemon
>> [_thread_blocked, id=10926, stack(0x02d89000,0x02e8a000)]
>> 0x08930c00 JavaThread "Service Thread" daemon [_thread_blocked,
>> id=10924,
>> stack(0x04176000,0x04277000)]
>> 0x0892f000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked,
>> id=10923, stack(0x008b3000,0x00934000)]
>> 0x0892d000 JavaThread "C2 CompilerThread0" daemon [_thread_in_native,
>> id=10922, stack(0x00491000,0x00512000)]
>> 0x0892b400 JavaThread "Signal Dispatcher" daemon [_thread_blocked,
>> id=10921, stack(0x029bc000,0x02abd000)]
>> 0x088ec400 JavaThread "Finalizer" daemon [_thread_blocked, id=10920,
>> stack(0x00594000,0x00695000)]
>> 0x088ea400 JavaThread "Reference Handler" daemon [_thread_blocked,
>> id=10919, stack(0x00390000,0x00491000)]
>> 0x0883f000 JavaThread "MainThread" [_thread_blocked, id=10915,
>> stack(0x007b2000,0x008b3000)]
>>
>> Other Threads:
>> =>0x088e4c00 VMThread [stack: 0x0028e000,0x0030f000] [id=10918]
>> 0x08933000 WatcherThread [stack: 0x009bc000,0x00a3d000] [id=10925]
>>
>> VM state:at safepoint (normal execution)
>>
>> VM Mutex/Monitor currently owned by a thread: ([mutex/lock_event])
>> [0x0883ca50] Threads_lock - owner thread: 0x088e4c00
>> [0x0883ce60] Heap_lock - owner thread: 0x0883f000
>>
>> Heap
>> PSYoungGen total 157696K, used 2040K [0xa9bd0000, 0xb40c0000,
>> 0xb4670000)
>> eden space 155648K, 0% used [0xa9bd0000,0xa9bd0000,0xb33d0000)
>> from space 2048K, 99% used [0xb38d0000,0xb3ace3d0,0xb3ad0000)
>> to space 5760K, 0% used [0xb3b20000,0xb3b20000,0xb40c0000)
>> PSOldGen total 31552K, used 25043K [0x94670000, 0x96540000,
>> 0xa9bd0000)
>> object space 31552K, 79% used [0x94670000,0x95ee4fb0,0x96540000)
>> PSPermGen total 33664K, used 33641K [0x90670000, 0x92750000,
>> 0x94670000)
>> object space 33664K, 99% used [0x90670000,0x9274a628,0x92750000)
>> <snip/>
>> Memory: 4k page, physical 3026632k(94092k free), swap 1882108k(1670924k
>> free)
>>
>> vm_info: Java HotSpot(TM) Server VM (21.0-b05) for linux-x86 JRE
>> (1.7.0-ea-b135), built on Mar 24 2011 02:23:47 by "java_re" with gcc 4.3.0
>> 20080428 (Red Hat 4.3.0-8)
>>
>> time: Fri Mar 25 13:10:30 2011
>> elapsed time: 30 seconds
>>
>>
>>
>>
>> _______________________________________________
>> mlvm-dev mailing list
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20110328/24e8b450/attachment-0001.html
More information about the mlvm-dev
mailing list