Hi Wan-Teh, Before I try to get the stack track using gdb on the core file, as I made it to crash with your suggested change, Java crashed with this error. Actually it also stack trace. Can you see anything from it.
I appreciate your help. This is a must fix for us. # # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x712a97e2, pid=10873, tid=1904720784 # # Java VM: Java HotSpot(TM) Client VM (1.6.0_01-b06 mixed mode) # Problematic frame: # C [libnspr4.so+0x277e2] PR_Lock+0x6b # # 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 (0x080ae000): JavaThread "Finalizer" daemon [_thread_in_native, id=10878] siginfo:si_signo=11, si_errno=0, si_code=1, si_addr=0x00000000 Registers: EAX=0x00000000, EBX=0x712be460, ECX=0x7187a6a4, EDX=0x00000000 ESP=0x7187a748, EBP=0x7187a770, ESI=0x08378368, EDI=0x080ae0e8 EIP=0x712a97e2, CR2=0x00000000, EFLAGS=0x00010206 Top of Stack: (sp=0x7187a748) 0x7187a748: 712bc3dc 00000016 00000014 00000014 0x7187a758: 00000000 74568ba0 7187a780 00000016 0x7187a768: 00000000 713d3608 7187a790 7135c4aa 0x7187a778: 089757d8 00000000 7187a7c0 7135c480 0x7187a788: 08378368 713d3608 7187a7c0 7135d8b9 0x7187a798: 09581cd8 080ae0e8 7187a7c0 7135d86d 0x7187a7a8: 080ae0e8 7187a810 00000000 00000000 0x7187a7b8: 713fbf1c 08378368 7187a7f0 713e6203 Instructions: (pc=0x712a97e2) 0x712a97d2: 83 7c df ff ff 89 04 24 e8 41 07 fe ff 8b 45 f8 0x712a97e2: c7 00 00 00 00 00 83 7d f4 00 74 20 c7 44 24 08 Stack: [0x7185b000,0x7187c000), sp=0x7187a748, free space=125k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libnspr4.so+0x277e2] PR_Lock+0x6b C [libnss3.so+0x2a4aa] C [libnss3.so+0x2b8b9] PK11_DigestOp+0x59 C [libjss4.so+0x11203] Java_org_mozilla_jss_pkcs11_PK11MessageDigest_update+0x5f J org.mozilla.jss.pkcs11.PK11MessageDigest.update(Lorg/mozilla/jss/ pkcs11/CipherContextProxy;[BII)V J org.mozilla.jss.pkcs11.PK11MessageDigest.update([BII)V J org.mozilla.jss.provider.java.security.JSSMessageDigestSpi.engineUpdate ([BII)V J java.security.MessageDigest$Delegate.engineUpdate([BII)V J java.security.MessageDigest.update([B)V j com.sun.crypto.provider.SslMacCore.update([BII)V+16 j com.sun.crypto.provider.SslMacCore$SslMacSHA1.engineUpdate([BII)V+7 j javax.crypto.Mac.update([B)V+33 j com.sun.net.ssl.internal.ssl.MAC.compute(BLjava/nio/ByteBuffer;[BII) [B+60 j com.sun.net.ssl.internal.ssl.MAC.compute(B[BII)[B+7 j com.sun.net.ssl.internal.ssl.OutputRecord.addMAC(Lcom/sun/net/ssl/ internal/ssl/MAC;)V+36 J com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Lcom/sun/net/ ssl/internal/ssl/OutputRecord;)V j com.sun.net.ssl.internal.ssl.SSLSocketImpl.sendAlert(BB)V+216 j com.sun.net.ssl.internal.ssl.SSLSocketImpl.warning(B)V+3 j com.sun.net.ssl.internal.ssl.SSLSocketImpl.closeInternal(Z)V+192 j com.sun.net.ssl.internal.ssl.SSLSocketImpl.close()V+44 j com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.finalize()V+1 v ~StubRoutines::call_stub V [libjvm.so+0x209a4d] V [libjvm.so+0x305bc8] V [libjvm.so+0x2098e0] V [libjvm.so+0x232f77] V [libjvm.so+0x2198ad] C [libjava.so+0xcb9e] Java_java_lang_ref_Finalizer_invokeFinalizeMethod+0x6e J java.lang.ref.Finalizer.invokeFinalizeMethod(Ljava/lang/Object;)V J java.lang.ref.Finalizer.runFinalizer()V J java.lang.ref.Finalizer$FinalizerThread.run()V v ~StubRoutines::call_stub V [libjvm.so+0x209a4d] V [libjvm.so+0x305bc8] V [libjvm.so+0x209360] V [libjvm.so+0x2093ed] V [libjvm.so+0x279605] V [libjvm.so+0x38076f] V [libjvm.so+0x306aa3] C [libpthread.so.0+0x545b] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J org.mozilla.jss.pkcs11.PK11MessageDigest.update(Lorg/mozilla/jss/ pkcs11/CipherContextProxy;[BII)V J org.mozilla.jss.pkcs11.PK11MessageDigest.update([BII)V J org.mozilla.jss.provider.java.security.JSSMessageDigestSpi.engineUpdate ([BII)V J java.security.MessageDigest$Delegate.engineUpdate([BII)V J java.security.MessageDigest.update([B)V j com.sun.crypto.provider.SslMacCore.update([BII)V+16 j com.sun.crypto.provider.SslMacCore$SslMacSHA1.engineUpdate([BII)V+7 j javax.crypto.Mac.update([B)V+33 j com.sun.net.ssl.internal.ssl.MAC.compute(BLjava/nio/ByteBuffer;[BII) [B+60 j com.sun.net.ssl.internal.ssl.MAC.compute(B[BII)[B+7 j com.sun.net.ssl.internal.ssl.OutputRecord.addMAC(Lcom/sun/net/ssl/ internal/ssl/MAC;)V+36 J com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Lcom/sun/net/ ssl/internal/ssl/OutputRecord;)V j com.sun.net.ssl.internal.ssl.SSLSocketImpl.sendAlert(BB)V+216 j com.sun.net.ssl.internal.ssl.SSLSocketImpl.warning(B)V+3 j com.sun.net.ssl.internal.ssl.SSLSocketImpl.closeInternal(Z)V+192 j com.sun.net.ssl.internal.ssl.SSLSocketImpl.close()V+44 j com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.finalize()V+1 v ~StubRoutines::call_stub J java.lang.ref.Finalizer.invokeFinalizeMethod(Ljava/lang/Object;)V J java.lang.ref.Finalizer.runFinalizer()V J java.lang.ref.Finalizer$FinalizerThread.run()V v ~StubRoutines::call_stub Thanks, Sreedhar On May 8, 2:04 pm, Wan-Teh Chang <w...@google.com> wrote: > On Fri, May 8, 2009 at 12:58 PM, <ksreedha...@gmail.com> wrote: > > Hi Wan-Teh, > > > Before the crash, I get the output of "pthread_mutex_lock fails with > > 22". > > > So, rv value is 22. Can you figure out the something out of this. > > I remember you're using CentOS Linux, right? > > On Linux, errno 22 is EINVAL (invalid argument). The pthread_mutex_lock > man page lists two reasons for pthread_mutex_lock to fail with > EINVAL:http://www.opengroup.org/onlinepubs/007908775/xsh/pthread_mutex_unloc... > > The more likely reason is: > The value specified by mutex does not refer to an initialised mutex > object. > > So I guess the PRLock in question is not initialized or has been destroyed. > > Could you try to get a stack trace? You can cause NSPR to crash: > > rv = pthread_mutex_lock(&lock->mutex); > if (rv != 0) { /* ADD THIS */ > int *p = NULL; > printf("pthread_mutex_lock fails with %d\n", rv); > *p = 0; /* THIS WILL CRASH */ > } > PR_ASSERT(0 == rv); > > Make sure your Java Server dumps core when it crashes, and use gdb > on the core file to get the stack trace. Alternatively, you can just run > your Java Server in gdb and let it crash. > > Thanks, > Wan-Teh -- dev-tech-crypto mailing list dev-tech-crypto@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-tech-crypto