Re: Bug in giop_recv_buffer_unuse()? BiDir GIOP related?



On Wed, 2005-12-14 at 14:05 +0100, Jules Colding wrote:
>     Logging on using the MAPI profile.. ==4558==
> ==4558== Invalid read of size 1
> ==4558==    at 0x1B928E5C: giop_recv_buffer_unuse (giop-recv-buffer.c:471)
> ==4558==    by 0x1B92C92F: ORBit_small_invoke_stub (orbit-small.c:686)
> ==4558==    by 0x1B92CA43: ORBit_small_invoke_stub_n (orbit-small.c:575)
> ==4558==    by 0x1B93D0F0: ORBit_c_stub_invoke (poa.c:2644)
> ==4558==    by 0x80675EE: BRUTUS_BrutusLogOn_Logon (BrutusLogOn-stubs.c:29)
> ==4558==    by 0x805BC2E: main (main.c:782)
> ==4558==  Address 0x1B9C292C is 100 bytes inside a block of size 104 free'd
> ==4558==    at 0x1B909743: free (vg_replace_malloc.c:152)
> ==4558==    by 0x40CC23: g_free (in /usr/lib/libglib-2.0.so.0.600.6)
> ==4558==    by 0x1B928E8A: giop_recv_buffer_unuse (giop-recv-buffer.c:511)
> ==4558==    by 0x1B92EE21: ORBit_handle_location_forward (corba-object.c:420)
> ==4558==    by 0x1B92C2F1: orbit_small_demarshal (orbit-small.c:532)
> ==4558==    by 0x1B92C8C0: ORBit_small_invoke_stub (orbit-small.c:660)
> ==4558==    by 0x1B92CA43: ORBit_small_invoke_stub_n (orbit-small.c:575)
> ==4558==    by 0x1B93D0F0: ORBit_c_stub_invoke (poa.c:2644)
> ==4558==    by 0x80675EE: BRUTUS_BrutusLogOn_Logon (BrutusLogOn-stubs.c:29)
> ==4558==    by 0x805BC2E: main (main.c:782)

	So - clearly the forwarding code is broken :-)

	I imagine that when we call handle_location_forward and it frees the
*buf - that we need to NULL that in the &mqe referenced in
ORBit_small_invoke_stub - could well be the problem; looks rather
inelegant that.

	I imagine it's completely forwarding related.

	HTH,

		Michael.

-- 
 michael meeks novell com  <><, Pseudo Engineer, itinerant idiot



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