Why do I get a core dump registering a new SSL certificate for Gatekeeper?

From Support
Jump to: navigation, search

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