JDK-6538464 : Crash in BufferBlob::Interpreter when BreakpointRequest is used
  • Type: Bug
  • Component: core-svc
  • Sub-Component: debugger
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2007-03-23
  • Updated: 2010-04-02
  • Resolved: 2007-06-13
Related Reports
Duplicate :  
Description
When I tried to reproduce this failure with fastdebug build I got 2 different error messages on different platforms (hs_err_pids are attached):
- vmsqe-b2500-02.russia (solaris-sparc):
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk7.0/hotspot/src/cpu/sparc/vm/assembler_sparc.cpp, 1925 [ Patched ]), pid=10300, tid=14
#
# Java VM: Java HotSpot(TM) Server VM (1.7.0-ea-fastdebug-b10-fastdebug mixed mode)
#
# Error: assert(false,"error")
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

- vmsqe-amd-05.russia (linux-amd64):
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/oops/methodOop.cpp, 151), pid=2548, tid=1088649568
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (1.7.0-ea-fastdebug-b10-fastdebug mixed mode)
#
# Error: assert(is_native() && bcp == code_base() || contains(bcp),"bcp doesn't belong to this method")
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
In attached test thread in debuggee executes following method 'run':

	static int sum;

        public void run() {
->          while (true) {
                sum += new String().hashCode();
            }
        }

debugger in loop several times creates breakpoint for line marked with "->" and waits BreakpointEvent, this test causes VM crash. Test output example:
Event: VMStartEvent in thread main
TestThread: instance of BreakpointEventTest001Debuggee$TestThread(name='TestThread', id=179)
Event: BreakpointEvent@BreakpointEventTest001Debuggee$TestThread:29 in thread TestThread
debuggee out>>>=============== DEBUG MESSAGE: unimplemented bytecode ================
debuggee out>>>
debuggee out>>>#
debuggee out>>># An unexpected error has been detected by Java Runtime Environment:
debuggee out>>>#
debuggee out>>>#  SIGSEGV (0xb) at pc=0xce802570, pid=24842, tid=14
debuggee out>>>#
debuggee out>>># Java VM: Java HotSpot(TM) Server VM (1.7.0-ea-b10 mixed mode)
debuggee out>>># Problematic frame:
debuggee out>>># v  ~BufferBlob::Interpreter
debuggee out>>>#
debuggee out>>># An error report file with more information is saved as hs_err_pid24842.log
debuggee out>>>#
debuggee out>>># If you would like to submit a bug report, please visit:
debuggee out>>>#   http://java.sun.com/webapps/bugreport/crash.jsp
debuggee out>>>#
Event: VMDisconnectEvent
com.sun.jdi.VMDisconnectedException
        at com.sun.tools.jdi.TargetVM.waitForReply(TargetVM.java:285)
        at com.sun.tools.jdi.VirtualMachineImpl.waitForTargetReply(VirtualMachineImpl.java:1015)
        at com.sun.tools.jdi.PacketStream.waitForReply(PacketStream.java:51)
        at com.sun.tools.jdi.JDWP$EventRequest$Set.waitForReply(JDWP.java:6771)
        at com.sun.tools.jdi.JDWP$EventRequest$Set.process(JDWP.java:6736)
        at com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.set(EventRequestManagerImpl.java:179)
        at com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.setEnabled(EventRequestManagerImpl.java:143)
        at com.sun.tools.jdi.EventRequestManagerImpl$EventRequestImpl.enable(EventRequestManagerImpl.java:128)
        at BreakpointEventTest001.main(BreakpointEventTest001.java:242)
Exit code: 6
TEST FAIL

You may try to reproduce this failure on vmsqe-p3-03.russia.sun.com(solaris-i586).

hs_err_pid (run through hs_err):
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xce802570, pid=23080, tid=14
#
# Java VM: Java HotSpot(TM) Server VM (1.7.0-ea-b10 mixed mode)
# Problematic frame:
# v  ~BufferBlob::Interpreter
#
# 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 (0x081bec00):  JavaThread "TestThread" [_thread_in_Java, id=14]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0xce802570;; 
;; si_signo=11	SIGSEGV
;; si_code=1	SEGV_MAPERR /* Address not mapped to object.  */

Registers:
EAX=0x00000008, EBX=0x000000ff, ECX=0x00000000, EDX=0x0806c808
ESP=0xc620da50, EBP=0xc620da98, ESI=0xca61bf40, EDI=0xc620daa0
EIP=0xce802570, EFLAGS=0x00010246

Top of Stack: (sp=0xc620da50)
0xc620da50:   c620daa0 ca61bf40 c620da98 c620da70
0xc620da60:   000000ff ffffffff 081bec00 c64d7a58
0xc620da70:   ce80256a d2566b7c c620da78 ca61bf3d
0xc620da80:   c620daa0 ca61c1f0 ca61db74 ca61bf58
0xc620da90:   00000000 c620daa0 c620dabc ce800287
0xc620daa0:   c6b20cc0 081bec00 08158ed8 00001f80
0xc620dab0:   d25fe000 00000001 081bec00 c620db64
0xc620dac0:   d20e374b c620daf0 c620dd48 0000000a 

Instructions: (pc=0xce802570)
0xce802560:   68 7c 6b 56 d2 e8 00 00 00 00 60 e8 58 d7 a4 03
0xce802570:   f4 68 4c 6b 56 d2 e8 00 00 00 00 60 e8 47 d7 a4 
;; 
Stack: [0xc61be000,0xc620e000),  sp=0xc620da50,  free space=318k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
v  ~BufferBlob::Interpreter
v  ~BufferBlob::StubRoutines (1)
V  [libjvm.so+0xe374b];;  __1cJJavaCallsLcall_helper6FpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x1a3
V  [libjvm.so+0xe39f3];;  __1cCosUos_exception_wrapper6FpFpnJJavaValue_pnMmethodHandle_pnRJavaCallArguments_pnGThread__v2468_v_+0x27
V  [libjvm.so+0xe3a2b];;  __1cJJavaCallsEcall6FpnJJavaValue_nMmethodHandle_pnRJavaCallArguments_pnGThread__v_+0x2f
V  [libjvm.so+0x159f4d];;  __1cJJavaCallsMcall_virtual6FpnJJavaValue_nLKlassHandle_nMsymbolHandle_4pnRJavaCallArguments_pnGThread__v_+0xc1
V  [libjvm.so+0x16203a];;  __1cJJavaCallsMcall_virtual6FpnJJavaValue_nGHandle_nLKlassHandle_nMsymbolHandle_5pnGThread__v_+0x7e
V  [libjvm.so+0x173492];;  __1cMthread_entry6FpnKJavaThread_pnGThread__v_+0xd2
V  [libjvm.so+0x16fa00];;  __1cKJavaThreadRthread_main_inner6M_v_+0x4c
V  [libjvm.so+0x16f9a9];;  __1cKJavaThreadDrun6M_v_+0x18d
V  [libjvm.so+0x45efa6];;  java_start+0xfe
C  [libc.so.1+0x9f708];;  _thr_setup+0x4e
C  [libc.so.1+0x9f9f0];;  _lwp_start+0x0


---------------  P R O C E S S  ---------------

Java Threads: ( => current thread )
=>0x081bec00 JavaThread "TestThread" [_thread_in_Java, id=14]
  0x08131c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=12]
  0x0812fc00 JavaThread "CompilerThread1" daemon [_thread_blocked, id=11]
  0x0812ec00 JavaThread "CompilerThread0" daemon [_thread_blocked, id=10]
  0x08123800 JavaThread "JDWP Command Reader" daemon [_thread_in_native, id=9]
  0x08122800 JavaThread "JDWP Event Helper Thread" daemon [_thread_blocked, id=8]
  0x08120400 JavaThread "JDWP Transport Listener: dt_socket" daemon [_thread_blocked, id=7]
  0x08106000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6]
  0x080f2800 JavaThread "Finalizer" daemon [_thread_blocked, id=5]
  0x080f1800 JavaThread "Reference Handler" daemon [_thread_blocked, id=4]
  0x08071000 JavaThread "main" [_thread_in_native, id=2]

Other Threads:
  0x080ee800 VMThread [id=3]
  0x0813bc00 WatcherThread [id=13]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 960K, used 878K [0xc6400000, 0xc6500000, 0xc6b10000)
  eden space 896K,  98% used [0xc6400000, 0xc64db988, 0xc64e0000)
  from space 64K,   0% used [0xc64f0000, 0xc64f0018, 0xc6500000)
  to   space 64K,   0% used [0xc64e0000, 0xc64e0000, 0xc64f0000)
 tenured generation   total 4096K, used 141K [0xc6b10000, 0xc6f10000, 0xca400000)
   the space 4096K,   3% used [0xc6b10000, 0xc6b336d8, 0xc6b33800, 0xc6f10000)
 compacting perm gen  total 16384K, used 2337K [0xca400000, 0xcb400000, 0xce400000)
   the space 16384K,  14% used [0xca400000, 0xca6486b8, 0xca648800, 0xcb400000)
No shared spaces configured.

Dynamic libraries:
0x08050000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/bin/java
0xd27a0000 	/lib/libthread.so.1
0xd2780000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/bin/../lib/i386/jli/libjli.so
0xd27b0000 	/lib/libdl.so.1
0xd2690000 	/lib/libc.so.1
0xd2000000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/server/libjvm.so
0xd1fe0000 	/lib/libsocket.so.1
0xd2670000 	/usr/lib/libsched.so.1
0xd1fb0000 	/lib/libm.so.1
0xd1f80000 	/usr/lib/libCrun.so.1
0xd1f60000 	/lib/libdoor.so.1
0xd1ec0000 	/lib/libnsl.so.1
0xd1e60000 	/lib/libm.so.2
0xd1e30000 	/lib/libscf.so.1
0xd1e00000 	/lib/libuutil.so.1
0xd1de0000 	/lib/libmd5.so.1
0xd1dc0000 	/lib/libmp.so.2
0xd1cf0000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/native_threads/libhpi.so
0xd1ca0000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/libjdwp.so
0xd1c70000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/libnpt.so
0xd1a30000 	/usr/lib/locale/ru_RU.UTF-8/ru_RU.UTF-8.so.3
0xd1a10000 	/usr/lib/locale/common/methods_unicode.so.3
0xd19d0000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/libverify.so
0xd1980000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/libjava.so
0xd1950000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/libzip.so
0xce510000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/libdt_socket.so
0xce4c0000 	/lib/nss_nis.so.1
0xc6210000 	/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/libnet.so

VM Arguments:
jvm_args: -Xmixed -Xdebug -Xrunjdwp:transport=dt_socket,address=vmsqe-p3-03:56686,suspend=y 
java_command: BreakpointEventTest001Debuggee
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=/set/vmsqe/jdk-builds/latest/solaris-i586/lib/tools.jar:/home/sb196040/eclipse_jpda/JDIMultistress/bin
PATH=/usr/dt/bin:/usr/openwin/bin:/usr/ccs/bin:/usr/bin:/usr/sbin:/sbin:/usr/ucb:/usr/dist/local/exe:/usr/sfw/bin:/usr/dist/exe:/usr/lib/lp/postscript:.
LD_LIBRARY_PATH=/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/server:/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386:/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/../lib/i386:/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386/client:/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/lib/i386:/net/vmsqe-amd-01.russia/export3/vmsqe/jdk-builds/7/b10/solaris-i586/jre/../lib/i386:/home/sb196040/eclipse_jpda/JDIMultistress/native/hangtest/solaris-i586
SHELL=/bin/bash
DISPLAY=sr1-espb04-03:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x4f2ad4], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGBUS: [libjvm.so+0x4f2ad4], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGFPE: [libjvm.so+0x109f84], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGPIPE: [libjvm.so+0x109f84], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGXFSZ: [libjvm.so+0x109f84], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGILL: [libjvm.so+0x109f84], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGQUIT: [libjvm.so+0x460530], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGHUP: [libjvm.so+0x460530], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGINT: [libjvm.so+0x460530], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGTERM: [libjvm.so+0x460530], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIG39: [libjvm.so+0x461cd4], sa_mask[0]=0x00000000, sa_flags=0x00000008
SIG40: [libjvm.so+0x109f84], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c


---------------  S Y S T E M  ---------------

OS:                          Solaris 10 3/05 s10_74L2a X86
           Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                            Assembled 22 January 2005

uname:SunOS 5.10 Generic_118855-02 i86pc  (T2 libthread)
rlimit: STACK 8480k, CORE infinity, NOFILE 65536, AS infinity
load average:0,79 0,53 0,36

CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 8 stepping 6, cmov, cx8, fxsr, mmx, sse

Memory: 4k page, physical 523820k(344688k free)

vm_info: Java HotSpot(TM) Server VM (1.7.0-ea-b10) for solaris-x86, built on Mar 20 2007 00:55:59 by "" with unknown Workshop:0x580

Comments
EVALUATION Closing as a dup of 6496524: Setting breakpoint in jdb crashes Hotspot JVM The breakpoint at line 29 (bci 17) is the same location as the safepoint. The fix in continuation_for() for deoptimization solves the problem.
13-06-2007