[omniORB] omniConnectionBroken (take 2)
ross::barna
rbarna@neochi.com
Wed, 11 Jul 2001 10:46:30 -0400 (EDT)
After more debugging it seems that my server operates fine until a client
program terminates (in any way: cleanly, abort or exit) and then the
server says:
...
omniORB: throw omniConnectionBroken (minor 0) from tcpSocketMTfactory.cc:1076
Aborted (core dumped)
here is the backtrace from gdb:
...
ll_send: 28 bytes
4749 4f50 0100 0101 1000 0000 0000 0000 GIOP............
0300 0000 0000 0000 0100 0000 ............
omniORB: throw omniConnectionBroken (minor 4) from
tcpSocketMTfactory.cc:1076
Program received signal SIGABRT, Aborted.
[Switching to Thread 4101 (LWP 737)]
0x40d89a21 in __kill () from /lib/libc.so.6
Current language: auto; currently c
(gdb) bt
#0 0x40d89a21 in __kill () from /lib/libc.so.6
#1 0x401af01e in raise (sig=6) at signals.c:65
#2 0x40d8ae04 in abort () at ../sysdeps/generic/abort.c:88
#3 0x4082e055 in __default_terminate () from /usr/lib/libpf.so.1
#4 0x4082e072 in __terminate () from /usr/lib/libpf.so.1
#5 0x4082e813 in __throw () from /usr/lib/libpf.so.1
#6 0x40144ec6 in omniExHelper::omniConnectionBroken ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#7 0x4014c584 in tcpSocketStrand::ll_recv ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#8 0x40149260 in reliableStreamStrand::fetch ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#9 0x40148f63 in reliableStreamStrand::receive ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#10 0x4013e8c7 in NetBufferedStream::receive ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#11 0x4013e296 in NetBufferedStream::get_char_array ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#12 0x4013446a in GIOP_S::dispatcher ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#13 0x4014d4a9 in tcpSocketWorker::_realRun ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#14 0x40169de4 in omniORB::giopServerThreadWrapper::run ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#15 0x4014d440 in tcpSocketWorker::run ()
from /home/rbarna/src/eNai/lib/libomniORB3.so.0
#16 0x401998a4 in omni_thread_wrapper ()
from /home/rbarna/src/eNai/lib/libomnithread.so.2
#17 0x401abdd0 in pthread_start_thread_event (arg=0xbf1ffc00) at
manager.c:274
(gdb)
Here is what the client did:
ll_recv: 28 bytes
4749 4f50 0100 0101 1000 0000 0000 0000 GIOP............
0300 0000 0000 0000 0100 0000 ............
[eClient]: construct assigned process ID: 1
omniORB: Preparing to shutdown ORB.
omniORB: scavenger : start.
omniORB: scavenger : exit.
omniORB: strand Ripper: exit.
omniORB: ORB shutdown is complete.
[eClient]: shutting down
omniORB: omniRemoteIdentity deleted.
omniORB: strand Rope::decrRefCount: old value = 1
omniORB: ObjRef(IDL:MapService:1.0) -- deleted.
omniORB: omniRemoteIdentity deleted.
omniORB: strand Rope::decrRefCount: old value = 2
omniORB: ObjRef() -- deleted.
omniORB: omniRemoteIdentity deleted.
omniORB: strand Rope::decrRefCount: old value = 1
omniORB: ObjRef() -- deleted.
Any idea why this is happening?
-ross