Why do I get a core dump registering a new SSL certificate for Gatekeeper?
Question:
Why do I get a core dump registering a new SSL certificate for Gatekeeper?
Answer:
1. Product: vbj3.4 and vbjssl3.2
2. Platform: Solaris 2.6
3. JDK: JDK 1.1.7
Description:
This application has been working for 9 months. But the SSL certificate expired on 5/26/00, then installed a new certificate on it. When starting up gatekeeper, customer is getting the following error output.
The certificate was generated by Netscape CA server. Here is the stack ...
SIGSEGV 11* segmentation violation
si_signo [11]: SIGSEGV 11* segmentation violation
si_errno [0]: Error 0
si_code [1]: SEGV_MAPERR [addr: 0x18]
stackbase=EFFFF6B8, stackpointer=EFFFDEAC
Full thread dump:
"AreYouAlive" (TID:0xed673648, sys_thread_t:0x315798, state:R,
thread_t: t@12, sp:0x0 threadID:0x0, stack_base:0x0, stack_size:0x0)
prio=5
"Thread-6" (TID:0xed673440, sys_thread_t:0x315708, state:R,
thread_t: t@11, sp:0x0 threadID:0x0, stack_base:0x0, stack_size:0x0)
prio=5
"Thread-5" (TID:0xed66b0f0, sys_thread_t:0x213f58, state:R,
thread_t: t@10, sp:0x0 threadID:0xef131dd8, stack_base:0xef131d6c,
stack_size:0x20000) prio=5
java.net.PlainSocketImpl.accept(Compiled Code)
java.net.ServerSocket.implAccept(Compiled Code)
java.net.ServerSocket.accept(Compiled Code)
com.visigenic.vbroker.orb.TcpSocket.doAccept(Compiled Code)
com.visigenic.vbroker.orb.TcpListener.accept(Compiled Code)
com.visigenic.vbroker.orb.NormalAdapterListener.run(Compiled
Code)
java.lang.Thread.run(Compiled Code)
"GarbageCollector" (TID:0xed66cd30, sys_thread_t:0x1f07f8, state:CW,
thread_t: t@9, sp:0xef1804e0 threadID:0xef181dd8, stack_base:0xef181d6c,
stack_size:0x20000) prio=5
com.visigenic.vbroker.orb.GarbageCollector.run(Compiled Code)
"AreYouAlive" (TID:0xed66c880, sys_thread_t:0x1e25d8, state:CW,
thread_t: t@7, sp:0xef1b0ee0 threadID:0xef1b1dd8, stack_base:0xef1b1d6c,
stack_size:0x20000) prio=5
com.visigenic.vbroker.ds.DSUser$AreYouAlive.run(Compiled Code)
"Thread-2" (TID:0xed66c630, sys_thread_t:0x1d1600, state:R,
thread_t: t@6, sp:0xef1e0f68 threadID:0xef1e1dd8, stack_base:0xef1e1d6c,
stack_size:0x20000) prio=5
java.net.DatagramSocket.receive(Compiled Code)
com.visigenic.vbroker.ds.DSUser$DatagramThread.run(Compiled
Code)
"SIGQUIT handler" (TID:0xed6662a0, sys_thread_t:0x1130b0, state:R,
thread_t: t@5, sp:0xef371af0 threadID:0xef371dd8, stack_base:0xef371d6c,
stack_size:0x20000) prio=0
"Finalizer thread" (TID:0xed666088, sys_thread_t:0x113020, state:CW,
thread_t: t@4, sp:0xef461a30 threadID:0xef461dd8, stack_base:0xef461d6c,
stack_size:0x20000) prio=1
"main" (TID:0xed6660b0, sys_thread_t:0x107578, state:R, thread_t:
t@1, sp:0xefffd7a0 threadID:0x20a18, stack_base:0xeffff6b8,
stack_size:0x800000) prio=5 *current thread*
com.visigenic.vbroker.ssl.JniConnection.addCertificate(Compiled
Code)
com.visigenic.vbroker.ssl.CertificateManagerImpl.setCertificateChain(Compiled
Code)
com.visigenic.vbroker.ssl.GateKeeperHelper.addCertificate(Compiled
Code)
com.visigenic.vbroker.gatekeeper.GateKeeper.initOrb(Compiled Code)
com.visigenic.vbroker.gatekeeper.GateKeeper.startProxyServer(Compiled
Code)
com.visigenic.vbroker.gatekeeper.GateKeeper.start(Compiled Code)
com.visigenic.vbroker.gatekeeper.GateKeeper.main(Compiled Code)
Monitor Cache Dump:
com.visigenic.vbroker.orb.GarbageCollector@ED66CD30/ED764700:
Waiting to be notified:
"GarbageCollector" (0x1f07f8)
com.visigenic.vbroker.ssl.JniConnection@ED6730C0/ED78A210: owner
"main" (0x107578, 1 entry)
com.visigenic.vbroker.gatekeeper.GateKeeper@ED66A520/ED754330: owner
"main" (0x107578, 1 entry)
java.net.DatagramPacket@ED66C7D8/ED7609E8: owner "Thread-2"
(0x1d1600, 1 entry)
java.net.DatagramSocket@ED66C660/ED760380: owner "Thread-2"
(0x1d1600, 1 entry)
java.net.PlainDatagramSocketImpl@ED66C648/ED7603E8: owner "Thread-2"
(0x1d1600, 1 entry)
com.visigenic.vbroker.ds.DSUser$AreYouAlive@ED66C880/ED763270:
Waiting to be notified:
"AreYouAlive" (0x1e25d8)
java.net.PlainSocketImpl@ED66B0A8/ED762DC8: owner "Thread-5"
(0x213f58, 1 entry)
Registered Monitor Dump:
PCMap lock:
Thread queue lock:
Name and type hash table lock:
String intern lock:
JNI pinning lock:
JNI global reference lock:
BinClass lock:
Class loading lock:
Java stack lock:
Code rewrite lock:
Heap lock:
Has finalization queue lock:
Finalize me queue lock:
Waiting to be notified:
"Finalizer thread" (0x113020)
Monitor registry: owner "main" (0x107578, 1 entry)
We were able to reproduce this problem with gatekeeper and with a CORBA server.
We determined that the Netscape CA cert was causing the problem but could not determine why.
Using VeriSign certificates resolved the problem
Article originally contributed by Thomas Moyles