JDK-6442502 : assert(bits,"Use TypePtr for NULL") on linux-x86
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2006-06-22
  • Updated: 2012-02-01
  • Resolved: 2011-03-07
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.
JDK 6 JDK 7 Other
6u18Fixed 7Fixed hs15Fixed
Description
There is rare failure during Nightly testing of C2_baseline only on linux-x86.
The recent one:

[kvn@rupert /tmp]$ /net/jano/export/disk05/hotspot/bin/hs_err --jvm=./libjvm.so hs_err_pid17855.log
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/PrtBuildDir/workspace/src/share/vm/opto/type.cpp, 1732), pid=17855, tid=9501616
#
# Java VM: Java HotSpot(TM) Server VM (20060619095921.nips.unroll-debug compiled mode)
#
# Error: assert(bits,"Use TypePtr for NULL")
# 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 (0xd3218c00):  JavaThread "CompilerThread0" daemon [_thread_in_native, id=17865]

Stack: [0x0088f000,0x00910000),  sp=0x0090dd30,  free space=507k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x8f3db8];;  _ZN7VMError14report_and_dieEv+0x258
V  [libjvm.so+0x404ef5];;  _Z24report_assertion_failurePKciS0_+0x55
V  [libjvm.so+0x8b6829];;  _ZN10TypeRawPtr4makeEPh+0xc9
V  [libjvm.so+0x499572];;  _ZN8GraphKit13store_barrierEP4NodeS1_S1_+0x172
V  [libjvm.so+0x7bd7dd];;  _ZN5Parse10do_put_xxxEPK7TypePtrP4NodeP7ciFieldb+0x38d
V  [libjvm.so+0x7bcbde];;  _ZN5Parse15do_field_accessEbb+0x20e
V  [libjvm.so+0x7bbb58];;  _ZN5Parse15do_one_bytecodeEv+0x12c28
V  [libjvm.so+0x79bbeb];;  _ZN5Parse12do_one_blockEv+0x28b
V  [libjvm.so+0x797812];;  _ZN5Parse12visit_blocksEv+0xd2
V  [libjvm.so+0x7975a9];;  _ZN5Parse13do_all_blocksEv+0x39
V  [libjvm.so+0x796df5];;  _ZN5ParseC1EP8JVMStateP8ciMethodf+0x805
V  [libjvm.so+0x3092a8];;  _ZN14ParseGenerator8generateEP8JVMState+0xc8
V  [libjvm.so+0x3b0595];;  _ZN7CompileC1EP5ciEnvP10C2CompilerP8ciMethodib+0x655
V  [libjvm.so+0x3088d6];;  _ZN10C2Compiler14compile_methodEP5ciEnvP8ciMethodi+0x46
V  [libjvm.so+0x3bdd53];;  _ZN13CompileBroker25invoke_compiler_on_methodEP11CompileTask+0x4e3
V  [libjvm.so+0x3bd2cf];;  _ZN13CompileBroker20compiler_thread_loopEv+0x34f
V  [libjvm.so+0x89d82c];;  _ZN10JavaThread17thread_main_innerEv+0xcc
V  [libjvm.so+0x77e692];;  _Z10java_startP6Thread+0x122
C  [libpthread.so.0+0x51d5]


Current CompileTask:
opto:  1   b  java.lang.Thread.<init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V (49 bytes)


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

Java Threads: ( => current thread )
  0xd321a400 JavaThread "CompilerThread1" daemon [_thread_blocked, id=17866]
=>0xd3218c00 JavaThread "CompilerThread0" daemon [_thread_in_native, id=17865]
  0xd3215000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=17864]
  0xd3200800 JavaThread "Finalizer" daemon [_thread_blocked, id=17863]
  0x08118400 JavaThread "Reference Handler" daemon [_thread_blocked, id=17862]
  0x0806dc00 JavaThread "main" [_thread_blocked, id=17858]

Other Threads:
  0x08114000 VMThread [id=17861]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 PSYoungGen      total 3584K, used 224K [0xf3790000, 0xf3b90000, 0xf7000000)
  eden space 3072K, 7% used [0xf3790000,0xf37c8240,0xf3a90000)
  from space 512K, 0% used [0xf3b10000,0xf3b10000,0xf3b90000)
  to   space 512K, 0% used [0xf3a90000,0xf3a90000,0xf3b10000)
 PSOldGen        total 28864K, used 0K [0xd7400000, 0xd9030000, 0xf3790000)
  object space 28864K, 0% used [0xd7400000,0xd7400000,0xd9030000)
 PSPermGen       total 16384K, used 1476K [0xd3400000, 0xd4400000, 0xd7400000)
  object space 16384K, 9% used [0xd3400000,0xd3571138,0xd4400000)

Dynamic libraries:
00111000-00112000 r-xp 00111000 00:00 0
00112000-00113000 rwxp 00112000 00:00 0
00113000-0011c000 r-xp 00000000 08:03 2621490    /lib/libnss_files-2.3.3.so
0011c000-0011d000 r-xp 00008000 08:03 2621490    /lib/libnss_files-2.3.3.so
0011d000-0011e000 rwxp 00009000 08:03 2621490    /lib/libnss_files-2.3.3.so
0011e000-00126000 rwxp 0011e000 00:00 0
00126000-0013e000 rwxp 00126000 00:00 0
0013e000-0013f000 ---p 0013e000 00:00 0
0013f000-001bf000 rwxp 0013f000 00:00 0
001db000-001fe000 r-xp 00000000 00:10 1211562    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/libjava.so
001fe000-00200000 rwxp 00023000 00:10 1211562    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/libjava.so
00200000-00209000 rwxp 00200000 00:00 0
00209000-002c0000 rwxp 00209000 00:00 0
002c0000-002cf000 rwxp 002c0000 00:00 0
002cf000-003a2000 rwxp 002cf000 00:00 0
003a2000-003ca000 rwxp 003a2000 00:00 0
003ca000-003cd000 ---p 003ca000 00:00 0
003cd000-0041b000 rwxp 003cd000 00:00 0
00433000-00445000 r-xp 00000000 08:03 2624446    /lib/libnsl-2.3.3.so
00445000-00446000 r-xp 00011000 08:03 2624446    /lib/libnsl-2.3.3.so
00446000-00447000 rwxp 00012000 08:03 2624446    /lib/libnsl-2.3.3.so
00447000-00449000 rwxp 00447000 00:00 0
00495000-0049b000 r-xp 00000000 00:10 1211569    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/native_threads/libhpi.so
0049b000-0049c000 rwxp 00006000 00:10 1211569    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/native_threads/libhpi.so
0049c000-004a3000 r-xp 00000000 00:10 1211501    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/jli/libjli.so
004a3000-004a5000 rwxp 00006000 00:10 1211501    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/jli/libjli.so
004a5000-004a6000 ---p 004a5000 00:00 0
004a6000-00526000 rwxp 004a6000 00:00 0
00550000-0055b000 r-xp 00000000 00:10 1211548    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/libverify.so
0055b000-0055c000 rwxp 0000b000 00:10 1211548    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/libverify.so
0055d000-0055e000 rwxp 0055d000 00:00 0
00565000-00574000 r-xp 00000000 00:10 1211575    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/libzip.so
00574000-00576000 rwxp 0000e000 00:10 1211575    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/libzip.so
00581000-00589000 rwxs 00000000 08:03 2310304    /tmp/hsperfdata_gridadm/17855
0058e000-005be000 rwxp 0058e000 00:00 0
005e7000-005e8000 rwxp 005e7000 00:00 0
005e8000-005eb000 ---p 005e8000 00:00 0
005eb000-00639000 rwxp 005eb000 00:00 0
0069a000-006a2000 rwxp 0069a000 00:00 0
006a2000-006ba000 rwxp 006a2000 00:00 0
006ba000-006c9000 rwxp 006ba000 00:00 0
006c9000-0079b000 rwxp 006c9000 00:00 0
0079b000-0079e000 rwxp 0079b000 00:00 0
0079e000-007b8000 rwxp 0079e000 00:00 0
007b8000-007b9000 rwxp 007b8000 00:00 0
007f2000-007fa000 r-xp 00000000 08:03 2621554    /lib/tls/librt-2.3.3.so
007fa000-007fb000 r-xp 00007000 08:03 2621554    /lib/tls/librt-2.3.3.so
007fb000-007fc000 rwxp 00008000 08:03 2621554    /lib/tls/librt-2.3.3.so
007fc000-00806000 rwxp 007fc000 00:00 0
0080e000-0080f000 ---p 0080e000 00:00 0
0080f000-0088f000 rwxp 0080f000 00:00 0
0088f000-00892000 ---p 0088f000 00:00 0
00892000-00910000 rwxp 00892000 00:00 0
00910000-00913000 ---p 00910000 00:00 0
00913000-00991000 rwxp 00913000 00:00 0
0099c000-009b1000 r-xp 00000000 08:03 2624434    /lib/ld-2.3.3.so
009b1000-009b2000 r-xp 00014000 08:03 2624434    /lib/ld-2.3.3.so
009b2000-009b3000 rwxp 00015000 08:03 2624434    /lib/ld-2.3.3.so
009b9000-00ada000 r-xp 00000000 08:03 2624435    /lib/tls/libc-2.3.3.so
00ada000-00adc000 r-xp 00120000 08:03 2624435    /lib/tls/libc-2.3.3.so
00adc000-00ade000 rwxp 00122000 08:03 2624435    /lib/tls/libc-2.3.3.so
00ade000-00ae0000 rwxp 00ade000 00:00 0
00ae2000-00b03000 r-xp 00000000 08:03 2624436    /lib/tls/libm-2.3.3.so
00b03000-00b04000 r-xp 00020000 08:03 2624436    /lib/tls/libm-2.3.3.so
00b04000-00b05000 rwxp 00021000 08:03 2624436    /lib/tls/libm-2.3.3.so
00b07000-00b09000 r-xp 00000000 08:03 2624437    /lib/libdl-2.3.3.so
00b09000-00b0a000 r-xp 00001000 08:03 2624437    /lib/libdl-2.3.3.so
00b0a000-00b0b000 rwxp 00002000 08:03 2624437    /lib/libdl-2.3.3.so
00bf8000-00c06000 r-xp 00000000 08:03 2624438    /lib/tls/libpthread-2.3.3.so
00c06000-00c07000 r-xp 0000d000 08:03 2624438    /lib/tls/libpthread-2.3.3.so
00c07000-00c08000 rwxp 0000e000 08:03 2624438    /lib/tls/libpthread-2.3.3.so
00c08000-00c0a000 rwxp 00c08000 00:00 0
00c46000-00c49000 ---p 00c46000 00:00 0
00c49000-00c97000 rwxp 00c49000 00:00 0
00cd9000-00cdc000 ---p 00cd9000 00:00 0
00cdc000-00d2a000 rwxp 00cdc000 00:00 0
00d2a000-00ea1000 r-xs 02c44000 00:10 1212151    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/rt.jar
00f6a000-00f6b000 rwxp 00f6a000 00:00 0
00fec000-0122d000 rwxp 00fec000 00:00 0
0122d000-03fed000 rwxp 0122d000 00:00 0
06000000-06a27000 r-xp 00000000 00:10 1211574    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/server/libjvm.so
06a27000-06a6d000 rwxp 00a27000 00:10 1211574    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386/server/libjvm.so
06a6d000-06ed6000 rwxp 06a6d000 00:00 0
08048000-08052000 r-xp 00000000 00:10 1191359    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/bin/java
08052000-08053000 rwxp 00009000 00:10 1191359    /.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/bin/java
08053000-08123000 rwxp 08053000 00:00 0
d3200000-d3221000 rwxp d3200000 00:00 0
d3221000-d3300000 ---p d3221000 00:00 0
d3400000-d4400000 rwxp d3400000 00:00 0
d4400000-d7400000 rwxp d4400000 00:00 0
d7400000-d9030000 rwxp d7400000 00:00 0
d9030000-f3790000 rwxp d9030000 00:00 0
f3790000-f3b90000 rwxp f3790000 00:00 0
f3b90000-f7000000 rwxp f3b90000 00:00 0
feffb000-ff000000 rwxp feffb000 00:00 0
ffffe000-fffff000 ---p 00000000 00:00 0

VM Arguments:
jvm_args: -Xcomp -DHANGINGJAVA6728 -XX:-PrintVMOptions -XX:CompileThreshold=100
-Dsun.jvm.hotspot.runtime.VM.disableVersionCheck=1
java_command: nsk.jdi.Value._itself_.value001 -arch=linux-i586 -waittime=2 -debu
gee.vmkind=java -transport.address=dynamic -debugee.vmkeys=-server -Xcomp -DHANG
INGJAVA6728 -XX:-PrintVMOptions -XX:CompileThreshold=100
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=/export/gtee/Work/exec/nsk.quick_jdi-21-NIGHTLY-C2_Baseline-ServerVM-c
omp-linux-i386-2006-06-21-23-24-36/gridadm.Linux.i386/value001:/net/gtee.sfbay/e
xport/gtee/suites/testbase_SCA_6.0-build-v16r06.May_15_2006/vm/bin/classes:/net/
gtee.sfbay/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/lib/tools.ja
r
PATH=/net/gtee.sfbay/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/bi
n:/bin:/usr/bin:/net/gtee.sfbay/export/nightly/mustang/JDK/c2_baseline/jdk1.6/li
nux-i586/jre/bin:/mksnt
LD_LIBRARY_PATH=/.automount/gtee.sfbay/root/export/nightly/mustang/JDK/c2_baseli
ne/jdk1.6/linux-i586/jre/lib/i386/server:/.automount/gtee.sfbay/root/export/nigh
tly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/lib/i386:/.automount/gtee.sfba
y/root/export/nightly/mustang/JDK/c2_baseline/jdk1.6/linux-i586/jre/../lib/i386:
/net/gtee.sfbay/export/gtee/suites/testbase_SCA_6.0-build-v16r06.May_15_2006/vm/
src/nsk/share/lib/linux-i586:/net/gtee.sfbay/export/nightly/mustang/JDK/c2_basel
ine/jdk1.6/linux-i586/jre/lib/i386:/net/gtee.sfbay/export/nightly/mustang/JDK/c2
_baseline/jdk1.6/linux-i586/jre/lib/i386/server
SHELL=/bin/sh
DISPLAY=vmsqe.sfbay:0.0

Signal Handlers:
SIGSEGV: [libjvm.so+0x8f4990], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x8f4990], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x77c360], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x77c360], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x77c360], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x77ef50], sa_mask[0]=0x00000004, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x77e880], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: [libjvm.so+0x77e880], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x77e880], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x77e880], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR2: [libjvm.so+0x77ef50], sa_mask[0]=0x00000004, sa_flags=0x10000004


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

OS:Fedora Core release 3 (Heidelberg)

uname:Linux 2.6.9-1.667smp #1 SMP Tue Nov 2 14:59:52 EST 2004 i686
libc:glibc 2.3.3 NPTL 2.3.3
rlimit: STACK 8192k, CORE 50k, NPROC 32764, NOFILE 1024, AS infinity
load average:1.20 1.27 1.29

CPU:total 2 family 15, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 2072624k(183608k free), swap 522104k(465704k free)

vm_info: Java HotSpot(TM) Server VM (20060619095921.nips.unroll) for linux-x86,
built on Jun 19 2006 11:12:32 by "PRT" with gcc 3.2.1-7a (J2SE release)

[kvn@rupert /tmp]$
This assertion has been observed intermittently during nightly testing of
service_hs_baseline. Here are the relevant analysis report entries:

New JDI_REGRESSION failures (from 2006.10.30)
    com/sun/jdi/sde/TemperatureTableTest.java
        This test failed the following assertion:

            Internal Error (src/share/vm/opto/type.cpp, 1950)
            Error: assert(bits,"Use TypePtr for NULL")

        on Linux IA32 Server VM (machine colfax003).

New INSTRUMENT_REGRESSION failures (from 2006.11.04)
    java/lang/management/MemoryMXBean/MemoryTestAllGC.sh
        This test failed the following assertion:

            Internal Error (src/share/vm/opto/type.cpp, 1950)
            Error: assert(bits,"Use TypePtr for NULL")

        on Linux IA32 Server VM (machine colfax003).

New JDI_REGRESSION failures (from 2006.11.06)
    com/sun/jdi/RedefineCrossEvent.java
        This test failed the following assertion:

            Internal Error (src/share/vm/opto/type.cpp, 1950)
            Error: assert(bits,"Use TypePtr for NULL")

        on Linux IA32 Server VM (machine colfax003).
Another sighting in service_hs_baseline nightly testing:

New JDI_REGRESSION failures (from 2006.12.06)
    com/sun/jdi/TemplateTest.java
        This test failed the following assertion:

            Internal Error (src/share/vm/opto/type.cpp, 1950)
            Error: assert(bits,"Use TypePtr for NULL")

        on Linux IA32 Server VM (machine colfax003).

        There is an open bug for this assertion:

            6442502 4/4 assert(bits,"Use TypePtr for NULL") on linux-x86

        I will add this entry to that bug report.
Another sighting in service_hs_baseline nightly testing:

New nsk.quick_jdi failures (from 2007.01.12)
*   nsk/jdi/ObjectReference/invokeMethod/invokemethod010
        This test failed the following assertion:

            Internal Error (src/share/vm/opto/type.cpp, 1950)
            Error: assert(bits,"Use TypePtr for NULL")

        on Linux IA32 Server VM (machine rupert).

        There is an open bug for this assertion:

            6442502 4/4 assert(bits,"Use TypePtr for NULL") on linux-x86

        I will add this entry to that bug report.
Another sighting in service_hs_baseline nightly testing:

New JDI_REGRESSION failures (from 2008.08.25)
*   com/sun/jdi/sde/FilterMangleTest.java
        This test failed the following assertion on Linux IA32 Server
        VM (machine colfax003):

            Internal Error (src/share/vm/opto/type.cpp:2022)
            Error: assert(bits,"Use TypePtr for NULL")

        Update: There is an open bug for this assertion:

            6442502 4/4 assert(bits,"Use TypePtr for NULL") on linux-x86

        I will add this entry to that bug report.
Also in rt_baseline in test:

nsk/jdi/ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames002

hs_err pid file attached.

Comments
EVALUATION The fix has been verified as part of hs15-b02 pit.
24-02-2009

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1b9fc6e3171b
05-02-2009

EVALUATION This the C2 equivalent of 6717457 and 6644928 where ct->byte_map_base can in some rare cases by NULL. So it needs to use TypePtr::NULL_PTR in that case.
26-08-2008