JDK-6777083 : assert(target != __null,"must not be null")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs14,7
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,solaris_10,windows_2008
  • CPU: generic,x86,sparc
  • Submitted: 2008-11-26
  • Updated: 2013-11-18
  • Resolved: 2011-04-24
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 7 Other
7Fixed hs21Fixed
Related Reports
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Description
Failed Nightly test on linux x86:

nsk/monitoring/ThreadMXBean/ThreadInfo/LockingThreads/LockingThreads002

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt/P1/B/211534.never/source/src/share/vm/code/relocInfo.hpp:1089), pid=17489, tid=9210800
#  Error: assert(target != __null,"must not be null")
#
# Java VM: OpenJDK Client VM (14.0-b07-2008-11-25-211534.never.6756768-fastdebug compiled mode, sharing linux-x86 )
# 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 (0x080b1800):  JavaThread "CompilerThread0" daemon [_thread_in_native, id=17498, stack(0x00848000,0x008c9000)]

Stack: [0x00848000,0x008c9000],  sp=0x008c7600,  free space=509k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x7339c0];;  _ZN7VMError14report_and_dieEv+0x2e0
V  [libjvm.so+0x2c6255];;  _Z24report_assertion_failurePKciS0_+0x65
V  [libjvm.so+0xa6d01];;  .L37+0x21
V  [libjvm.so+0x1de72f];;  .L1274+0x1bc
V  [libjvm.so+0x1d0246];;  _ZN8Runtime117generate_blob_forENS_6StubIDE+0x166
V  [libjvm.so+0x1d054c];;  _ZN8Runtime110initializeEv+0x3c
V  [libjvm.so+0x904a3];;  _ZN16AbstractCompiler19initialize_runtimesEPFvvEPVi+0x173
V  [libjvm.so+0x105de0];;  _ZN8Compiler10initializeEv+0x30
V  [libjvm.so+0x105fd9];;  _ZN8Compiler14compile_methodEP5ciEnvP8ciMethodi+0x1e9
V  [libjvm.so+0x271acd];;  _ZN13CompileBroker25invoke_compiler_on_methodEP11CompileTask+0x59d
V  [libjvm.so+0x270da7];;  _ZN13CompileBroker20compiler_thread_loopEv+0x697
V  [libjvm.so+0x6ec3a8];;  _Z21compiler_thread_entryP10JavaThreadP6Thread+0x28
V  [libjvm.so+0x6e1863];;  _ZN10JavaThread17thread_main_innerEv+0xe3
V  [libjvm.so+0x6e16ef];;  _ZN10JavaThread3runEv+0x10f
V  [libjvm.so+0x5e36a2];;  _Z10java_startP6Thread+0x152
C  [libpthread.so.0+0x51d5]


Current CompileTask:
C1:  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 )
=>0x080b1800 JavaThread "CompilerThread0" daemon [_thread_in_native, id=17498, stack(0x00848000,0x008c9000)]
  0x080af800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=17497, stack(0x007f7000,0x00848000)]
  0x080a7400 JavaThread "Finalizer" daemon [_thread_blocked, id=17496, stack(0x00739000,0x0078a000)]
  0x080a2400 JavaThread "Reference Handler" daemon [_thread_blocked, id=17495, stack(0x005fb000,0x0064c000)]
  0x08063800 JavaThread "main" [_thread_blocked, id=17493, stack(0x00239000,0x0028a000)]

Other Threads:
  0x0809fc00 VMThread [stack: 0x006b8000,0x00739000] [id=17494]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 960K, used 163K [0x92400000, 0x92500000, 0x928e0000)
  eden space 896K,  18% used [0x92400000, 0x92428ff0, 0x924e0000)
  from space 64K,   0% used [0x924e0000, 0x924e0000, 0x924f0000)
  to   space 64K,   0% used [0x924f0000, 0x924f0000, 0x92500000)
 tenured generation   total 4096K, used 0K [0x928e0000, 0x92ce0000, 0x96400000)
   the space 4096K,   0% used [0x928e0000, 0x928e0000, 0x928e0200, 0x92ce0000)
 compacting perm gen  total 12288K, used 19K [0x96400000, 0x97000000, 0x9a400000)
   the space 12288K,   0% used [0x96400000, 0x96404fd0, 0x96405000, 0x97000000)
    ro space 8192K,  90% used [0x9a400000, 0x9ab36c68, 0x9ab36e00, 0x9ac00000)
    rw space 12288K,  60% used [0x9ac00000, 0x9b3376f8, 0x9b337800, 0x9b800000)

Dynamic libraries:
00111000-00232000 r-xp 00000000 03:03 7378325    /lib/tls/libc-2.3.3.so
00232000-00234000 r-xp 00120000 03:03 7378325    /lib/tls/libc-2.3.3.so
00234000-00236000 rwxp 00122000 03:03 7378325    /lib/tls/libc-2.3.3.so
00236000-00239000 rwxp 00236000 00:00 0 
00239000-0023c000 ---p 00239000 00:00 0 
0023c000-0028a000 rwxp 0023c000 00:00 0 
0028a000-00296000 r-xp 00000000 03:03 9390660    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/libverify.so
00296000-00297000 rwxp 0000b000 03:03 9390660    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/libverify.so
00297000-002b9000 r-xp 00000000 03:03 9390539    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/libjava.so
002b9000-002bb000 rwxp 00021000 03:03 9390539    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/libjava.so
002bb000-002bc000 r-xp 002bb000 00:00 0 
002bc000-002bd000 rwxp 002bc000 00:00 0 
002bd000-002c5000 rwxs 00000000 03:03 3637452    /tmp/hsperfdata_gtee/17489
002c5000-002d4000 r-xp 00000000 03:03 9390571    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/libzip.so
002d4000-002d6000 rwxp 0000f000 03:03 9390571    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/libzip.so
002d6000-002d9000 rwxp 002d6000 00:00 0 
002d9000-002f4000 rwxp 002d9000 00:00 0 
002f8000-00300000 r-xp 00000000 03:03 7372855    /lib/libnss_nis-2.3.3.so
00300000-00301000 r-xp 00007000 03:03 7372855    /lib/libnss_nis-2.3.3.so
00301000-00302000 rwxp 00008000 03:03 7372855    /lib/libnss_nis-2.3.3.so
00302000-00309000 rwxp 00302000 00:00 0 
00309000-00323000 rwxp 00309000 00:00 0 
00323000-0032f000 rwxp 00323000 00:00 0 
00370000-00371000 rwxp 00370000 00:00 0 
003c1000-003ca000 r-xp 00000000 03:03 7372850    /lib/libnss_files-2.3.3.so
003ca000-003cb000 r-xp 00008000 03:03 7372850    /lib/libnss_files-2.3.3.so
003cb000-003cc000 rwxp 00009000 03:03 7372850    /lib/libnss_files-2.3.3.so
003cc000-003d0000 rwxp 003cc000 00:00 0 
003d0000-0044c000 rwxp 003d0000 00:00 0 
00492000-00493000 rwxp 00492000 00:00 0 
00493000-00494000 rwxp 00493000 00:00 0 
00494000-00497000 rwxp 00494000 00:00 0 
00497000-004b2000 rwxp 00497000 00:00 0 
004b2000-004b8000 rwxp 004b2000 00:00 0 
004b8000-004d2000 rwxp 004b8000 00:00 0 
004d2000-004dd000 rwxp 004d2000 00:00 0 
004df000-004f1000 r-xp 00000000 03:03 7378336    /lib/libnsl-2.3.3.so
004f1000-004f2000 r-xp 00011000 03:03 7378336    /lib/libnsl-2.3.3.so
004f2000-004f3000 rwxp 00012000 03:03 7378336    /lib/libnsl-2.3.3.so
004f3000-004f5000 rwxp 004f3000 00:00 0 
0050e000-00516000 r-xp 00000000 03:03 7378340    /lib/tls/librt-2.3.3.so
00516000-00517000 r-xp 00007000 03:03 7378340    /lib/tls/librt-2.3.3.so
00517000-00518000 rwxp 00008000 03:03 7378340    /lib/tls/librt-2.3.3.so
00518000-00522000 rwxp 00518000 00:00 0 
00571000-0057a000 r-xp 00000000 03:03 9390664    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/native_threads/libhpi.so
0057a000-0057b000 rwxp 00009000 03:03 9390664    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/native_threads/libhpi.so
005c9000-005fb000 rwxp 005c9000 00:00 0 
005fb000-005fe000 ---p 005fb000 00:00 0 
005fe000-0064c000 rwxp 005fe000 00:00 0 
00663000-00664000 rwxp 00663000 00:00 0 
00688000-0069d000 r-xp 00000000 03:03 7378324    /lib/ld-2.3.3.so
0069d000-0069e000 r-xp 00014000 03:03 7378324    /lib/ld-2.3.3.so
0069e000-0069f000 rwxp 00015000 03:03 7378324    /lib/ld-2.3.3.so
006a5000-006b6000 r-xp 00000000 03:03 9405203    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/jli/libjli.so
006b6000-006b8000 rwxp 00011000 03:03 9405203    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/jli/libjli.so
006b8000-006b9000 ---p 006b8000 00:00 0 
006b9000-00739000 rwxp 006b9000 00:00 0 
00739000-0073c000 ---p 00739000 00:00 0 
0073c000-0078a000 rwxp 0073c000 00:00 0 
007ce000-007ef000 r-xp 00000000 03:03 7378326    /lib/tls/libm-2.3.3.so
007ef000-007f0000 r-xp 00020000 03:03 7378326    /lib/tls/libm-2.3.3.so
007f0000-007f1000 rwxp 00021000 03:03 7378326    /lib/tls/libm-2.3.3.so
007f3000-007f5000 r-xp 00000000 03:03 7378327    /lib/libdl-2.3.3.so
007f5000-007f6000 r-xp 00001000 03:03 7378327    /lib/libdl-2.3.3.so
007f6000-007f7000 rwxp 00002000 03:03 7378327    /lib/libdl-2.3.3.so
007f7000-007fa000 ---p 007f7000 00:00 0 
007fa000-00848000 rwxp 007fa000 00:00 0 
00848000-0084b000 ---p 00848000 00:00 0 
0084b000-008c9000 rwxp 0084b000 00:00 0 
008e4000-008f2000 r-xp 00000000 03:03 7378328    /lib/tls/libpthread-2.3.3.so
008f2000-008f3000 r-xp 0000d000 03:03 7378328    /lib/tls/libpthread-2.3.3.so
008f3000-008f4000 rwxp 0000e000 03:03 7378328    /lib/tls/libpthread-2.3.3.so
008f4000-008f6000 rwxp 008f4000 00:00 0 
008f6000-01195000 r-xp 00000000 03:03 9390506    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client/libjvm.so
01195000-011be000 rwxp 0089f000 03:03 9390506    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client/libjvm.so
011be000-0162f000 rwxp 011be000 00:00 0 
0319f000-03327000 r-xs 034f0000 03:03 9389987    /export/local/common/jdk/baseline/linux-i586/jre/lib/rt.jar
046c5000-047bd000 rwxp 046c5000 00:00 0 
047bd000-066c5000 rwxp 047bd000 00:00 0 
08048000-08049000 r-xp 00000000 03:03 9158721    /export/local/common/jdk/baseline/linux-i586/bin/java
08049000-0804a000 rwxp 00000000 03:03 9158721    /export/local/common/jdk/baseline/linux-i586/bin/java
0804a000-080cf000 rwxp 0804a000 00:00 0 
92400000-92500000 rwxp 92400000 00:00 0 
92500000-928e0000 rwxp 92500000 00:00 0 
928e0000-92ce0000 rwxp 928e0000 00:00 0 
92ce0000-96400000 rwxp 92ce0000 00:00 0 
96400000-97000000 rwxp 96400000 00:00 0 
97000000-9a400000 rwxp 97000000 00:00 0 
9a400000-9ab37000 r-xs 00001000 03:03 9390536    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client/classes_g.jsa
9ab37000-9ac00000 rwxp 9ab37000 00:00 0 
9ac00000-9b338000 rwxp 00738000 03:03 9390536    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client/classes_g.jsa
9b338000-9b800000 rwxp 9b338000 00:00 0 
9b800000-9b955000 rwxp 00e70000 03:03 9390536    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client/classes_g.jsa
9b955000-9bc00000 rwxp 9b955000 00:00 0 
9bc00000-9bc08000 r-xs 00fc5000 03:03 9390536    /export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client/classes_g.jsa
9bc08000-9c000000 rwxp 9bc08000 00:00 0 
b7e00000-b7e21000 rwxp b7e00000 00:00 0 
b7e21000-b7f00000 ---p b7e21000 00:00 0 
bfff9000-c0000000 rwxp bfff9000 00:00 0 
ffffe000-fffff000 ---p 00000000 00:00 0 

VM Arguments:
jvm_args: -Xcomp -XX:-PrintVMOptions -XX:CompileThreshold=100 
java_command: nsk.monitoring.ThreadMXBean.ThreadInfo.RunningThread.RunningThread001.RunningThread001 -scenarioType=lockingThreads -testMode=server
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=/export/local/10154.JDK7.NIGHTLY.VM+linux-i586_client_comp_nsk.quick-monitoring.testlist/results/ResultDir/LockingThreads002:/export/local/common/testbase/6/vm/vm/bin/classes:/export/local/common/jdk/baseline/linux-i586/lib/tools.jar
PATH=/export/local/common/jdk/baseline/linux-i586/bin:/bin:/usr/bin
LD_LIBRARY_PATH=/export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client:/export/local/common/jdk/baseline/linux-i586/jre/lib/i386:/export/local/common/jdk/baseline/linux-i586/jre/../lib/i386:/export/local/common/jdk/baseline/linux-i586/jre/lib/i386:/export/local/common/jdk/baseline/linux-i586/jre/lib/i386/client:/export/local/common/testbase/6/vm/vm/bin/lib/linux-i586/nsk/share/monitoring/thread
SHELL=/bin/bash
DISPLAY=gtee.sfbay:0

Signal Handlers:
SIGSEGV: [libjvm.so+0x7346b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGBUS: [libjvm.so+0x7346b0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGFPE: [libjvm.so+0x5dfec0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGPIPE: [libjvm.so+0x5dfec0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGXFSZ: [libjvm.so+0x5dfec0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGILL: [libjvm.so+0x5dfec0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000
SIGUSR2: [libjvm.so+0x5e3c50], sa_mask[0]=0x00000004, sa_flags=0x10000004
SIGHUP: [libjvm.so+0x5e38f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGINT: [libjvm.so+0x5e38f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGTERM: [libjvm.so+0x5e38f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004
SIGQUIT: [libjvm.so+0x5e38f0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004


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

OS:Red Hat Enterprise Linux AS release 4 (Nahant)

uname:Linux 2.6.9-1.648_ELsmp #1 SMP Tue Oct 26 12:55:36 EDT 2004 i686
libc:glibc 2.3.3 NPTL 2.3.3 
rlimit: STACK 10000k, CORE 0k, NPROC 16375, NOFILE 1024, AS infinity
load average:0.91 0.73 0.57

CPU:total 4 (1 cores per cpu, 2 threads per core) family 15 model 2 stepping 5, cmov, cx8, fxsr, mmx, sse, sse2, ht

Memory: 4k page, physical 1034188k(91776k free), swap 2096472k(1880600k free)

vm_info: OpenJDK Client VM (14.0-b07-2008-11-25-211534.never.6756768-fastdebug) for linux-x86 JRE (1.7.0), built on Nov 25 2008 15:20:32 by "jprtadm" with gcc 3.2.1-7a (J2SE release)

time: Wed Nov 26 07:40:34 2008
elapsed time: 0 seconds
Another sighting of this bug in nightly:

New INSTRUMENT_REGRESSION failures (from 2009.01.27)
*   java/lang/instrument/RedefineClassWithNativeMethod.sh
        This test failed the following assertion on Linux IA32 Client
        VM -Xmixed (machine colfax003):

            Internal Error (src/share/vm/code/relocInfo.hpp:1089)
            Error: assert(target != __null,"must not be null")

        This failure mode is covered by the following bug:

            6777083 4/4 assert(target != __null,"must not be null")

        I will copy this entry to 6777083.

Link to the run's analysis.html file:
http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-01-27/RT_Baseline/javase/linux-i586/client/mixed/linux-i586_client_mixed_INSTRUMENT_REGRESSION/analysis.html

Link to the failure hs_err file:
http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-01-27/RT_Baseline/javase/linux-i586/client/mixed/linux-i586_client_mixed_INSTRUMENT_REGRESSION/workDir/java/lang/instrument/RedefineClassWithNativeMethod/hs_err_pid19296.log
New INSTRUMENT_REGRESSION failures (from 2009.02.26)
*   java/lang/instrument/GetAllLoadedClassesTest.java
        This test failed the following assert:

            Internal Error (src/share/vm/code/relocInfo.hpp:1089)
            Error: assert(target != __null,"must not be null")

        on Linux IA32 Client VM -Xmixed (machine colfax003). This
        failure occurred during the MakeJAR.sh portion of test setup.
        However, the VM used for JAR creation was the same VM being
        tested so this is still a valid failure.

        This failure is an occurrence of the following bug:

            6777083 4/4 assert(target != __null,"must not be null")

        I will add this entry to 6777083.

Links to the analysis page and hs_err_pid file:

http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-02-26/RT_Baseline/javase/linux-i586/client/mixed/linux-i586_client_mixed_INSTRUMENT_REGRESSION/analysis.html
http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-02-26/RT_Baseline/javase/linux-i586/client/mixed/linux-i586_client_mixed_INSTRUMENT_REGRESSION/workDir/java/lang/instrument/GetAllLoadedClassesTest/hs_err_pid25992.log


New nsk.quick-jdi failures (from 2009.02.26)
*   nsk/jdi/VirtualMachine/canUnrestrictedlyRedefineClasses/curc001
        This test failed the following assert:

            Internal Error (src/share/vm/code/relocInfo.hpp:1089)
            Error: assert(target != __null,"must not be null")

        on Linux IA32 Client VM -Xmixed (machine colfax003).

        This failure is an occurrence of the following bug:

            6777083 4/4 assert(target != __null,"must not be null")

        I will add this entry to 6777083.

Links to the analysis page and hs_err_pid file:

http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-02-26/RT_Baseline/vm/linux-i586/client/mixed/linux-i586_client_mixed_nsk.quick-jdi.testlist/analysis.html
http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-02-26/RT_Baseline/vm/linux-i586/client/mixed/linux-i586_client_mixed_nsk.quick-jdi.testlist/ResultDir/curc001//hs_err_pid28279.log
New INSTRUMENT_REGRESSION failures (from 2009.03.11)
*   java/lang/instrument/NullRedefineClassesTests.java
        This test failed the following assert:

            Internal Error (src/share/vm/code/relocInfo.hpp:1089)
            Error: assert(target != __null,"must not be null")

        on Linux IA32 Server VM -Xcomp (machine colfax003). This
        failure occurred during the compilation portion of test setup
        so the VM that crashed is the Client VM.

        This failure is an occurrence of the following bug:

            6777083 4/4 assert(target != __null,"must not be null")

        I will add this entry to 6777083.


Here is a link to the analysis page and the hs_err_pid file:

http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-03-11/RT_Baseline/javase/linux-i586/server/comp/linux-i586_server_comp_INSTRUMENT_REGRESSION/analysis.html
http://sqeweb.sfbay/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2009-03-11/RT_Baseline/javase/linux-i586/server/comp/linux-i586_server_comp_INSTRUMENT_REGRESSION/workDir/java/lang/instrument/NullRedefineClassesTests/hs_err_pid21702.log

Comments
EVALUATION 6777083: assert(target != __null,"must not be null") Reviewed-by: iveresov, kvn ExternalAddress is often used to generate code for references to the byte_map_base of the card table. Depending on the address layout we get byte_map_base may be a real address looking value or sometimes it maybe a small number or even zero. This causes external_word_relocation to assert because the encoding it uses assumes that the adress isn't within the first page. This has been patched up at each use site in the past but keeps recurring as new code gets written. To fix this I've modified ExternalAddress to drop the reloc in the case where it's not encodable. It's almost impossible to force a layout where byte_map_base is a small number but injecting a small number into it indicates that the assembly code generation works correcty after the change.
05-04-2011

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/479b4b4b6950
05-04-2011

EVALUATION I suspect we should just disable the use of external word relocations with byte_map_base and simply treat it as an integer. This is what the compilers do in generated code so it's not clear why we should jump through hoops in other assembly to allow it for no benefit.
06-01-2011

EVALUATION This another instance of the problem where byte_map_base == NULL and the code generators aren't ready to deal with it. 6717457 was the last one we fixed of this. It seems like a more systematic fix is needed.
29-01-2009