JDK-6346871 : REGRESSION: simple test program (using JacORB) causes HotSpot to SIGSEGV on Solaris 8
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 1.3.3,5.0,5.0u5,5.0u6
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS:
    generic,linux,solaris_8,solaris_9,solaris_10 generic,linux,solaris_8,solaris_9,solaris_10
  • CPU: x86,sparc
  • Submitted: 2005-11-07
  • Updated: 2011-01-26
  • Resolved: 2006-01-10
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
5.0u7 b01Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Description
FULL PRODUCT VERSION :
vm_info: Java HotSpot(TM) Server VM (1.5.0_05-b05) for solaris-sparc, built on A
ug 26 2005 16:11:55 by unknown with unknown Workshop:0x550


FULL OS VERSION :
SunOS ws1360 5.8 Generic_117000-05 sun4u sparc SUNW,Sun-Blade-1500
SunOS ws1474 5.9 Generic_118558-11 sun4u sparc SUNW,Sun-Blade-1500
SunOS ws2200 5.10 Generic_118822-19 sun4u sparc SUNW,Sun-Blade-1500


A DESCRIPTION OF THE PROBLEM :
Trying to run a simple demo application with JacORB causes HotSpot to dump core (SIGSEGV) The problem remains even when using /usr/lib/lwp/libthread rather than plain old (bad) libthread.so


THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: No

THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Yes

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run a JacOrb test (simple client /server) on a Solaris box

In my simple test, I run it for 150000 iterations, plus 80000 warmup iterations (to enable
native compilation). After only a few seconds, the JVM exits with a SIGSEGV
when trying to compile org.jacorb.orb.Delegate.request(Lorg/omg/CORBA/Object;Ljava/lang/S
tring;Z)Lorg/omg/CORBA/portable/OutputStream; (240 bytes)

This was not present in 1.5.0_02

ERROR MESSAGES/STACK TRACES THAT OCCUR :
hs_err_pid output:
#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
#  SIGSEGV (0xb) at pc=0xfe2221bc, pid=27471, tid=12
#
# Java VM: Java HotSpot(TM) Server VM (1.5.0_05-b05 mixed mode)
# Problematic frame:
# V  [libjvm.so+0x6221bc]
#

---------------  T H R E A D  ---------------

Current thread (0x00174340):  JavaThread "CompilerThread1" daemon [_thread_in_na
tive, id=12]

siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000

Registers:
 O0=0x00000000 O1=0x00278a98 O2=0x00278a78 O3=0xfdd10a94
 O4=0x0043a8f4 O5=0x00000003 O6=0xb3a802b8 O7=0xfe222190
 G1=0x0043ada8 G2=0xfe3dbc30 G3=0x0043ae0c G4=0x00000001
 G5=0xfdffe7dc G6=0xf8015d10 G7=0xb3a81d98 Y=0x00000000
 PC=0xfe2221bc nPC=0xfe2221c0


  Top of Stack: (sp=0xb3a802b8)
0xb3a802b8:   0043ad70 0043a8cc fe39c000 b3a80318
0xb3a802c8:   00000001 00000000 0043a910 00000000
0xb3a802d8:   fe3dc24c b3a80874 00000000 0043a910
0xb3a802e8:   b3a80874 0043ade4 b3a80328 fdcf6250
0xb3a802f8:   000000cb 00008a38 004697b8 0000000e
0xb3a80308:   004697b8 0000000e 00210b30 b3a80874
0xb3a80318:   00000000 00000002 004697c0 00000000
0xb3a80328:   b3a80878 b3a8089c b3a809c4 fe3df678

Instructions: (pc=0xfe2221bc)
0xfe2221ac:   12 40 00 08 90 10 20 00 d2 02 a0 04 d0 02 60 08
0xfe2221bc:   ca 02 20 00 c8 01 60 30 9f c1 00 00 01 00 00 00

Stack: [0xb3a02000,0xb3a81d98),  sp=0xb3a802b8,  free space=504k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x6221bc]
V  [libjvm.so+0xf6258]
V  [libjvm.so+0x1e0d0c]
V  [libjvm.so+0x27cfa4]
V  [libjvm.so+0x27fcf8]
V  [libjvm.so+0x275c1c]
V  [libjvm.so+0x2768d8]
V  [libjvm.so+0x332140]
V  [libjvm.so+0x2da83c]
V  [libjvm.so+0x652d58]


Current CompileTask:
opto: 79 s!   org.jacorb.orb.Delegate.request(Lorg/omg/CORBA/Object;Ljava/lang/S
tring;Z)Lorg/omg/CORBA/portable/OutputStream; (240 bytes)


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

Java Threads: ( => current thread )
  0x00286b10 JavaThread "Thread-3" daemon [_thread_in_native, id=17]
  0x002bc498 JavaThread "Thread-2" [_thread_blocked, id=16]
  0x002bc148 JavaThread "Thread-1" [_thread_blocked, id=15]
  0x001753e8 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=13]
=>0x00174340 JavaThread "CompilerThread1" daemon [_thread_in_native, id=12]
  0x001734d8 JavaThread "CompilerThread0" daemon [_thread_blocked, id=11]
  0x00172670 JavaThread "AdapterThread" daemon [_thread_in_native, id=10]
  0x00171958 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=9]
  0x00167060 JavaThread "Finalizer" daemon [_thread_blocked, id=8]
  0x00165118 JavaThread "Reference Handler" daemon [_thread_blocked, id=7]
  0x00037bc0 JavaThread "main" [_thread_blocked, id=1]

Other Threads:
  0x00162660 VMThread [id=6]
  0x00177070 WatcherThread [id=14]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread:  ([mutex/lock_event])
[0x000332e0/0x00034b90] CodeCache_lock - owner thread: 0x00000000
Heap
 PSYoungGen      total 19136K, used 8597K [0xe26b0000, 0xe3c00000, 0xf7c00000)
  eden space 16448K, 45% used [0xe26b0000,0xe2e03570,0xe36c0000)
  from space 2688K, 40% used [0xe36c0000,0xe37d2188,0xe3960000)
  to   space 2688K, 0% used [0xe3960000,0xe3960000,0xe3c00000)
 PSOldGen        total 43712K, used 0K [0xb7c00000, 0xba6b0000, 0xe26b0000)
  object space 43712K, 0% used [0xb7c00000,0xb7c00000,0xba6b0000)
 PSPermGen       total 16384K, used 3261K [0xb3c00000, 0xb4c00000, 0xb7c00000)
  object space 16384K, 19% used [0xb3c00000,0xb3f2f590,0xb4c00000)

Dynamic libraries:
0x00010000      /proj/N/NF/Java/jdk1.5.0/jre/bin/java
0xff360000      /usr/lib/libthread.so.1
0xff3a0000      /usr/lib/libdl.so.1
0xff200000      /usr/lib/libc.so.1
0xff340000      /usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
0xfdc00000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/server/libjvm.so
0xff2e0000      /usr/lib/libsocket.so.1
0xff1e0000      /usr/lib/libsched.so.1
0xff1b0000      /usr/lib/libCrun.so.1
0xff160000      /usr/lib/libm.so.1
0xff080000      /usr/lib/libnsl.so.1
0xff300000      /usr/lib/libw.so.1
0xff060000      /usr/lib/libmp.so.2
0xff030000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/native_threads/libhpi.
so
0xfe7c0000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libverify.so
0xfe770000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libjava.so
0xfe750000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libzip.so
0xfe560000      /usr/lib/locale/en_US/en_US.so.2
0xfe420000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libnet.so

VM Arguments:
jvm_args: -Xbootclasspath/p:/proj/N/NF/Java/JacORB/JacORB_2_2_2/lib/jacorb.jar:/
proj/N/NF/Java/JacORB/JacORB_2_2_2/lib/logkit-1.2.jar:/proj/N/NF/Java/JacORB/Jac
ORB_2_2_2/lib/avalon-framework-4.1.5.jar:/proj/N/NF/Java/JacORB/JacORB_2_2_2/lib
/concurrent-1.3.2.jar:/proj/N/NF/Java/JacORB/JacORB_2_2_2/lib/antlr-2.7.2.jar:/p
roj/N/NF/Java/jdk1.5.0/jre/lib/rt.jar:/proj/N/NF/Java/idlBenchmark/classes -Djac
orb.home=/proj/N/NF/Java/JacORB/JacORB_2_2_2 -Dorg.omg.CORBA.ORBClass=org.jacorb
.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
java_command: demo.ddrs.Client -i 150000 -d 20 -w 80000 -t 2

Environment Variables:
JRE_HOME=/proj/N/NF/Java/jdk1.5.0/jre
CLASSPATH=/proj/N/NF/Java/idlBenchmark/classes
PATH=/proj/N/NF/Java/jdk1.5.0/jre/bin:/proj/vau/dev/frt//bin:/home/epkanol/bin:/
opt/SUNWspro/bin:/opt/local/SUNWguide/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/u
sr/ccs/bin:/etc:/opt/local/netscape:/opt/local/bin/5.8:/opt/local/bin:/opt/local
/gnu/bin/5.8:/opt/local/gnu/bin:/usr/dt/bin:/opt/local/bin/elm:/opt/local/etc:/o
pt/local/Acrobat/bin:/opt/local/FrameMaker6.0.1/bin:/usr/bin/X11:/opt/local/fax/
bin:/opt/local/tmosbin:/opt/local/dynatext/bin:/opt/local/AcroRead/bin:/opt/CTXS
mf/bin:/opt/local/proctool/bin:.:/opt/local/gnu/xemacs/bin:/proj/P/PF/one_phone/
bin:/usr/atria/bin:/vobstg/ccn/env/bin:/usr/atria/bin
LD_LIBRARY_PATH=/proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/server:/proj/N/NF/Java
/jdk1.5.0_05/jre/lib/sparc:/proj/N/NF/Java/jdk1.5.0_05/jre/../lib/sparc:/usr/ope
nwin/lib:/opt/local/APIcomm
SHELL=/bin/tcsh
HOSTTYPE=sun4
OSTYPE=solaris
MACHTYPE=sparc

Signal Handlers:
SIGSEGV: [libjvm.so+0x6d3178], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGBUS: [libjvm.so+0x6d3178], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGFPE: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGPIPE: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGILL: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGUSR1: [libjvm.so+0x655038], sa_mask[0]=0x00008000, sa_flags=0x00000008
SIGUSR2: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGHUP: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGINT: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGQUIT: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGTERM: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004


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

OS:                       Solaris 8 2/04 s28s_hw4wos_05a SPARC
           Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
                            Assembled 08 January 2004

uname:SunOS 5.8 Generic_108528-29 sun4u  (T1 libthread)
Dynamic libraries:
0x00010000      /proj/N/NF/Java/jdk1.5.0/jre/bin/java
0xff360000      /usr/lib/libthread.so.1
0xff3a0000      /usr/lib/libdl.so.1
0xff200000      /usr/lib/libc.so.1
0xff340000      /usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1
0xfdc00000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/server/libjvm.so
0xff2e0000      /usr/lib/libsocket.so.1
0xff1e0000      /usr/lib/libsched.so.1
0xff1b0000      /usr/lib/libCrun.so.1
0xff160000      /usr/lib/libm.so.1
0xff080000      /usr/lib/libnsl.so.1
0xff300000      /usr/lib/libw.so.1
0xff060000      /usr/lib/libmp.so.2
0xff030000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/native_threads/libhpi.
so
0xfe7c0000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libverify.so
0xfe770000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libjava.so
0xfe750000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libzip.so
0xfe560000      /usr/lib/locale/en_US/en_US.so.2
0xfe420000      /proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/libnet.so

VM Arguments:
jvm_args: -Xbootclasspath/p:/proj/N/NF/Java/JacORB/JacORB_2_2_2/lib/jacorb.jar:/
proj/N/NF/Java/JacORB/JacORB_2_2_2/lib/logkit-1.2.jar:/proj/N/NF/Java/JacORB/Jac
ORB_2_2_2/lib/avalon-framework-4.1.5.jar:/proj/N/NF/Java/JacORB/JacORB_2_2_2/lib
/concurrent-1.3.2.jar:/proj/N/NF/Java/JacORB/JacORB_2_2_2/lib/antlr-2.7.2.jar:/p
roj/N/NF/Java/jdk1.5.0/jre/lib/rt.jar:/proj/N/NF/Java/idlBenchmark/classes -Djac
orb.home=/proj/N/NF/Java/JacORB/JacORB_2_2_2 -Dorg.omg.CORBA.ORBClass=org.jacorb
.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
java_command: demo.ddrs.Client -i 150000 -d 20 -w 80000 -t 2

Environment Variables:
JRE_HOME=/proj/N/NF/Java/jdk1.5.0/jre
CLASSPATH=/proj/N/NF/Java/idlBenchmark/classes
PATH=/proj/N/NF/Java/jdk1.5.0/jre/bin:/proj/vau/dev/frt//bin:/home/epkanol/bin:/
opt/SUNWspro/bin:/opt/local/SUNWguide/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/u
sr/ccs/bin:/etc:/opt/local/netscape:/opt/local/bin/5.8:/opt/local/bin:/opt/local
/gnu/bin/5.8:/opt/local/gnu/bin:/usr/dt/bin:/opt/local/bin/elm:/opt/local/etc:/o
pt/local/Acrobat/bin:/opt/local/FrameMaker6.0.1/bin:/usr/bin/X11:/opt/local/fax/
bin:/opt/local/tmosbin:/opt/local/dynatext/bin:/opt/local/AcroRead/bin:/opt/CTXS
mf/bin:/opt/local/proctool/bin:.:/opt/local/gnu/xemacs/bin:/proj/P/PF/one_phone/
bin:/usr/atria/bin:/vobstg/ccn/env/bin:/usr/atria/bin
LD_LIBRARY_PATH=/proj/N/NF/Java/jdk1.5.0_05/jre/lib/sparc/server:/proj/N/NF/Java
/jdk1.5.0_05/jre/lib/sparc:/proj/N/NF/Java/jdk1.5.0_05/jre/../lib/sparc:/usr/ope
nwin/lib:/opt/local/APIcomm
SHELL=/bin/tcsh
HOSTTYPE=sun4
OSTYPE=solaris
MACHTYPE=sparc

Signal Handlers:
SIGSEGV: [libjvm.so+0x6d3178], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGBUS: [libjvm.so+0x6d3178], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGFPE: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGPIPE: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGILL: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGUSR1: [libjvm.so+0x655038], sa_mask[0]=0x00008000, sa_flags=0x00000008
SIGUSR2: [libjvm.so+0x273260], sa_mask[0]=0xffbffeff, sa_flags=0x0000000c
SIGHUP: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGINT: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGQUIT: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004
SIGTERM: [libjvm.so+0x653eb8], sa_mask[0]=0xffbffeff, sa_flags=0x00000004


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

OS:                       Solaris 8 2/04 s28s_hw4wos_05a SPARC
           Copyright 2004 Sun Microsystems, Inc.  All Rights Reserved.
                            Assembled 08 January 2004

uname:SunOS 5.8 Generic_108528-29 sun4u  (T1 libthread)
rlimit: STACK 8192k, CORE 0k, NOFILE 1024, AS infinity
load average:0.34 0.11 0.05

CPU:total 2 has_v8, has_v9, has_vis1, has_vis2, is_ultra3

Memory: 8k page, physical 4194304k(3359296k free)

vm_info: Java HotSpot(TM) Server VM (1.5.0_05-b05) for solaris-sparc, built on A
ug 26 2005 16:11:55 by unknown with unknown Workshop:0x550

REPRODUCIBILITY :
This bug can be reproduced always.

Comments
SUGGESTED FIX http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/1.5/tiger_update7_baseline/2005/20051221134919.never.u6/workspace/webrevs/webrev-2005.12.21/index.html
22-12-2005

EVALUATION We're encountering a copy region during the backwards walk and segv'ing because an input is null. The fix is to skip over copy regions.
10-11-2005

WORK AROUND The test passed with -XX:-EliminateLocks. jaberwocky% setenv JVM_FLAGS "-server -XX:-EliminateLocks" jaberwocky% jaco -cp ${JACORB_HOME}/classes demo.grid.Client 4 [ No configuration properties found for configuration jacorb ] Using orb class: class org.jacorb.orb.ORB Start: 10000 iterations, Start: 10000 iterations, Start: 10000 iterations, Start: 10000 iterations, Throughput 721.1885186787827 req/s. Throughput 717.6175098672408 req/s. Throughput 723.3273056057866 req/s. Throughput 718.8555819135936 req/s. Total: 2880.9889160654034 [req/s]. done.
10-11-2005