SUN JES 8.1 Q2UR2: Intermittently application server jvm crashed.

Application server jvm intermittently crashed but due to the feature in SUN JES 8.1 ur2 the application server will auto restarts the service. Most of the JVM crashes were due to memory corruption.

The following are SUN findings:

1)Multithreading issue that causes 2 threads writing on the same memory block

2)Based on dtrace, it indicated that there was a race condition happens but the jvm doesn抰 crash during the occurrence.

Questions:

1) Is it possible that I can use dtrace to monitor the memory block or to find out the root cause?

System information:

Oracle:

DriverVersion: [10.2.0.1.0]

DriverMajorVersion: [10]

DriverMinorVersion: [2]

DriverName: [Oracle JDBC driver]

URL: [jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST= (ADDRESS=(PROTOCOL = TCP) (HOST = XXXXXX) (PORT = 1524)) (ADDRESS=(PROTOCOL = TCP) (HOST = XXXXXX) (PORT = 1524))) (CONNECT_DATA = (SID = CP_P)) (source_route=yes))]

UserName: [CP_P1]

Database Product Name: [Oracle]

Database Product Version: [Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.6.0 - Production]

Database Product Major: [9]

Database Product Minor: [2]

Drivers: Type 4

JDK

JDBC Major: [10]

JDBC Minor: [2]

The JDK version is 1.5.0_02

SUN JES Application Server

Sun Java System Application Server Enterprise Edition 8.1_02 running under solaris 10

[1548 byte] By [csgan97a] at [2007-10-3 11:08:00]
# 1

Massive Cross Posting:

http://forum.java.sun.com/thread.jspa?threadID=790474&messageID=4491824#4491824

http://forum.java.sun.com/thread.jspa?threadID=790475&messageID=4491825#4491825

http://forum.java.sun.com/thread.jspa?threadID=790476&messageID=4491827#4491827

http://forum.java.sun.com/thread.jspa?threadID=790478&messageID=4491829#4491829

http://forum.java.sun.com/thread.jspa?threadID=790479&messageID=4491830#4491830

http://forum.java.sun.com/thread.jspa?threadID=790480&messageID=4491831#4491831

zadoka at 2007-7-15 13:30:58 > top of Java-index,Java HotSpot Virtual Machine,Specifications...
# 2
Hi Zadok,I purposely post to different forum to see whether anyone can help me to resolve it. Is there a problem?
csgan97a at 2007-7-15 13:30:58 > top of Java-index,Java HotSpot Virtual Machine,Specifications...
# 3
> Is there a problem?I number of people do not like cross posts.Some people will not answer questions that have been cross posted.
jschella at 2007-7-15 13:30:58 > top of Java-index,Java HotSpot Virtual Machine,Specifications...
# 4

> Most of the

> JVM crashes were due to memory corruption.

>

And how do you know that?

> The following are SUN findings:

Meaning Sun (the company) and not you or someone else determined this?

> 1) Multithreading issue that causes 2 threads writing

> on the same memory block

So? That might indicate a bug in your code. By itself it doesn't mean that it caused the crash.

> 2) Based on dtrace, it indicated that there was a

> race condition happens but the jvm doesn抰 crash

> during the occurrence.

Again so? I wouldn't expect that to cause a crash.

> DriverName: [Oracle JDBC driver]

> URL: [jdbc:oracle:thin

If it is memory corruption then it would be a JVM bug not this driver because it is java only.

If you have any JNI or 3rd party libraries that use JNI then those are the most likely source.

jschella at 2007-7-15 13:30:58 > top of Java-index,Java HotSpot Virtual Machine,Specifications...
# 5

> Most of the

> JVM crashes were due to memory corruption.

>

And how do you know that?

csgan97: Based on sun support input where its due to either trying to read or write to a memory (pblock) that causes the crash.

could identify as a pblock issue

-- lwp# 102 / thread# 102 -- fef40f90 _lwp_kill (6, 0, fef24a98, ffffffff, fef68284, 6) + 8

feebff98 abort(4a600, 1, febbeaac, a83f0, fef6b298, 0) + 110

febb9a9c __1cCosFabort6Fi_v_ (1, 4e10, 10c5b4, 1cb, fecc6000, 4c00) + 58 fec325a0 ? (0, fece3ee0, 4000, febbd19c, fec37eee, febbd19c) + 78b5c

fe9ff2d8 JVM_handle_solaris_signal (b, 5931fa70, 5931f7b8, 5000, 4,

184c128) +

9e8

fef3fec8 __sighndlr (b, 5931fa70, 5931f7b8, fe9fe8d0, 0, 1) + c

fef34ff4 call_user_handler (b, ffbffeff, c, 0, 5bb37c00, 5931f7b8) + 3b8 5f2b08fc pblock_kpinsert (4efa78, 1246c28, 1246520, 2c00, 7398ae8,

2e64) + 17c

5f2b0b28 pblock_kvinsert (4efa78, 1246900, 12, 1246520, ff00, 80808080)

+ 108

5f2d5938 INTservact_objset_uri2path (1237c80, 1237cf8, e436b0, 30f4, 680ac6a8,

5f3e5f54) + e4

5f2d77a8 INTservact_handle_processed (1237c80, 1237cf8, 1237c80, 1237cf8, 680ea948, 10ddda0) + 4c 5f31a0ec __1cLHttpRequestUUnacceleratedRespond6Mpc_v_ (1237be0, 5f3ed614, 3114, 50, 1237cf8, 1237c80) + 3c8 5f3197dc __1cLHttpRequestNHandleRequest6MpnGnetbuf__i_ (1237be0, 12442d8, 1246430, 1246410, 1000, 1244338) + 62c

5f317bc4 __1cNDaemonSessionDrun6M_v_ (1234430, 1000, 5f3f3254, 0, 0,

5f3f320c)

+ 17c

627e6dbc ThreadMain (1234430, 1240848, 3, 0, 1, 0) + 24

680d0028 _pt_root (1240848, 59320000, 0, 0, 40000, 680e8d70) + d0 fef3fd9c _lwp_start (0, 0, 0, 0, 0, 0)

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

#

# SIGSEGV (0xb) at pc=0x5f2b08fc, pid=16489, tid=102 # # Java VM: Java HotSpot(TM) Client VM (1.5.0_02-b09 mixed mode) # Problematic frame:

# C [libns-httpd40.so+0x308fc] pblock_kpinsert+0x17c #

> The following are SUN findings:

Meaning Sun (the company) and not you or someone else determined this?

csgan97: From Sun support engineer

> 1) Multithreading issue that causes 2 threads writing

> on the same memory block

So? That might indicate a bug in your code. By itself it doesn't mean that it caused the crash.

csgan97: If there is a bug, we would like to identify it. All findings are hypothesis and we still dont have evident to really prove that is multithreading issue. Is it possible to use dtrace to track?

> 2) Based on dtrace, it indicated that there was a

> race condition happens but the jvm doesn抰 crash

> during the occurrence.

Again so? I wouldn't expect that to cause a crash.

csgan97: Why? During the jvm crashed, the dtrace monitoring doesnt indicate any race condition. It only indicated twice but during that time the jvm doesnt crash.

> DriverName: [Oracle JDBC driver]

> URL: [jdbc:oracle:thin

If it is memory corruption then it would be a JVM bug not this driver because it is java only.

If you have any JNI or 3rd party libraries that use JNI then those are the most likely source.

csgan97: A far as we know there isnt any JNI or 3rd party libraries that use JNI.

csgan97a at 2007-7-15 13:30:58 > top of Java-index,Java HotSpot Virtual Machine,Specifications...
# 6

Seems like a Sun support engineer should be able to make a guess as to whether it is a VM bug or not.

> A far as we know there isnt any JNI or 3rd party libraries that use JNI.

1. Search the application directory for shared libraries.

2. Modify the shared library path so it only uses the OS core libs and the VM libs (verify no one put any extras in there.)

If the app blows up because there is a missing lib then that would be suspect.

jschella at 2007-7-15 13:30:58 > top of Java-index,Java HotSpot Virtual Machine,Specifications...