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