JDK-4684993 : jdk1.4.1 b11 crashes iAS7/TPC-W
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: solaris_9u2,1.4.0,1.4.0_03,1.4.1
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic,solaris_8,solaris_9
  • CPU: sparc
  • Submitted: 2002-05-14
  • Updated: 2013-11-01
  • Resolved: 2002-05-23
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 Other
1.4.0_03 03Fixed 1.4.1Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
Running jdk1.4.1 new builds (b08, b09, b10, b11) on iAS7 and TPC-W benchmark
crashes iAS7 (iPlanet Application Server 7.0). 

the dbx log is attached below(same stack for b08-b11).  If you need to run the
tests, contact  ###@###.###

the problem doesn't appear when c1 (-client) is used wiht any of the jdk1.4.1
builds.

There is no problem with jdk1.4.1 b01 or b02. But the iPlanet server won't start
with jdk1.4.1 b03--b07.  b03-b07 all give the following error:
------------------
[14/May/2002:13:55:01] WARNING ( 1972): Error occurred during initialization of 
VM
[14/May/2002:13:55:01] WARNING ( 1972): Signal chaining not allowed for VM inter
rupt signal, try -Xusealtsigs.
--------------------

even I pass -Xusealtsigs to jvm, I still get the same error above.




%dbx /usr/ias/ias70/bin/appservd config/core
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.0' in your .dbxrc
Reading appservd
dbx: internal warning: writable memory segment 0xfdf00000[532480] of size 0 in core
dbx: internal warning: writable memory segment 0xfdf90000[16384] of size 0 in core
core file header read successfully
Reading ld.so.1
Reading libmtmalloc_paulNew.so
Reading liblibdbm.so
Reading libns-httpd40.so
Reading liblibsi18n.so
Reading libgetprop.so
Reading libnsprwrap.so
Reading libldap50.so
Reading libldappr50.so
Reading libxerces-c.so
Reading libnsres31.so
Reading libnsuni31.so
Reading libnscnv31.so
Reading libnscol31.so
Reading libnsbrk31.so
Reading libnsfmt31.so
Reading libplc4.so
Reading libplds4.so
Reading libnspr4.so
Reading libpthread.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libdl.so.1
Reading librt.so.1
Reading libkstat.so.1
Reading libCrun.so.1
Reading libC.so.5
Reading libm.so.1
Reading libw.so.1
Reading libthread.so.1
Reading libc.so.1
Reading libssl3.so
Reading libsmime3.so
Reading libnss3.so
Reading libnsfc.so
Reading libnstp.so
Reading libdirmon4.so
Reading libnstime.so
Reading libsupport.so
Reading libares3.so
Reading libssldap50.so
Reading libresolv.so.2
Reading libmp.so.2
Reading libaio.so.1
Reading libc_psr.so.1
Reading libatomic.so
Reading libj2eeplugin.so
Reading libConfigFile.so
Reading libjvm.so
Reading libfreebl_hybrid_3.so
Reading libhpi.so
Reading libverify.so
Reading libjava.so
Reading libzip.so
Reading libnet.so
Reading libcis.so
Reading libioser12.so
Reading libsdkJava30.so
Reading libucb.so.1
Reading libelf.so.1
Reading libocijdbc8.so
Reading libclntsh.so.8.0
Reading libwtc8.so
Reading libsched.so.1
Reading libgen.so.1
Reading straddr.so
detected a multithreaded program
t@52 (l@52) terminated by signal SEGV (Segmentation Fault)
0xfe193aa4: get_start_state+0x0144:     ld      [%o0 + 0x10], %o1
(dbx) where
current thread: t@52
=>[1] ciTypeFlow::get_start_state(0x268f6a4, 0x4f31ab4, 0x0, 0x0, 0x0, 0x0), at 0xfe19
3aa4
  [2] ciTypeFlow::flow_types(0x268f6a4, 0xfe5da538, 0x0, 0x1cc, 0x730, 0x268e248), at 
0xfe192b50
  [3] ciTypeFlow::do_flow(0x268f6a4, 0xb4f7fd38, 0x268c8e0, 0xcc, 0xfe582000, 0x268cf4
0), at 0xfe19387c
  [4] ciMethod::get_osr_flow_analysis(0x268c8e0, 0xcc, 0x27d68a0, 0x259cb64, 0xfe58200
0, 0x259c910), at 0xfe22a8f0
  [5] Parse::Parse(0xb4f7f0d4, 0x20e7860, 0x268c8e0, 0x47e1ed00, 0xfe582000, 0x20e78a9
), at 0xfe174d44
  [6] ParseGenerator::generate(0x4f31a8c, 0x20e7860, 0x84, 0x259cb64, 0xb4f7f454, 0x0)
, at 0xfe175338
  [7] Compile::Compile(0x4f31a8c, 0x27d5348, 0x0, 0x268c8e0, 0xcc, 0x1), at 0xfe33c138
  [8] C2Compiler::compile_method(0x1dd5680, 0xb4f7fd38, 0x0, 0x268c8e0, 0xcc, 0x0), at
 0xfe30e94c
  [9] CompileBroker::invoke_compiler_on_method(0x4, 0x1, 0xcc, 0x1e0ac38, 0xfe5c1294, 
0x1e0aba8), at 0xfe1ee180
  [10] CompileBroker::compiler_thread_loop(0x1e0aba8, 0x1e0aba8, 0xf6dfc8, 0x1e323f0, 
0x342060, 0xfe2405f0), at 0xfe2860e0
  [11] JavaThread::run(0x1e0aba8, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfe240618
  [12] _start(0x1e0aba8, 0xfe5f2400, 0x0, 0x0, 0x0, 0x0), at 0xfe23a71c
(dbx) 

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: 1.4.0_03 hopper-beta FIXED IN: 1.4.0_03 hopper-beta INTEGRATED IN: 1.4.0_03 hopper-beta
14-06-2004

SUGGESTED FIX In ciTypeFlow.cpp, near line 620, replace trap(str, str->get_method_signature_index()); with push_null(); ###@###.### 2002-05-20
20-05-2002

EVALUATION When compiling org.apache.catalina.authenticator.SingleSignOn::invoke from /usr/ias/ias70/lib/j2ee.jar ay bci 204, C2 fails. Specifically, ciTypeFlow SEGVs on a OSR compile in get_start_state() since there is no "existing" block for the OSR entry point in the non_osr_flow. The non-osr type flow pass expects the OSR entry point to be unreachable because the class of the return value of an earlier invoke bytecode (bci 97) has not been loaded. In reality, the OSR entry point IS reachable as evidenced by the methodData. The class that ciTypeFlow is tripping on has not been loaded because at compile time, that return value has always been null. In debug mode, the JVM would assert. Non-osr compiles do not fail since ciTypeFlow simply quits at the invoke bytecode, correctly compiling the program but causing unnecessary uncommon traps. ###@###.### 2002-05-20
20-05-2002