Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 4684993
Votes 0
Synopsis jdk1.4.1 b11 crashes iAS7/TPC-W
Category hotspot:compiler2
Reported Against hopper , s9u2_06 , 1.4.0_00 , 1.4.0_03
Release Fixed 1.4.0_03, 1.4.1(hopper-beta) (Bug ID:2054639)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs 4670330 , 4741873 , 4750176 , 4778368 , 4761344
Submit Date 14-MAY-2002
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    xxxxx@xxxxx  

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 libn xxxxx i31.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
  xxxxx@xxxxx   (  xxxxx@xxxxx  ) terminated by signal SEGV (Segmentation Fault)
0xfe193aa4: get_start_state+0x0144:     ld      [%o0 + 0x10], %o1
(dbx) where
current thread:   xxxxx@xxxxx  
=>[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) 
Work Around
N/A
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.

  xxxxx@xxxxx   2002-05-20
Comments
  
  Include a link with my name & email   

Submitted On 23-APR-2004
vladimir-dozen
We experience a constant crash at the very same function:
Unexpected Signal : 11 occurred at PC=0x402A5E20
Function=get_start_state__10ciTypeFlow+0x148
Library=/usr/java/j2sdk1.4.1_01/jre/lib/i386/server/libjvm.so
under Linux/i386 with 1.4.1_01-b01



PLEASE NOTE: JDK6 is formerly known as Project Mustang