JDK-5083441 : REGRESSION: -Xrunhrof depth=0 option causes snapshot release to crash immediate
  • Type: Bug
  • Component: tools
  • Sub-Component: hprof
  • Affected Version: 5.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_2.5.1
  • CPU: x86
  • Submitted: 2004-08-05
  • Updated: 2004-10-23
  • Resolved: 2004-10-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other JDK 6
5.0u4Fixed 6 b10Fixed
Description
Name: rmT116609			Date: 08/05/2004


FULL PRODUCT VERSION :
java version "1.5.0-beta3"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta3-b60)
Java HotSpot(TM) Server VM (build 1.5.0-beta3-b60, mixed mode)


FULL OS VERSION :
Linux hoth.stsci.edu 2.4.21-15.0.3.ELsmp #1 SMP Tue Jun 29 18:04:47 EDT 2004 i686 i686 i386 GNU/Linux


EXTRA RELEVANT SYSTEM CONFIGURATION :
2x3.2GHz Xeon, Raid 5 disk controller, 1GB ethernet, RedHat WS 3.0

A DESCRIPTION OF THE PROBLEM :
Using the option depth=0 causes the VM to crash immediately.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
java -Xrunhprof:heap=all,format=a,depth=0

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
usage message since class name was not included
ACTUAL -
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0x40b4060c, pid=24344, tid=1075266816
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0-beta3-b60 mixed mode)
# Problematic frame:
# C  [libhprof.so+0x1560c]
#
# An error report file with more information is saved as hs_err_pid24344.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Aborted


ERROR MESSAGES/STACK TRACES THAT OCCUR :
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0x40b4060c, pid=24344, tid=1075266816
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0-beta3-b60 mixed mode)
# Problematic frame:
# C  [libhprof.so+0x1560c]
#
 
---------------  T H R E A D  ---------------
 
Current thread (0x080b9f28):  JavaThread "main" [_thread_in_native, id=24344]
 
siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000
 
Registers:
EAX=0x00000000, EBX=0x40b4b2c8, ECX=0x00000000, EDX=0x00030d40
ESP=0xbfffae10, EBP=0xbfffae38, ESI=0x00000000, EDI=0x00000000
EIP=0x40b4060c, CR2=0x00000000, EFLAGS=0x00210297
 
  Top of Stack: (sp=0xbfffae10)
0xbfffae10:   0805a148 0811021c 00000000 00000002
0xbfffae20:   00000000 0000000c 40b405db 40b4b2c8
0xbfffae30:   00000002 00000000 bfffae68 40b4103b
0xbfffae40:   00030d40 00000000 00000000 00000000
0xbfffae50:   00000000 00000000 00000000 40b4b2c8
0xbfffae60:   08170158 00000000 bfffae98 40b3edf8
0xbfffae70:   0811021c 00030d40 00000000 00000000
0xbfffae80:   00000000 00000000 bfffae98 40b4b2c8
 
Instructions: (pc=0x40b4060c)
0x40b405fc:   08 00 00 00 89 45 ec 8b 83 38 04 00 00 8b 7d 14
0x40b4060c:   89 07 8b 83 3c 04 00 00 89 47 04 8b 83 40 04 00
 
Stack: [0xbfe00000,0xc0000000),  sp=0xbfffae10,  free space=2027k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libhprof.so+0x1560c]
C  [libhprof.so+0x1603b]
C  [libhprof.so+0x13df8]
C  [libhprof.so+0x1552b]
C  [libhprof.so+0x5a40]
V  [libjvm.so+0x35dbe5]
V  [libjvm.so+0x4758b5]
V  [libjvm.so+0x26f4ec]
C  [java+0x325c]
C  [java+0x152f]  calloc+0x393
C  [libc.so.6+0x15768]  __libc_start_main+0xf8
 
 
---------------  P R O C E S S  ---------------
 
Java Threads: ( => current thread )
  0x08157ac8 JavaThread "Finalizer" daemon [_thread_blocked, id=24347]
  0x081566d0 JavaThread "Reference Handler" daemon [_thread_blocked, id=24346]
=>0x080b9f28 JavaThread "main" [_thread_in_native, id=24344]
 
Other Threads:
  0x08152dc8 VMThread [id=24345]
 
VM state:not at safepoint (normal execution)
 
VM Mutex/Monitor currently owned by a thread: None
 
Heap
 def new generation   total 576K, used 117K [0x45b10000, 0x45bb0000, 0x46220000)
  eden space 512K,  23% used [0x45b10000, 0x45b2d730, 0x45b90000)
  from space 64K,   0% used [0x45b90000, 0x45b90000, 0x45ba0000)
  to   space 64K,   0% used [0x45ba0000, 0x45ba0000, 0x45bb0000)
 tenured generation   total 1408K, used 0K [0x46220000, 0x46380000, 0x49b10000)
   the space 1408K,   0% used [0x46220000, 0x46220000, 0x46220200, 0x46380000)
 compacting perm gen  total 16384K, used 1216K [0x49b10000, 0x4ab10000, 0x4db10000)
   the space 16384K,   7% used [0x49b10000, 0x49c40160, 0x49c40200, 0x4ab10000)
No shared spaces configured.
 
Dynamic libraries:
08048000-08056000 r-xp 00000000 08:05 2769404    /home/fred/jdk1.5.0/bin/java
08056000-08058000 rw-p 0000e000 08:05 2769404    /home/fred/jdk1.5.0/bin/java
08058000-0818c000 rw-p 00000000 00:00 0
40000000-40015000 r-xp 00000000 08:05 524291     /lib/ld-2.3.2.so
40015000-40016000 rw-p 00014000 08:05 524291     /lib/ld-2.3.2.so
40016000-40017000 rw-p 00000000 00:00 0
40017000-40018000 r--p 00000000 00:00 0
40018000-4001e000 r-xp 00000000 08:05 4899064    /home/fred/jdk1.5.0/jre/lib/i386/native_threads/libhpi.so
4001e000-4001f000 rw-p 00006000 08:05 4899064    /home/fred/jdk1.5.0/jre/lib/i386/native_threads/libhpi.so
4001f000-40023000 r-xp 00000000 08:05 4899076    /home/fred/jdk1.5.0/jre/lib/i386/libjava_crw_demo.so
40023000-40024000 rw-p 00003000 08:05 4899076    /home/fred/jdk1.5.0/jre/lib/i386/libjava_crw_demo.so
40024000-40025000 r--p 00a12000 08:05 3277270    /usr/lib/locale/locale-archive
40029000-40036000 r-xp 00000000 08:05 180232     /lib/tls/libpthread-0.60.so
40036000-40037000 rw-p 0000c000 08:05 180232     /lib/tls/libpthread-0.60.so
40037000-40039000 rw-p 00000000 00:00 0
40039000-4003b000 r-xp 00000000 08:05 524304     /lib/libdl-2.3.2.so
4003b000-4003c000 rw-p 00001000 08:05 524304     /lib/libdl-2.3.2.so
4003c000-4016e000 r-xp 00000000 08:05 180227     /lib/tls/libc-2.3.2.so
4016e000-40171000 rw-p 00131000 08:05 180227     /lib/tls/libc-2.3.2.so
40171000-40175000 rw-p 00000000 00:00 0
40175000-4066a000 r-xp 00000000 08:05 2850927    /home/fred/jdk1.5.0/jre/lib/i386/server/libjvm.so
4066a000-406cb000 rw-p 004f5000 08:05 2850927    /home/fred/jdk1.5.0/jre/lib/i386/server/libjvm.so
406cb000-40ae2000 rw-p 00000000 00:00 0
40ae2000-40b03000 r-xp 00000000 08:05 180230     /lib/tls/libm-2.3.2.so
40b03000-40b04000 rw-p 00020000 08:05 180230     /lib/tls/libm-2.3.2.so
40b04000-40b0c000 rw-s 00000000 08:05 4653440    /tmp/hsperfdata_fred/24344
40b16000-40b28000 r-xp 00000000 08:05 524308     /lib/libnsl-2.3.2.so
40b28000-40b29000 rw-p 00011000 08:05 524308     /lib/libnsl-2.3.2.so
40b29000-40b2b000 rw-p 00000000 00:00 0
40b2b000-40b4b000 r-xp 00000000 08:05 4899077    /home/fred/jdk1.5.0/jre/lib/i386/libhprof.so
40b4b000-40b4c000 rw-p 0001f000 08:05 4899077    /home/fred/jdk1.5.0/jre/lib/i386/libhprof.so
40b4c000-40b57000 r-xp 00000000 08:05 524324     /lib/libnss_files-2.3.2.so
40b57000-40b58000 rw-p 0000a000 08:05 524324     /lib/libnss_files-2.3.2.so
40b58000-40b63000 r-xp 00000000 08:05 4899072    /home/fred/jdk1.5.0/jre/lib/i386/libverify.so
40b63000-40b64000 rw-p 0000b000 08:05 4899072    /home/fred/jdk1.5.0/jre/lib/i386/libverify.so
40b64000-40b85000 r-xp 00000000 08:05 4899073    /home/fred/jdk1.5.0/jre/lib/i386/libjava.so
40b85000-40b87000 rw-p 00020000 08:05 4899073    /home/fred/jdk1.5.0/jre/lib/i386/libjava.so
40b87000-40b9a000 r-xp 00000000 08:05 4899075    /home/fred/jdk1.5.0/jre/lib/i386/libzip.so
40b9a000-40b9c000 rw-p 00012000 08:05 4899075    /home/fred/jdk1.5.0/jre/lib/i386/libzip.so
40b9c000-43153000 r--s 00000000 08:05 4899141    /home/fred/jdk1.5.0/jre/lib/rt.jar
43153000-431bb000 rw-p 00000000 00:00 0
431bb000-43241000 r--s 00000000 08:05 4899136    /home/fred/jdk1.5.0/jre/lib/jsse.jar
43241000-43255000 r--s 00000000 08:05 4899105    /home/fred/jdk1.5.0/jre/lib/jce.jar
43255000-43a90000 r--s 00000000 08:05 4899139    /home/fred/jdk1.5.0/jre/lib/charsets.jar43a90000-43ad8000 rwxp 00000000 00:00 0
43ad8000-45a90000 rwxp 00048000 00:00 0
45a90000-45a92000 rwxp 00000000 00:00 0
45a92000-45b10000 rwxp 02002000 00:00 0
45b10000-45bb0000 rwxp 00000000 00:00 0
45bb0000-46220000 rwxp 02120000 00:00 0
46220000-46380000 rwxp 00000000 00:00 0
46380000-49b10000 rwxp 028f0000 00:00 0
49b10000-4ab10000 rwxp 00000000 00:00 0
4ab10000-4db10000 rwxp 07080000 00:00 0
4db10000-4db11000 rwxp 00000000 00:00 0
4db11000-4db13000 rwxp 0a081000 00:00 0
4db13000-4db15000 rwxp 00000000 00:00 0
4db15000-4db30000 rwxp 0a085000 00:00 0
4db30000-4db38000 rwxp 00000000 00:00 0
4db38000-4db50000 rwxp 0a0a8000 00:00 0
4db50000-4db52000 rwxp 00000000 00:00 0
4db52000-4db6e000 rwxp 00001000 00:00 0
4db6e000-4db77000 rwxp 00000000 00:00 0
4db77000-4db8f000 rwxp 00026000 00:00 0
4db8f000-4db90000 ---p 00000000 00:00 0
4db90000-4dc10000 rwxp 00001000 00:00 0
4dc10000-4dc13000 ---p 00081000 00:00 0
4dc13000-4dc91000 rwxp 00084000 00:00 0
4dc91000-4dc94000 ---p 00102000 00:00 0
4dc94000-4dd12000 rwxp 00105000 00:00 0
4dd12000-4df12000 r--p 00000000 08:05 3277270    /usr/lib/locale/locale-archive
4df12000-4df44000 r--p 009c4000 08:05 3277270    /usr/lib/locale/locale-archive
bfe00000-bfe03000 ---p 00000000 00:00 0
bfe03000-c0000000 rwxp ffe06000 00:00 0
 
VM Arguments:
jvm_args: -Xrunhprof:heap=all,format=a,depth=0
java_command: <unknown>
 
Environment Variables:
PATH=/home/fred/dev/ostdb/ostdb2_1/bin:/opt/sybase/OCS-12_5/bin:/opt/sybase/JS-12_5/bin:/home/fred/bin:/usr/java/j2sdk1.4.2_05/bin:/home/fred/bin:/usr/java/j2sdk1.4.2_05/bin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/fred/bin
LD_LIBRARY_PATH=/home/fred/jdk1.5.0/jre/lib/i386/server:/home/fred/jdk1.5.0/jre/lib/i386:/home/fred/jdk1.5.0/jre/../lib/i386:/home/fred/dev/ostdb/ostdb2_1/lib:/opt/sybase/OCS-12_5/lib:/opt/sybase/OCS-12_5/lib3p:
SHELL=/bin/bash
DISPLAY=:0.0
 
 
---------------  S Y S T E M  ---------------
 
OS:Red Hat Enterprise Linux WS release 3 (Taroon Update 2)
 
uname:Linux 2.4.21-15.0.3.ELsmp #1 SMP Tue Jun 29 18:04:47 EDT 2004 i686
libc:glibc 2.3.2 NPTL 0.60
rlimit: STACK infinity, CORE 0k, NPROC infinity, NOFILE 1024, AS infinity
load average:0.09 0.06 0.08
 
CPU:total 4 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht
 
Memory: 4k page, physical 2061156k(38196k free), swap 2040212k(2026620k free)
 
vm_info: Java HotSpot(TM) Server VM (1.5.0-beta3-b60) for linux-x86, built on Jul 28 2004 02:38:07 by java_re with gcc 3.2.1-7a (J2SE release)


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
don't use depth=0

Release Regression From : 1.4.2_05
The above release value was the last known release where this 
bug was known to work. Since then there has been a regression.

(Incident Review ID: 295989) 
======================================================================
###@###.### 10/8/04 00:21 GMT

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: mustang
06-09-2004

EVALUATION ###@###.### 2004-08-05 In hprof_tls.c, the function setup_trace_buffers(TLSInfo *info, int max_depth) is being called with max_depth = 0. This causes info.frames_buffer to not be allocated and to remain null. Later code expects this to not be null, eg: HPROF_ASSERT(info->jframes_buffer!=NULL); If this change is made: ------- hprof_tls.c ------- 253,254c253 < < if ( info->buffer_depth >= max_depth ) { --- > if ( max_depth != 0 && info->buffer_depth >= max_depth ) { the bug goes away, but this is probably not the right fix.
06-09-2004

PUBLIC COMMENTS .
06-09-2004

WORK AROUND ###@###.### 2004-08-05 Don't use depth=0. EG, instead of java -Xrunhprof:heap=all,format=a,depth=0 use java -Xrunhprof:heap=all,format=a,depth=1
05-08-2004