ORBit-mt and hangs while acting as a client
- From: Zaheer Merali <zaheer grid9 net>
- To: wilhelmi ira uka de
- Cc: orbit-list gnome org
- Subject: ORBit-mt and hangs while acting as a client
- Date: Tue, 02 Jan 2001 10:19:57 +0000
Hi
This seems a very strange problem. With some code my program sometimes
hangs only when its using Unix Domain Sockets, when added to slightly it
hangs when using either IPv4 or Unix Domain Sockets. I control there by
.orbitrc in the home directory. However if I initialise the orb as
orbit-local-orb as opposed to orbit-local-mt-orb, everything works as
expected. I have installed ORBit-0.5.5 and ORBit-mt-0.5.3.
It happens when calling a CORBA function, in this case
previking_moduleStart. So far in my program, no threads have been
created so it is all running serialised (apart from what ORBit-mt might
be doing).
This is what I get when I interrupt a gdb session that is running it:
(gdb) bt
#0 0x4010817e in sigsuspend () from /lib/libc.so.6
#1 0x402361a0 in pthread_setconcurrency () from /lib/libpthread.so.0
#2 0x40232b20 in pthread_cond_wait () from /lib/libpthread.so.0
#3 0x40213e54 in g_async_queue_pop_intern_unlocked (queue=0x80527c8,
try=0, end_time=0x0) at orbit_thread_support.c:431
#4 0x40213fb6 in g_async_queue_pop (queue=0x80527c8)
at orbit_thread_support.c:464
#5 0x40212f4c in ORBit_wait_for_request_id (monitor=0x80519b8,
request_ids=0xbffff534, block_for_reply=1) at orbit_thread.c:360
#6 0x40224a37 in giop_connection_wait_for_reply_multiple (
connection=0x80519b8, request_ids=0xbffff534, block_for_reply=1)
at giop-connection.c:391
#7 0x40224ab5 in giop_connection_wait_for_reply (connection=0x80519b8,
request_id=3221222740, block_for_reply=1) at giop-connection.c:408
#8 0x4001a23a in previking_moduleHandler_moduleStarted (_obj=0x80518a8,
type=previking_SERVICE, name=0x8048867 "test", ev=0xbffff5c8)
at previking-stubs.c:64
#9 0x40019895 in moduleStart (name=0x8048867 "test", orb=0x8049b58)
at module.c:47
#10 0x40019d99 in lpvServiceStart (name=0x8048867 "test",
incomingCall=0x8048700 <test>) at lpvservice.c:96
#11 0x804876b in main (argc=2, argv=0xbffff6a4) at test.c:113
#12 0x40101cbe in __libc_start_main () from /lib/libc.so.6
It looks like it is waiting forever on that condition variable in frame
2. At first I thought it is definitely something to do with what I have
written because I make slight changes and it makes it not hang. However
it is interesting to me, that none of the calls to CosNaming functions hang.
I currently have available to me source code that causes it to hang as
above with mt when using Unix Domain Sockets only and source code that
hangs with both Unix Domain Sockets and IPv4.
I am currently pulling my hair out on this one :)
Regards
Zaheer Merali
--
PreViking - open source telephony middleware
http://www.bellworldwide.net/previking/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]