Re: help needed with array out arguments



On 2 Apr 2002, Michael Meeks wrote:

> 	With that table you can construct all the rest of it trivially.

I tried that, and came up with what you describe below. However, when that
didn't work, I tried the dynamic one I've sent in my initial mail. That
didn't work either.

So my actual client code is:

        OuterModule_Testmodule_MyArrAtomic_slice numbers[6];

        OuterModule_Testmodule_IFace1_method4 (_orbitcpp_get_c_object (),
					       numbers,
					       _ev._orbitcpp_get_c_object ());

and the actual server code is empty (it doesn't even touch the out
argument):

void POA_OuterModule::Testmodule::IFace1::_skel_method4 (::PortableServer_Servant _servant, OuterModule_Testmodule_MyArrAtomic_slice *array_out, ::CORBA_Environment *_ev)
{
}

 Here's where the crash happens in the server process:

#0  0x402641d3 in memcpy () from /lib/libc.so.6
#1  0x4003a454 in giop_send_buffer_append_aligned (buf=0x80612c8, mem=0x4, 
    align_len=4) at giop-send-buffer.c:369
#2  0x40044e8d in ORBit_marshal_value (buf=0x80612c8, val=0xbffff234, 
    tc=0x805a380) at corba-any.c:121
#3  0x40044fa6 in ORBit_marshal_value (buf=0x80612c8, val=0xbffff234, 
    tc=0x8055a20) at corba-any.c:242
#4  0x40045289 in ORBit_marshal_arg (buf=0x80612c8, val=0x4, tc=0x8055a20)
    at corba-any.c:367
#5  0x4003faf9 in ORBit_small_invoke_adaptor (adaptor_obj=0x8061088, 
    recv_buffer=0x8066b40, m_data=0x80576a0, data=0xbffff300,
ev=0xbffff350)
    at orbit-small.c:865
#6  0x4004b227 in ORBit_POAObject_handle_request (pobj=0x8061088, 
    opname=0x8066d60 "method4", ret=0x0, args=0x0, ctx=0x0, 
    recv_buffer=0x8066b40, ev=0xbffff350) at poa.c:1085
#7  0x4004b4a6 in ORBit_POA_handle_request (poa=0x8060db0, 
    recv_buffer=0x8066b40, objkey=0x8066b58) at poa.c:1172
#8  0x4004dabc in ORBit_handle_request (orb=0x80603a0,
recv_buffer=0x8066b40)
    at orbit-adaptor.c:79
#9  0x4003b7c3 in giop_connection_handle_input (lcnx=0x8066a10)
    at giop-recv-buffer.c:945
#10 0x4012f5f1 in linc_connection_io_handler (gioc=0x0, condition=G_IO_IN, 
    data=0x8066a10) at linc-connection.c:840
#11 0x40130f85 in linc_source_dispatch (source=0x8066a50, 
    callback=0x4012f588 <linc_connection_io_handler>, user_data=0x8066a10)
    at linc-source.c:54
#12 0x400e7cc4 in g_main_dispatch (context=0x805fa70) at gmain.c:1617
#13 0x400e8bae in g_main_context_dispatch (context=0x805fa70) at
gmain.c:2161
#14 0x400e8d52 in g_main_context_iterate (context=0x805fa70, block=1, 
    dispatch=1, self=0x80665e8) at gmain.c:2242
#15 0x400e949a in g_main_loop_run (loop=0x8060390) at gmain.c:2462
#16 0x4012e59b in linc_main_loop_run () at linc.c:150
#17 0x4003cf36 in CORBA_ORB_run (orb=0x80603a0, ev=0xbffff5b0)
    at corba-orb.c:1009


-- 
   .--= ULLA! =---------------------.   `We are not here to give users what
   \     http://cactus.rulez.org     \   they want'  -- RMS, at GUADEC 2001
    `---= cactus@cactus.rulez.org =---'
A dinoszauruszok sem voltak nagy allatok, csak nem voltak betomoritve




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