Segfault in GIOP code



Hello,

I've been trying to get ORBit to interoperate with
another orb called OMNIORB. So far, the upgrade from
ORBit 2.6 to ORBit 2.7 has fixed some of the problems
I have had before but unfortunately, there are still
some problems that I'm having.

Right now, a request is sent from ORBit to OMNI with
no problems. After this initial message, I seem to be
getting a series of segfaults whenever I'm sending or
receiving.

Here's the details of one segfault that I've gotten:

ORBit GIOP Trace:

Incoming IIOP header:
0x0000:   47 49 4f 50  01 02 01 03  28 00 00 00  XX XX
XX XX | GIOP....(...****
 ---
Incoming IIOP body:
0x000c:   02 00 00 00  00 00 00 00  1c 00 00 00  00 00
00 00 | ................
0x001c:   5e 6d cc d1  e1 a3 32 54  b2 1c 6c 50  80 54
91 b5 | ^m....2T..lP.T..
0x002c:   01 00 00 00  08 6a ac 20  XX XX XX XX  XX XX
XX XX | .....j..********
 ---
Incoming IIOP header:
0x0000:   47 49 4f 50  01 02 01 00  60 00 00 00  XX XX
XX XX | GIOP....`...****
 ---
Incoming IIOP body:
0x000c:   04 00 00 00  03 00 00 00  00 00 00 00  1c 00
00 00 | ................
0x001c:   00 00 00 00  5e 6d cc d1  e1 a3 32 54  b2 1c
6c 50 | ....^m....2T..lP
0x002c:   80 54 91 b5  01 00 00 00  08 6a ac 20  17 00
00 00 | .T.......j......
0x003c:   5f 67 65 74  5f 61 70 70  6c 69 63 61  74 69
6f 6e | _get_application
0x004c:   5f 74 69 74  6c 65 00 00  01 00 00 00  01 00
00 00 | _title..........
0x005c:   0c 00 00 00  01 00 00 00  01 00 01 05  09 01
01 00 | ................
 ---
p29677 : ([0x80f6208])->_get_application_title ()
 =>; seq[23]={ 72, 101, 108, 108, 111, 32, 87, 111,
114, 108, 100, 32, 65, 112,
112, 40, 79, 114, 98, 105, 116, 50, 41 }Outgoing IIOP
data:
0x0000:   47 49 4f 50  01 02 01 01  56 00 00 00  XX XX
XX XX | GIOP....V...****
 ---
0x000c:   04 00 00 00  00 00 00 00  01 00 00 00  01 00
00 00 | ................
0x001c:   0c 00 00 00  01 01 01 01  01 00 01 05  09 01
01 00 | ................
0x002c:   00 00 00 00  17 00 00 00  48 00 65 00  6c 00
6c 00 | ........H.e.l.l.
0x003c:   6f 00 20 00  57 00 6f 00  72 00 6c 00  64 00
20 00 | o...W.o.r.l.d...
0x004c:   41 00 70 00  70 00 28 00  4f 00 72 00  62 00
69 00 | A.p.p.(.O.r.b.i.
0x005c:   74 00 32 00  29 00 XX XX  XX XX XX XX  XX XX
XX XX | t.2.).**********
 ---

Stack Trace:

(gdb) bt
#0  0x401d52b9 in mallopt () from /lib/libc.so.6
#1  0x401d4281 in free () from /lib/libc.so.6
#2  0x4010c356 in g_free () from
/usr/lib/libglib-2.0.so.0
#3  0x40027cf3 in giop_recv_buffer_unuse
(buf=0x80f9290)
    at giop-recv-buffer.c:472
#4  0x4003a146 in
ORBit_POAObject_invoke_incoming_request
(pobj=0x80f6160,
    recv_buffer=0x80f9290, opt_ev=0xbffff6c0) at
poa.c:1226
#5  0x4003a3a5 in ORBit_POA_handle_request
(poa=0x80d92d0,
    recv_buffer=0x80f9290, objkey=0x80f92a8) at
poa.c:1376
#6  0x4003d3c3 in ORBit_handle_request (orb=0x80d9268,
recv_buffer=0x80f9290)
    at orbit-adaptor.c:164
#7  0x40028e03 in giop_connection_handle_input
(lcnx=0x80f8ce8)
    at giop-recv-buffer.c:1258
#8  0x4005961d in linc_connection_io_handler
(gioc=0x0, condition=G_IO_IN,
    data=0x80f8ce8) at linc-connection.c:996
#9  0x4005afc0 in linc_source_dispatch
(source=0x80f91a0,
    callback=0x400594b8 <linc_connection_io_handler>,
user_data=0x80f8ce8)
    at linc-source.c:54
#10 0x4010744f in g_get_current_time () from
/usr/lib/libglib-2.0.so.0
#11 0x40108369 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#12 0x4010866f in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#13 0x40108cbe in g_main_loop_run () from
/usr/lib/libglib-2.0.so.0
#14 0x40058014 in linc_main_loop_run () at linc.c:303
#15 0x40026651 in giop_main_run () at giop.c:397
#16 0x4002a7f2 in CORBA_ORB_run (orb=0x80d9268,
ev=0xbffff930)
    at corba-orb.c:966
#17 0x0805f6c5 in fresco_server_run ()
#18 0x0805f8b9 in main ()
#19 0x40180a51 in __libc_start_main () from
/lib/libc.so.6

Commenting out the g_free in giop-recv-buffer.c fixes
the problem for a while but eventually, as the program
runs, another giop-related segfaults occurs.

Any help would be awesome,

Chris

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]