United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-6579537 : CORBA:api/javaidl/StubTests & product/rmiiiop/marshalTests tests are failed with core dump

Details
Type:
Bug
Submit Date:
2007-07-11
Status:
Closed
Updated Date:
2011-03-08
Project Name:
JDK
Resolved Date:
2011-03-07
Component:
hotspot
OS:
windows_vista,windows_xp
Sub-Component:
compiler
CPU:
x86,generic
Priority:
P2
Resolution:
Fixed
Affected Versions:
6u3,6u5,6u10
Fixed Versions:
hs10 (b15)

Related Reports
Backport:
Backport:
Backport:
Duplicate:
Duplicate:
Relates:

Sub Tasks

Description
JDK:		1.6.0_03 b01
Location:	/net/koori/onestop/jdk/1.6.0_03/latest/binaries/windows-i586
Platform[s]:	Vista                
JVM flag:	-server
Failing Test:	api/javaidl/StubTests & product/rmiiiop/marshalTests

The same tests are passed with previous build 1.6.0_02-b05, but fails with 1.6.0_03-b01.
It's a regression.

TestBase Location: 
===================
/net/cady.sfbay/export/dtf/unified/knight-ws/suites/corba_test/CORBA_mustang

Test source location:
=======================
<TestBase Location>/tests/api/javaidl/StubTests
<TestBase Location>/tests/product/rmiiiop/marshalTests

How to reproduce:
====================
1. go to TestBase Location and type "sh"
2. Set the PATH as follow:
$ PATH="Y:\dtf\unified\knight-ws\suites\corba_test\CORBA_mustang/bin;$PATH"
$ export PATH
3. cd <Test source location>
4. rip-make -env mustang -jdk <jdk location> -hotspot "-server" -workdir <location> -v all
or 
$ rip-make -env -mustang -hotspot "-server" -workdir "C:/temp" -jdk "C:/jdk/b01/windows-i586/jdk1.6.0_03" -v all


Test output for <TestBase Location>/tests/api/javaidl/StubTests:
================================================================

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x01aee570, pid=2796, tid=3260
#
# Java VM: Java HotSpot(TM) Tiered VM (1.6.0_03-ea-b01 mixed mode windows-x86)
# Problematic frame:
# J  com.sun.corba.se.impl.encoding.CDRInputStream_1_0.getConvertedChars(ILcom/sun/corba/se/impl/encoding/CodeSetConversion$BTCConverter;)[C
#
# 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 (0x0ccae400):  JavaThread "p: default-threadpool; w: 1" daemon [_thread_in_Java, id=3260, stack(0x0d370000,0x0d3c0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x1cf03c8b

Registers:
EAX=0x00000050, EBX=0x04b58050, ECX=0x0ccbe000, EDX=0x04a94350
ESP=0x0d3bf620, EBP=0x00000004, ESI=0x0000007a, EDI=0x00000074
EIP=0x01aee570, EFLAGS=0x00010287

Top of Stack: (sp=0x0d3bf620)
0x0d3bf620:   08f7c6f3 0d3bf64c 0000007a 04a94350
0x0d3bf630:   04b58050 00000004 0d3bf64c 0000000e
0x0d3bf640:   04b57ab8 04b845d8 04a985e0 04b58008
0x0d3bf650:   04b58008 0d3bf654 08db48ec 0d3bf67c
0x0d3bf660:   08db93a0 00000000 0d3bf6a8 01a92e47
0x0d3bf670:   04b58008 0d3bf6a8 01a92e47 04b58008
0x0d3bf680:   0000000e 04b57ab8 0d3bf688 08dafdfe
0x0d3bf690:   0d3bf6b8 08db93a0 00000000 08dafe28 

Instructions: (pc=0x01aee570)
0x01aee560:   7c 02 8b fe 2b fd 83 e7 f8 03 fd 3b ef 7d 17 90
0x01aee570:   f3 0f 7e 04 0d 8b 5c 24 10 66 0f d6 44 2b 0c 83 


Stack: [0x0d370000,0x0d3c0000],  sp=0x0d3bf620,  free space=317k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
J  com.sun.corba.se.impl.encoding.CDRInputStream_1_0.getConvertedChars(ILcom/sun/corba/se/impl/encoding/CodeSetConversion$BTCConverter;)[C

[error occurred during error reporting (printing native stack), id 0xe0000000]


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

Java Threads: ( => current thread )
=>0x0ccae400 JavaThread "p: default-threadpool; w: 1" daemon [_thread_in_Java, id=3260, stack(0x0d370000,0x0d3c0000)]
  0x0cbdc800 JavaThread "p: default-threadpool; w: Idle" daemon [_thread_blocked, id=3640, stack(0x0cdd0000,0x0ce20000)]
  0x0cc14400 JavaThread "SelectorThread" daemon [_thread_in_native, id=680, stack(0x0cd80000,0x0cdd0000)]
  0x01380c00 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=1912, stack(0x0cae0000,0x0cb30000)]
  0x0137fc00 JavaThread "CompilerThread1" daemon [_thread_blocked, id=2920, stack(0x0ca90000,0x0cae0000)]
  0x01374000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=3480, stack(0x019f0000,0x01a40000)]
  0x01372c00 JavaThread "Attach Listener" daemon [_thread_blocked, id=2988, stack(0x019a0000,0x019f0000)]
  0x01371000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3284, stack(0x01950000,0x019a0000)]
  0x0135d800 JavaThread "Finalizer" daemon [_thread_blocked, id=2304, stack(0x01900000,0x01950000)]
  0x01355400 JavaThread "Reference Handler" daemon [_thread_blocked, id=1112, stack(0x018b0000,0x01900000)]
  0x012ca800 JavaThread "main" [_thread_blocked, id=3808, stack(0x00220000,0x00270000)]

Other Threads:
  0x01351c00 VMThread [stack: 0x00b60000,0x00bb0000] [id=3432]
  0x01381c00 WatcherThread [stack: 0x0cb30000,0x0cb80000] [id=3036]

VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
 def new generation   total 960K, used 887K [0x04a90000, 0x04b90000, 0x051a0000)
  eden space 896K,  91% used [0x04a90000, 0x04b5dc60, 0x04b70000)
  from space 64K, 100% used [0x04b80000, 0x04b90000, 0x04b90000)
  to   space 64K,   0% used [0x04b70000, 0x04b70000, 0x04b80000)
 tenured generation   total 4096K, used 348K [0x051a0000, 0x055a0000, 0x08a90000)
   the space 4096K,   8% used [0x051a0000, 0x051f71b8, 0x051f7200, 0x055a0000)
 compacting perm gen  total 16384K, used 5859K [0x08a90000, 0x09a90000, 0x0ca90000)
   the space 16384K,  35% used [0x08a90000, 0x09048e40, 0x09049000, 0x09a90000)
No shared spaces configured.

Dynamic libraries:
0x00400000 - 0x00423000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\bin\java.exe
0x77060000 - 0x7717e000 	C:\Windows\system32\ntdll.dll
0x76f80000 - 0x77058000 	C:\Windows\system32\kernel32.dll
0x75920000 - 0x759df000 	C:\Windows\system32\ADVAPI32.dll
0x76c50000 - 0x76d13000 	C:\Windows\system32\RPCRT4.dll
0x7c340000 - 0x7c396000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\msvcr71.dll
0x6dac0000 - 0x6de79000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\server\jvm.dll
0x77200000 - 0x7729e000 	C:\Windows\system32\USER32.dll
0x76eb0000 - 0x76efb000 	C:\Windows\system32\GDI32.dll
0x74520000 - 0x74553000 	C:\Windows\system32\WINMM.dll
0x75d60000 - 0x75e0a000 	C:\Windows\system32\msvcrt.dll
0x75fb0000 - 0x760f4000 	C:\Windows\system32\ole32.dll
0x75bb0000 - 0x75c3c000 	C:\Windows\system32\OLEAUT32.dll
0x744e0000 - 0x74518000 	C:\Windows\system32\OLEACC.dll
0x77180000 - 0x7719e000 	C:\Windows\system32\IMM32.DLL
0x75e10000 - 0x75ed7000 	C:\Windows\system32\MSCTF.dll
0x75720000 - 0x7574c000 	C:\Windows\system32\apphelp.dll
0x771a0000 - 0x771a9000 	C:\Windows\system32\LPK.DLL
0x76100000 - 0x7617d000 	C:\Windows\system32\USP10.dll
0x6d320000 - 0x6d328000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\hpi.dll
0x75880000 - 0x75887000 	C:\Windows\system32\PSAPI.DLL
0x6d820000 - 0x6d82c000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\verify.dll
0x6d3c0000 - 0x6d3df000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\java.dll
0x6d860000 - 0x6d86f000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\zip.dll
0x6d620000 - 0x6d633000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\net.dll
0x75c40000 - 0x75c6d000 	C:\Windows\system32\WS2_32.dll
0x771b0000 - 0x771b6000 	C:\Windows\system32\NSI.dll
0x74f80000 - 0x74fbb000 	C:\Windows\system32\mswsock.dll
0x74fe0000 - 0x74fe6000 	C:\Windows\System32\wship6.dll
0x74300000 - 0x7430f000 	C:\Windows\system32\NLAapi.dll
0x751b0000 - 0x751c9000 	C:\Windows\system32\IPHLPAPI.DLL
0x75170000 - 0x751a5000 	C:\Windows\system32\dhcpcsvc.DLL
0x753e0000 - 0x7540b000 	C:\Windows\system32\DNSAPI.dll
0x757b0000 - 0x757c4000 	C:\Windows\system32\Secur32.dll
0x75100000 - 0x75107000 	C:\Windows\system32\WINNSI.DLL
0x750e0000 - 0x75100000 	C:\Windows\system32\dhcpcsvc6.DLL
0x73190000 - 0x73198000 	C:\Windows\System32\winrnr.dll
0x75a30000 - 0x75a79000 	C:\Windows\system32\WLDAP32.dll
0x731a0000 - 0x731af000 	C:\Windows\system32\napinsp.dll
0x730b0000 - 0x730c2000 	C:\Windows\system32\pnrpnsp.dll
0x74c50000 - 0x74c56000 	C:\Windows\System32\wshtcpip.dll
0x72b60000 - 0x72b66000 	C:\Windows\system32\rasadhlp.dll
0x6d640000 - 0x6d649000 	Y:\jdk\1.6.0_03\latest\binaries\windows-i586\jre\bin\nio.dll
0x74d10000 - 0x74d48000 	C:\Windows\system32\rsaenh.dll
0x757d0000 - 0x757ee000 	C:\Windows\system32\USERENV.dll

VM Arguments:
jvm_args: -Dcof.report=Y:/dtf/unified/results/export5/mustang_u3/b01/corba/corba_test-corba-winVista_c2-2007-07-05-16-03-17-0598/logs/api/javaidl/StubTest.xml -Dorg.omg.CORBA.ORBInitialPort=4050 -Dorg.omg.CORBA.ORBInitialHost=localhost -Dorg.omg.CORBA.ORBClass=com.sun.corba.se.impl.orb.ORBImpl -Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.se.impl.orb.ORBSingleton 
java_command: api.javaidl.StubTest.StubTestServer
Launcher Type: SUN_STANDARD

Environment Variables:
JAVA_HOME=Y:/jdk/1.6.0_03/latest/binaries/windows-i586
CLASSPATH=Y:/dtf/unified/knight-ws/suites/corba_test/CORBA_mustang/lib/utils.jar;C:/temp/workdir/mustang;Y:/jdk/1.6.0_03/latest/binaries/windows-i586/lib/tools.jar;Y:/dtf/unified/knight-ws/suites/corba_test/CORBA_mustang/lib/junit.jar
PATH=Y:\jdk\1.6.0_03\latest\binaries\windows-i586\bin;y:\dtf\unified\knight-ws\suites\corba_test\CORBA_mustang\bin;C:\PROGRA~1\MKSTOO~1\bin;C:\PROGRA~1\MKSTOO~1\bin\X11;C:\PROGRA~1\MKSTOO~1\mksnt;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
USERNAME=admin
LD_LIBRARY_PATH=Y:/jdk/1.6.0_03/latest/binaries/windows-i586/jre/lib/sparc;
SHELL=C:/PROGRA~1/MKSTOO~1/mksnt/sh.exe
DISPLAY=vmsqe:0.0
OS=win32
PROCESSOR_IDENTIFIER=x86 Family 15 Model 5 Stepping 1, AuthenticAMD



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

OS: Windows Vista Build 6000 

CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 5 stepping 1, cmov, cx8, fxsr, mmx, sse, sse2, mmxext, 3dnow, 3dnowext

Memory: 4k page, physical 522432k(185204k free), swap 1544128k(1049724k free)

vm_info: Java HotSpot(TM) Tiered VM (1.6.0_03-ea-b01) for windows-x86, built on Jul  3 2007 01:40:41 by "java_re" with unknown MS VC++:1310

time: Wed Jul 11 12:14:50 2007
elapsed time: 35 seconds
=========================================================================================


Test output for <TestBase Location>/tests/product/rmiiiop/marshalTests:
=======================================================================

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0199a4c0, pid=1372, tid=2412
#
# Java VM: Java HotSpot(TM) Tiered VM (1.6.0_03-ea-b01 mixed mode windows-x86)
# Problematic frame:
# J  com.sun.corba.se.impl.encoding.CDRInputStream_1_0.getConvertedChars(ILcom/sun/corba/se/impl/encoding/CodeSetConversion$BTCConverter;)[C
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

hs_err_pid1372.log is attached for more details.

Machine information:
====================
nick.sfbay or apteron002.sfbay (use vnc with password dtf_test to access)

The test is passed if JVM (-client) is used.

                                    

Comments
SUGGESTED FIX

Archived data:          /net/prt-archiver.sfbay/data/archived_workspaces/2007/20070718155643.nips.bug6579537/
Webrev:                 http://prt-web.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/2007/20070718155643.nips.bug6579537/workspace/webrevs/webrev-2007.07.18/index.html
                                     
2007-07-19
SUGGESTED FIX

*** /tmp/geta28747      Thu Jul 12 16:46:53 2007
--- assembler_i486.cpp  Thu Jul 12 16:46:52 2007
***************
*** 182,191 ****
      if (index->is_valid()) {
        assert(scale != Address::no_scale, "inconsistent address");
        // [base + index*scale + disp]
!       if (disp == 0 && rtype == relocInfo::none) {
          // [base + index*scale]
          // [00 reg 100][ss index base]
!         assert(index != esp && base != ebp, "illegal addressing mode");
          emit_byte(0x04 | reg->encoding() << 3);
          emit_byte(scale << 6 | index->encoding() << 3 | base->encoding());
        } else if (is8bit(disp) && rtype == relocInfo::none) {
--- 182,191 ----
      if (index->is_valid()) {
        assert(scale != Address::no_scale, "inconsistent address");
        // [base + index*scale + disp]
!       if (disp == 0 && rtype == relocInfo::none && base != ebp) {
          // [base + index*scale]
          // [00 reg 100][ss index base]
!         assert(index != esp, "illegal addressing mode");
          emit_byte(0x04 | reg->encoding() << 3);
          emit_byte(scale << 6 | index->encoding() << 3 | base->encoding());
        } else if (is8bit(disp) && rtype == relocInfo::none) {
                                     
2007-07-12
EVALUATION

Running fastdebug bits gives you this:

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/cpu/i486/vm/assembler_i486.cpp:188), pid=7781, tid=16
#  Error: assert(index != esp && base != ebp,"illegal addressing mode")
#
# Java VM: Java HotSpot(TM) Tiered VM (1.7.0-ea-fastdebug-b14-fastdebug mixed mode solaris-x86)
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

I think emit_operand is missing the case where base == ebp.  encode_RegMem in i486.ad handles this so I think we just need to do the same thing.  Here's a shell script to reproduce the crash.

tb=/net/cady.sfbay/export/dtf/unified/knight-ws/suites/corba_test/CORBA_mustang
jdk=$1
shift
t1=tests/api/javaidl/StubTest
t2=tests/product/rmiiiop/marshalTest

PATH="$tb/bin:$PATH"
export PATH
cd $tb/$t1
rip-make -env mustang -jdk $jdk -hotspot "-server" -workdir /tmp/foo -v all
                                     
2007-07-12



Hardware and Software, Engineered to Work Together