JDK-5041651 : server compiler crash in b49; assertion in output.cpp:918
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_2000
  • CPU: x86
  • Submitted: 2004-05-04
  • Updated: 2004-07-13
  • Resolved: 2004-07-13
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.0 b58Fixed
Related Reports
Relates :  
Relates :  
Description
This vm crash was seen when upgrading from Tiger b46 to b49.

System configuration:

  OS: Windows 2000
  ADMINJAVAOPTS: -ms160m -mx200m  -XX:MaxNewSize=65m -XX:NewSize=65m 
  JAVAOPTS: -server

 

The log file containing all the information is here

------------------------------

 Internal JVM error

------------------------------

 

  [coconut] #

  [coconut] # An unexpected error has been detected by HotSpot Virtual Machine:

  [coconut] #

  [coconut] #  Internal Error (4E4D4554484F440E435050051B), pid=1564, tid=1716

  [coconut] #

  [coconut] # Java VM: Java HotSpot(TM) Server VM (1.5.0-beta2-b49 mixed mode)

  [coconut] # An error report file with more information is saved as hs_err_pid1564.log

  [coconut] #

  [coconut] # If you would like to submit a bug report, please visit:

  [coconut] #   http://java.sun.com/webapps/bugreport/crash.jsp

  [coconut] #

 

 

 

 

hs_err_pid.log

 

#

# An unexpected error has been detected by HotSpot Virtual Machine:

#

#  Internal Error (4E4D4554484F440E435050051B), pid=5936, tid=6676

#

# Java VM: Java HotSpot(TM) Server VM (1.5.0-beta2-b49 mixed mode)

 

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

 

Current thread (0x0023e078):  JavaThread "main" [_thread_in_Java, id=6676]

 

Stack: [0x00030000,0x00070000)

[error occurred during error reporting, step 110, id 0xe0000000]

 

 

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

 

Java Threads: ( => current thread )

  0x28aabc00 JavaThread "GC Daemon" daemon [_thread_blocked, id=4500]

  0x28714aa8 JavaThread "RMI Reaper" [_thread_blocked, id=1912]

  0x284e0298 JavaThread "Timer-0" daemon [_thread_blocked, id=2700]

  0x286d7d98 JavaThread "RMI TCP Accept-0" daemon [_thread_in_native, id=6020]

  0x27002e58 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=6132]

  0x27001a18 JavaThread "CompilerThread1" daemon [_thread_in_native, id=6716]

  0x27000ab8 JavaThread "CompilerThread0" daemon [_thread_blocked, id=7428]

  0x00b2f5c0 JavaThread "AdapterThread" daemon [_thread_blocked, id=6704]

  0x00b2e998 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=6508]

  0x00b2a348 JavaThread "Finalizer" daemon [_thread_blocked, id=2756]

  0x26ff95c0 JavaThread "Reference Handler" daemon [_thread_blocked, id=4940]

=>0x0023e078 JavaThread "main" [_thread_in_Java, id=6676]

 

Other Threads:

  0x26ff8790 VMThread [id=5180]

  0x270042f8 WatcherThread [id=2812]

 

VM state:not at safepoint (normal execution)

 

VM Mutex/Monitor currently owned by a thread: None

 

Heap

 PSYoungGen      total 26368K, used 10674K [0x232d0000, 0x250f0000, 0x26bb0000)

  eden space 23808K, 44% used [0x232d0000,0x23d3c918,0x24a10000)

  from space 2560K, 0% used [0x24a10000,0x24a10000,0x24c90000)

  to   space 3200K, 0% used [0x24dd0000,0x24dd0000,0x250f0000)

 PSOldGen        total 29184K, used 4771K [0x06bb0000, 0x08830000, 0x232d0000)

  object space 29184K, 16% used [0x06bb0000,0x07058d48,0x08830000)

 PSPermGen       total 16896K, used 8819K [0x02bb0000, 0x03c30000, 0x06bb0000)

  object space 16896K, 52% used [0x02bb0000,0x0344cc50,0x03c30000)

 

Dynamic libraries:

0x00400000 - 0x0040c000        D:\weblogic\dev\src\build\jdk1.5.0\jre\bin\java.exe

0x77f80000 - 0x77ffb000        C:\WINNT\system32\ntdll.dll

0x7c2d0000 - 0x7c332000        C:\WINNT\system32\ADVAPI32.dll

0x7c570000 - 0x7c623000        C:\WINNT\system32\KERNEL32.DLL

0x77d30000 - 0x77d9e000        C:\WINNT\system32\RPCRT4.DLL

0x78000000 - 0x78045000        C:\WINNT\system32\MSVCRT.dll

0x6d800000 - 0x6db62000        D:\weblogic\dev\src\build\jdk1.5.0\jre\bin\server\jvm.dll

0x77e10000 - 0x77e6f000        C:\WINNT\system32\USER32.dll

0x77f40000 - 0x77f79000        C:\WINNT\system32\GDI32.dll

0x77570000 - 0x775a0000        C:\WINNT\system32\WINMM.dll

0x6d2c0000 - 0x6d2c8000        D:\weblogic\dev\src\build\jdk1.5.0\jre\bin\hpi.dll

0x690a0000 - 0x690ab000        C:\WINNT\system32\PSAPI.DLL

0x6d640000 - 0x6d64c000        D:\weblogic\dev\src\build\jdk1.5.0\jre\bin\verify.dll

0x6d330000 - 0x6d34d000        D:\weblogic\dev\src\build\jdk1.5.0\jre\bin\java.dll

0x6d660000 - 0x6d66f000        D:\weblogic\dev\src\build\jdk1.5.0\jre\bin\zip.dll

0x7ca00000 - 0x7ca23000        C:\WINNT\system32\rsaenh.dll

0x77a50000 - 0x77b3c000        C:\WINNT\system32\ole32.dll

0x7c0f0000 - 0x7c151000        C:\WINNT\system32\USERENV.dll

0x77440000 - 0x774b8000        C:\WINNT\system32\CRYPT32.dll

0x77430000 - 0x77440000        C:\WINNT\system32\MSASN1.DLL

0x75170000 - 0x751bf000        C:\WINNT\system32\netapi32.dll

0x7c340000 - 0x7c34f000        C:\WINNT\system32\SECUR32.DLL

0x751c0000 - 0x751c6000        C:\WINNT\system32\NETRAP.DLL

0x75150000 - 0x7515f000        C:\WINNT\system32\SAMLIB.DLL

0x75030000 - 0x75044000        C:\WINNT\system32\WS2_32.DLL

0x75020000 - 0x75028000        C:\WINNT\system32\WS2HELP.DLL

0x77950000 - 0x7797a000        C:\WINNT\system32\WLDAP32.DLL

0x77980000 - 0x779a4000        C:\WINNT\system32\DNSAPI.DLL

0x75050000 - 0x75058000        C:\WINNT\system32\WSOCK32.DLL

0x6d4f0000 - 0x6d503000        D:\weblogic\dev\src\build\jdk1.5.0\jre\bin\net.dll

0x782c0000 - 0x782cc000        C:\WINNT\System32\rnr20.dll

0x77340000 - 0x77353000        C:\WINNT\system32\iphlpapi.dll

0x77520000 - 0x77525000        C:\WINNT\system32\ICMP.DLL

0x77320000 - 0x77337000        C:\WINNT\system32\MPRAPI.DLL

0x779b0000 - 0x77a4b000        C:\WINNT\system32\OLEAUT32.DLL

0x773b0000 - 0x773df000        C:\WINNT\system32\ACTIVEDS.DLL

0x77380000 - 0x773a3000        C:\WINNT\system32\ADSLDPC.DLL

0x77830000 - 0x7783e000        C:\WINNT\system32\RTUTILS.DLL

0x77880000 - 0x7790e000        C:\WINNT\system32\SETUPAPI.DLL

0x774e0000 - 0x77513000        C:\WINNT\system32\RASAPI32.DLL

0x774c0000 - 0x774d1000        C:\WINNT\system32\RASMAN.DLL

0x77530000 - 0x77552000        C:\WINNT\system32\TAPI32.DLL

0x71710000 - 0x71794000        C:\WINNT\system32\COMCTL32.DLL

0x70a70000 - 0x70ad5000        C:\WINNT\system32\SHLWAPI.DLL

0x77360000 - 0x77379000        C:\WINNT\system32\DHCPCSVC.DLL

0x777e0000 - 0x777e8000        C:\WINNT\System32\winrnr.dll

0x777f0000 - 0x777f5000        C:\WINNT\system32\rasadhlp.dll

0x74fd0000 - 0x74fee000        C:\WINNT\system32\msafd.dll

0x75010000 - 0x75017000        C:\WINNT\System32\wshtcpip.dll

 

VM Arguments:

jvm_args: -verbose:gc -Dweblogic.NativeIOEnabled=true -Djava.security.manager -Djava.security.policy==D:/weblogic/dev/src/wls/tools/weblogic/qa/tests/java.policy -Dweblogic.security.SSL.trustedCAKeyStore=D:/weblogic/localinstall/bea_home/weblogic/server/lib/cacerts -Dweblogic.security.SSL.ignoreHostnameVerification=false -Dweblogic.security.SSL.hostnameVerifier=weblogic.qa.tests.framework.HostnameVerifier_NoQualification -Dweblogic.system.iiop.enableClient=true -Dorg.omg.CORBA.ORBClass=weblogic.corba.orb.ORB

java_command: org.apache.tools.ant.Main run -f D:/weblogic/dev/src/wls/coconut\coconut-root.xml -propertyfile .\coconut.props.temp

 

Environment Variables:

JAVA_HOME=D:/weblogic/dev/src/build/jdk1.5.0

CLASSPATH=D:/weblogic/localinstall/bea_home/weblogic/server/lib/weblogic.jar;D:/weblogic/localinstall/bea_home/weblogic;D:/weblogic/localinstall/bea_home/weblogic/server/lib/webservices.jar;D:/weblogic/dev/src/build/jdk1.5.0/lib/tools.jar;D:/weblogic/localinstall/bea_home/weblogic/server/lib/ojdbc14.jar;D:/weblogic/dev/src/wls/3rdparty/pointbase/lib/pbclient44.jar;D:/weblogic/dev/src/wls/3rdparty/pointbase/lib/pbserver44.jar;D:/weblogic/src_150serverjavac/bea/weblogic90/clientclasses;D:/weblogic/src_150serverjavac/bea/weblogic90/tools;D:/weblogic/dev/src/wls/3rdparty/velocity-1_3_1/velocity-dep-1.3.1.jar;D:/weblogic/dev/src/wls/3rdparty/xbean/xbean.jar;D:/weblogic/dev/src/wls/weblogicx/ant/tasks.jar;D:/weblogic/dev/src/wls/env/bin/ant-ext/cgext.jar;D:/weblogic/dev/src/wls/3rdparty/ant/lib/ant.jar;D:/weblogic/dev/src/wls/coconut/coconutx30.jar;D:/weblogic/dev/src/wls/coconut/coconutx.jar;D:/weblogic/dev/src/wls/coconut/wl-coconutx.jar;D:/weblogic/dev/src/wls/tools/lib/bsh.jar;D:/weblogic/dev/src/wls/3rdparty/ant/lib/junit.jar;D:/weblogic/dev/src/wls/tools/weblogic/qa/tests/xml/security/encryption/bcprov-jdk14-115.jar

PATH=.;D:/weblogic/dev/src/wls/env/bin;C:/MKSNT/mksnt;c:/Perl/bin;D:/weblogic/src_150serverjavac/bea/weblogic90/javelin/bin;D:/weblogic/dev/src/external/p4tools;D:/weblogic/dev/src/build/jdk1.5.0/bin;D:/weblogic/localinstall/bea_home/weblogic/server/native/win/32;D:/weblogic/localinstall/bea_home/weblogic/server/bin;D:/weblogic/localinstall/bea_home/weblogic/server/native/win/32/oci920_8;c:/ORANT920/bin;C:/WINNT/system32;C:/WINNT;/dll;/bin;;c:/Program Files/Perforce;D:/weblogic/dev/src/wls/coconut;D:/weblogic/dev/src/wls/tools/lib/gjtk/bin

USERNAME=bt

SHELL=C:/MKSNT/mksnt/sh.EXE

DISPLAY=:0.0

OS=Windows_NT

PROCESSOR_IDENTIFIER=x86 Family 6 Model 11 Stepping 4, GenuineIntel

 

 

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

 

OS: Windows 2000 Build 2195 Service Pack 4

 

CPU:total 2 family 6, cmov, cx8, fxsr, mmx, sse

 

Memory: 4k page, physical 2096624k(1632700k free), swap 4033196k(3638832k free)

 

vm_info: Java HotSpot(TM) Server VM (1.5.0-beta2-b49) for windows-x86, built on Apr 28 2004 01:45:10 by "java_re" with MS VC++ 6.0
 

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-rc FIXED IN: tiger-rc INTEGRATED IN: tiger-b58 tiger-rc
17-07-2004

SUGGESTED FIX Webrev can be found at: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/export2/archived_workspaces/main/c2_baseline/2004/20040621081438.rasbold.c2_baseline/workspace/webrevs/webrev-2004.06.21/index.html ###@###.### 2004-06-21
21-06-2004

EVALUATION Using builds from c2_baseline, Marvin Ma reports that the failure began with this putback: 20040420165800.never.intrinsic. The debug build indicates an assertion failure at output.cpp:918. The error log is attached. ###@###.### 2004-05-26 We have not been able to reproduce BEA's failure in-house However, by adding a C2 stress mode to suppress removal of unneeded safepoint polls from inside loops, we can reproduce the assertion failure on Solaris x86 with a CTW run on djava.jar from the CTW jar suite. Using this CTW a test case, we have located to source of the problem. The fix for bug 5010568 added code to insert a "spacing" nop between a safepoint call site and a safepoint poll site that follows immediately. For x86 and AMD, the insertion of this nop and other nop padding occurs in the Shorten_branches() function in output.cpp. (The calling function, Fill_buffer(), inserts such padding for other platforms. If Shorten_branches() is called, Fill_buffer() contains assertions to flag any duplication of effort.) The problem with the 5010568 fix is that the nop insertion occurs in the first (sizing) sub-pass of Shorten_branches(). This sub-pass makes maximum size assumptions, which isn't conservative when choosing to whether to insert the spacing nop between a call and the subsequent poll. In the failing case, the poll is at the top of a loop, and the call immediately precedes the loop. Our conservative (maximum) sizing pass assumes the insertion of a non-zero number of nops for loop alignment, so with the current implementation, we do not insert an extra nop for safepoint spacing. However, the loop is already aligned in the failing case, and no padding is inserted in any sub-pass of Shorten_branches() at all. Subsquently, Fill_buffer() attempts to insert the spacing nop. In a debug VM, an assertion occurs. In a product VM, code is generated, but sizing and branches are thrown off, and hijinks ensue. The proposed fix is to move the nop insertion from the first sub-pass to the third of Shorten_branches(), where other padding is currently inserted. The first sub-pass will be tweaked to account for the spacing nop in the size calculations. ###@###.### 2004-06-14
14-06-2004