Please report new issues athttps://github.com/DOCGroup
schedule_output expects drain_queue_i to empty the queue (which means transport->head_ == 0), but drain_queue_i doesn't change the head_ field. The head_ isn't changed as the Message_Block it poits has length 0, and the transported used is TAO_UIPMC_Transport. This happens after TAO_UIPMC_Transport::send 11 TAO_Block_Flushing_Strategy::schedule_output (TAO_Transport *transport) 12 { 13 while (!transport->queue_is_empty_i ()) 14 { 15 int result = transport->drain_queue_i (); 16 if (result == -1) 17 return -1; 18 } 19 return 0; 20 } It seems to happen when 2 multicast requests are sent at the same time, which disturbs the marshalling generating a wrong packet the stack trace is: #0 TAO_Transport::drain_queue_i (this=0xb3602640) at Transport.cpp:831 #1 0xb7ae8594 in TAO_Block_Flushing_Strategy::schedule_output (this=0x8199fa0, transport=0xb3602640) at Block_Flushing_Strategy.cpp:15 #2 0xb7af4c2e in TAO_Transport::send_synchronous_message_i (this=0xb3602640, mb=0x0, max_wait_time=0x0) at Transport.cpp:444 #3 0xb7af6c59 in TAO_Transport::send_message_shared_i (this=0xb3602640, stub=0xb3600500, message_semantics=0, message_block=0xb3602934, max_wait_time=0x0) at Transport.cpp:984 #4 0xb7af4a5c in TAO_Transport::send_message_shared (this=0xb3602640, stub=0x0, message_semantics=0, message_block=0x0, max_wait_time=0x0) at Transport.cpp:406 #5 0xb7f518fc in TAO_UIPMC_Transport::send_message (this=0xb3602640, stream=@0xb3600500, stub=0x0, message_semantics=0, max_wait_time=0x0) at CDR_Stream.inl:465 #6 0xb7f51884 in TAO_UIPMC_Transport::send_request (this=0xb3602640, stub=0x0, orb_core=0x0, stream=@0x0, message_semantics=-1285543628, max_wait_time=0x0) at PortableGroup/UIPMC_Transport.cpp:554 #7 0xb7a6b2b2 in TAO::Remote_Invocation::send_message (this=0xb35ff6e0, cdr=@0x0, message_semantics=576, max_wait_time=0x0) at Profile_Transport_Resolver.inl:38 #8 0xb7a6d013 in TAO::Synch_Oneway_Invocation::remote_oneway (this=0xb35ff6e0, max_wait_time=0x1) at Synch_Invocation.cpp:707 #9 0xb7a6996d in TAO::Invocation_Adapter::invoke_oneway (this=0xb35ff920, op=@0xb35ff82c, effective_target=@0xb35ff830, r=@0xb35ff7c0, max_wait_time=@0x0) at Invocation_Adapter.cpp:305 #10 0xb7a69705 in TAO::Invocation_Adapter::invoke_remote_i (this=0xb35ff920, stub=0xb3600500, details=@0xb35ff880, effective_target=@0xb35ff830, max_wait_time=@0xb35ff82c) at Invocation_Adapter.cpp:218 #11 0xb7a691c5 in TAO::Invocation_Adapter::invoke_i (this=0xb35ff920, stub=0xb3600500, details=@0xb35ff880) at Invocation_Adapter.cpp:83 #12 0xb7a69109 in TAO::Invocation_Adapter::invoke (this=0xb35ff920, ex_data=0x0, ex_count=0) at Invocation_Adapter.cpp:44