<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:D="DAV:" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal> TAO VERSION: 1.6.1<o:p></o:p></p>
<p class=MsoNormal> ACE VERSION: 5.6.1<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> HOST MACHINE and OPERATING SYSTEM: Xen VM
of Linux/i386 v2.6.18-5-xen-vserver-686, Debian 4.0<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> COMPILER NAME AND VERSION (AND
PATCHLEVEL): gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> THE $ACE_ROOT/ace/config.h FILE [if you
use a link to a platform-<o:p></o:p></p>
<p class=MsoNormal> specific file, simply state which one]:<o:p></o:p></p>
<p class=MsoNormal>#define
ACE_AS_STATIC_LIBS
1<o:p></o:p></p>
<p class=MsoNormal>#define
TAO_AS_STATIC_LIBS
1<o:p></o:p></p>
<p class=MsoNormal>#define
ACE_HAS_STANDARD_CPP_LIBRARY
1<o:p></o:p></p>
<p class=MsoNormal>#define
ACE_HAS_IPV6
1<o:p></o:p></p>
<p class=MsoNormal>#define
ACE_USES_IPV4_IPV6_MIGRATION
1<o:p></o:p></p>
<p class=MsoNormal>#include "ace/config-linux.h"<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU
FILE [if you<o:p></o:p></p>
<p class=MsoNormal> use a link to a platform-specific file,
simply state which one<o:p></o:p></p>
<p class=MsoNormal> (unless this isn't used in this case,
e.g., with Microsoft Visual<o:p></o:p></p>
<p class=MsoNormal> C++)]:<o:p></o:p></p>
<p class=MsoNormal>ACE_COMPONENTS=FOR_TAO<o:p></o:p></p>
<p class=MsoNormal>exceptions = 1<o:p></o:p></p>
<p class=MsoNormal>debug
= 0<o:p></o:p></p>
<p class=MsoNormal>optimize
= 1<o:p></o:p></p>
<p class=MsoNormal>static_libs_only = 1<o:p></o:p></p>
<p class=MsoNormal>xt_reactor = 0<o:p></o:p></p>
<p class=MsoNormal>fl_reactor = 0<o:p></o:p></p>
<p class=MsoNormal>ssl
= 1<o:p></o:p></p>
<p class=MsoNormal>ipv6
= 1<o:p></o:p></p>
<p class=MsoNormal>zlib
= 1<o:p></o:p></p>
<p class=MsoNormal>LDFLAGS
+= -L$(ACE_ROOT)/ace/$(TARGET_PLATFORM)<o:p></o:p></p>
<p class=MsoNormal>VDIR
= .obj/$(TARGET_PLATFORM)/<o:p></o:p></p>
<p class=MsoNormal>INSLIB
= $(ACE_ROOT)/ace/$(TARGET_PLATFORM)<o:p></o:p></p>
<p class=MsoNormal>include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> CONTENTS OF
$ACE_ROOT/bin/MakeProjectCreator/config/default.features<o:p></o:p></p>
<p class=MsoNormal> (used by MPC when you generate your own
makefiles):<o:p></o:p></p>
<p class=MsoNormal>ssl
= 1<o:p></o:p></p>
<p class=MsoNormal>ipv6 =
1<o:p></o:p></p>
<p class=MsoNormal>zlib =
1<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> AREA/CLASS/EXAMPLE AFFECTED: TAO Block
Flushing Strategy<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> DOES THE PROBLEM AFFECT:<o:p></o:p></p>
<p class=MsoNormal> COMPILATION? No<o:p></o:p></p>
<p class=MsoNormal> LINKING? No<o:p></o:p></p>
<p class=MsoNormal>
On Unix systems, did you run make realclean first?<o:p></o:p></p>
<p class=MsoNormal> EXECUTION? Yes<o:p></o:p></p>
<p class=MsoNormal> OTHER (please
specify)? n/a<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> SYNOPSIS:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal style='text-autospace:none'>Attempting to send too much data
through an out parameter when <span style='font-size:10.0pt;font-family:"Courier New"'>ORBFlushingStrategy
is set to blocking causes a segfault.<o:p></o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> DESCRIPTION:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal style='text-autospace:none'>Attempting to send too much data
through an out parameter when <span style='font-size:10.0pt;font-family:"Courier New"'>ORBFlushingStrategy
is set to blocking causes a segfault.<o:p></o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> REPEAT BY:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Code:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>#include <ace/OS.h><o:p></o:p></p>
<p class=MsoNormal>#include <tao/corba.h><o:p></o:p></p>
<p class=MsoNormal>#include <tao/PortableServer/PortableServer.h><o:p></o:p></p>
<p class=MsoNormal>#include <iostream><o:p></o:p></p>
<p class=MsoNormal>#include "corbarpc/ctestS.h"<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>using namespace std;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>class ctest_impl : public virtual POA_ctest<o:p></o:p></p>
<p class=MsoNormal>{<o:p></o:p></p>
<p class=MsoNormal>public:<o:p></o:p></p>
<p class=MsoNormal> CORBA::Long
ctestfn(CORBA::Long size, ctest::UCSeq_out data)<o:p></o:p></p>
<p class=MsoNormal> {<o:p></o:p></p>
<p class=MsoNormal>
cout << "ctestfn called for " << size << "
objects" << endl;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
data = new ctest::UCSeq;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> data->length(size);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
for (size_t i = 0; i < data->length(); ++i)<o:p></o:p></p>
<p class=MsoNormal>
{<o:p></o:p></p>
<p class=MsoNormal>
data[i] = (rand() % 26) + 'A';<o:p></o:p></p>
<p class=MsoNormal>
}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
return 0;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal>};<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>int main(int argc, char * argv[])<o:p></o:p></p>
<p class=MsoNormal>{<o:p></o:p></p>
<p class=MsoNormal> try<o:p></o:p></p>
<p class=MsoNormal> {<o:p></o:p></p>
<p class=MsoNormal> if ((argc == 1) || (argc > 3))<o:p></o:p></p>
<p class=MsoNormal> {<o:p></o:p></p>
<p class=MsoNormal> cout <<
"Server Mode" << endl;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> CORBA::ORB_var
orb = CORBA::ORB_init(argc, argv);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> CORBA::Object_var
obj = orb->resolve_initial_references("RootPOA");<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
PortableServer::POAManager_var mgr = poa->the_POAManager();<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
mgr->activate();<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> ctest_impl
servant;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> ctest_var object
= servant._this();<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> CORBA::String_var
str = orb->object_to_string(object);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> cout << str
<< endl;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> orb->run();<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal> else<o:p></o:p></p>
<p class=MsoNormal> {<o:p></o:p></p>
<p class=MsoNormal> cout <<
"Client Mode" << endl;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> CORBA::ORB_var
orb = CORBA::ORB_init(argc, argv);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> CORBA::Object_var
obj = orb->string_to_object(argv[1]);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> if
(CORBA::is_nil(obj))<o:p></o:p></p>
<p class=MsoNormal> {<o:p></o:p></p>
<p class=MsoNormal>
cout << "Nil reference" << endl;<o:p></o:p></p>
<p class=MsoNormal>
return EXIT_FAILURE;<o:p></o:p></p>
<p class=MsoNormal> } <o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> ctest_var
ctestVar;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> ctestVar = ctest::_narrow(obj);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> cout <<
"Calling ctestfn" << endl;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> ctest::UCSeq_var
data;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>
ctestVar->ctestfn(ACE_OS::atoi(argv[2]), data);<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> cout <<
"Received " << data->length() << " bytes"
<< endl;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> ACE_OS::sleep(10);<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal> catch(...)<o:p></o:p></p>
<p class=MsoNormal> {<o:p></o:p></p>
<p class=MsoNormal> cout <<
"An exception" << endl;<o:p></o:p></p>
<p class=MsoNormal> }<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> return EXIT_SUCCESS;<o:p></o:p></p>
<p class=MsoNormal>}<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>IDL:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>interface ctest {<o:p></o:p></p>
<p class=MsoNormal> typedef
sequence<char> UCSeq;<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal> long ctestfn(in
long size, out UCSeq data);<o:p></o:p></p>
<p class=MsoNormal>};<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Run the server as:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>ctest -ORBSvcConfDirective "static
Server_Strategy_Factory \"-ORBConcurrency reactive -ORBPOALock thread
-ORBAllowReactivationOfSystemids 0\"" -ORBSvcConfDirective
"static Resource_Factory \"-ORBConnectionCacheMax 10
-ORBNativeWcharCodeSet 0x00010109 -ORBFlushingStrategy blocking\""
-ORBSvcConfDirective "static Client_Strategy_Factory
\"-ORBWaitStrategy rw -ORBTransportMuxStrategy exclusive
-ORBConnectStrategy blocked -ORBConnectionHandlerCleanup 1\""
-ORBStdProfileComponents 0 -ORBDebug -ORBDebugLevel 10<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Run the client as:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>ctest <IOR Shown by above server> <number of
bytes><o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>If you run the ctest client with a value of 131368, the
program executes as expected. But if you use 131369, the server will
segfault. Stack trace as follows:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>#0 0x464c5f4f in ?? ()<o:p></o:p></p>
<p class=MsoNormal>#1 0x0811cb28 in TAO_Block_Flushing_Strategy::flush_message
()<o:p></o:p></p>
<p class=MsoNormal>#2 0x080fd390 in TAO_Transport::send_reply_message_i
()<o:p></o:p></p>
<p class=MsoNormal>#3 0x080fdce4 in TAO_Transport::send_message_shared_i
()<o:p></o:p></p>
<p class=MsoNormal>#4 0x08130329 in
TAO_IIOP_Transport::send_message_shared ()<o:p></o:p></p>
<p class=MsoNormal>#5 0x0812fec1 in TAO_IIOP_Transport::send_message ()<o:p></o:p></p>
<p class=MsoNormal>#6 0x080f5061 in TAO_ServerRequest::tao_send_reply ()<o:p></o:p></p>
<p class=MsoNormal>#7 0x0805b678 in
TAO_ServantBase::synchronous_upcall_dispatch ()<o:p></o:p></p>
<p class=MsoNormal>#8 0x0804d861 in POA_ctest::_dispatch
(this=0xbf81e0e0, req=@0xbf81d568, <o:p></o:p></p>
<p class=MsoNormal> servant_upcall=0xbf81cfe4) at
ctestS.cpp:765<o:p></o:p></p>
<p class=MsoNormal>#9 0x080756d5 in TAO_Object_Adapter::dispatch_servant
()<o:p></o:p></p>
<p class=MsoNormal>#10 0x08075d54 in TAO_Object_Adapter::dispatch ()<o:p></o:p></p>
<p class=MsoNormal>#11 0x08101e5a in TAO_Adapter_Registry::dispatch ()<o:p></o:p></p>
<p class=MsoNormal>#12 0x080e1674 in TAO_Request_Dispatcher::dispatch ()<o:p></o:p></p>
<p class=MsoNormal>#13 0x0813ab22 in TAO_GIOP_Message_Base::process_request ()<o:p></o:p></p>
<p class=MsoNormal>#14 0x081368e0 in
TAO_GIOP_Message_Base::process_request_message ()<o:p></o:p></p>
<p class=MsoNormal>#15 0x080f910f in TAO_Transport::process_parsed_messages ()<o:p></o:p></p>
<p class=MsoNormal>#16 0x080fcc06 in TAO_Transport::handle_input_parse_data ()<o:p></o:p></p>
<p class=MsoNormal>#17 0x080fcdf3 in TAO_Transport::handle_input ()<o:p></o:p></p>
<p class=MsoNormal>#18 0x08134459 in
TAO_Connection_Handler::handle_input_internal ()<o:p></o:p></p>
<p class=MsoNormal>#19 0x08134646 in TAO_Connection_Handler::handle_input_eh ()<o:p></o:p></p>
<p class=MsoNormal>#20 0x08125f1f in TAO_IIOP_Connection_Handler::handle_input
()<o:p></o:p></p>
<p class=MsoNormal>#21 0x08180eb0 in ACE_TP_Reactor::handle_socket_events ()<o:p></o:p></p>
<p class=MsoNormal>#22 0x0818122c in ACE_TP_Reactor::handle_events ()<o:p></o:p></p>
<p class=MsoNormal>#23 0x080ca787 in TAO_ORB_Core::run ()<o:p></o:p></p>
<p class=MsoNormal>#24 0x080c6ca5 in CORBA::ORB::run ()<o:p></o:p></p>
<p class=MsoNormal>#25 0x0804cf2f in main (argc=12, argv=0xb7e5db60) at
ctest.cpp:55<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The TAO logs of the failing call, starting from when the
server receives the request:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - ORB_Core::run, start [run]<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - ORB_Core::run, calling
handle_events()<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
Transport_Cache_Manager::fill_set_i, current_size = 0, cache_maximum = 10<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
Concurrency_Strategy::activate_svc_handler, opened as TAO_SERVER_ROLE<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - IIOP_Connection_Handler::open, The
local addr is <::ffff:192.168.74.17:40394> <o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - IIOP_Connection_Handler::open, IIOP
connection to peer <[::ffff:192.168.75.81]:39725> on 11<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - IIOP_Endpoint::set, cannot determine
hostname: No such file or directory<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport_Cache_Manager::bind_i:
Transport[11] ;hash 1363887085<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport_Cache_Manager::bind_i,
cache size is [1]<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::register_handler<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - ORB_Core::run, handle_events()
returns 1<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - ORB_Core::run, calling
handle_events()<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
Connection_Handler[11]::handle_input, handle = 11/11<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::handle_input<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::process_queue_head,
0 enqueued<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
Transport[11]::handle_input_parse_data, enter<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
Transport[11]::handle_input_parse_data, read 76 bytes<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
GIOP_Message_State::parse_message_header_i<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
GIOP_Message_State::get_version_info<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
GIOP_Message_State::get_byte_order_info<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
Transport[11]::process_parsed_messages, entering (missing data == 0)<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - GIOP_Message_Base::dump_msg, recv
GIOP v1.2 msg, 64 data bytes, other endian, Type Request[1]<o:p></o:p></p>
<p class=MsoNormal>GIOP message - HEXDUMP 76 bytes<o:p></o:p></p>
<p class=MsoNormal>47 49 4f 50 01 02 00 00 00 00 00 40 00 00 00
01 GIOP.......@....<o:p></o:p></p>
<p class=MsoNormal>03 00 00 00 00 00 00 00 00 00 00 17 14 01 0f
00 ................<o:p></o:p></p>
<p class=MsoNormal>52 53 54 9f 20 46 47 61 52 07 00 00 00 00 00
01 RST. FGaR.......<o:p></o:p></p>
<p class=MsoNormal>00 00 00 00 00 00 00 08 63 74 65 73 74 66 6e
00 ........ctestfn.<o:p></o:p></p>
<p class=MsoNormal>00 00 00 00 00 00 00 00 00 02 01
29
...........) <o:p></o:p></p>
<p class=MsoNormal>ctestfn called for 131369 objects<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - GIOP_Message_Base::dump_msg, send
GIOP v1.2 msg, 131389 data bytes, my endian, Type Reply[1]<o:p></o:p></p>
<p class=MsoNormal>GIOP message - HEXDUMP 131401 bytes (showing first 912
bytes)<o:p></o:p></p>
<p class=MsoNormal>47 49 4f 50 01 02 01 01 3d 01 02 00 01 00 00
00 GIOP....=.......<o:p></o:p></p>
<p class=MsoNormal>00 00 00 00 00 00 00 00 00 00 00 00 29 01 02
00 ............)...<o:p></o:p></p>
<p class=MsoNormal>4e 57 4c 52 42 42 4d 51 42 48 43 44 41 52 5a
4f NWLRBBMQBHCDARZO<o:p></o:p></p>
<p class=MsoNormal>57 4b 4b 59 48 49 44 44 51 53 43 44 58 52 4a
4d WKKYHIDDQSCDXRJM<o:p></o:p></p>
<p class=MsoNormal>4f 57 46 52 58 53 4a 59 42 4c 44 42 45 46 53
41 OWFRXSJYBLDBEFSA<o:p></o:p></p>
<p class=MsoNormal>52 43 42 59 4e 45 43 44 59 47 47 58 58 50 4b
4c RCBYNECDYGGXXPKL<o:p></o:p></p>
<p class=MsoNormal>4f 52 45 4c 4c 4e 4d 50 41 50 51 46 57 4b 48
4f ORELLNMPAPQFWKHO<o:p></o:p></p>
<p class=MsoNormal>50 4b 4d 43 4f 51 48 4e 57 4e 4b 55 45 57 48
53 PKMCOQHNWNKUEWHS<o:p></o:p></p>
<p class=MsoNormal>51 4d 47 42 42 55 51 43 4c 4a 4a 49 56 53 57
4d QMGBBUQCLJJIVSWM<o:p></o:p></p>
<p class=MsoNormal>44 4b 51 54 42 58 49 58 4d 56 54 52 52 42 4c
4a DKQTBXIXMVTRRBLJ<o:p></o:p></p>
<p class=MsoNormal>50 54 4e 53 4e 46 57 5a 51 46 4a 4d 41 46 41
44 PTNSNFWZQFJMAFAD<o:p></o:p></p>
<p class=MsoNormal>52 52 57 53 4f 46 53 42 43 4e 55 56 51 48 46 46
RRWSOFSBCNUVQHFF<o:p></o:p></p>
<p class=MsoNormal>42 53 41 51 58 57 50 51 43 41 43 45 48 43 48
5a BSAQXWPQCACEHCHZ<o:p></o:p></p>
<p class=MsoNormal>56 46 52 4b 4d 4c 4e 4f 5a 4a 4b 50 51 50 58
52 VFRKMLNOZJKPQPXR<o:p></o:p></p>
<p class=MsoNormal>4a 58 4b 49 54 5a 59 58 41 43 42 48 48 4b 49
43 JXKITZYXACBHHKIC<o:p></o:p></p>
<p class=MsoNormal>51 43 4f 45 4e 44 54 4f 4d 46 47 44 57 44 57
46 QCOENDTOMFGDWDWF<o:p></o:p></p>
<p class=MsoNormal>43 47 50 58 49 51 56 4b 55 59 54 44 4c 43 47
44 CGPXIQVKUYTDLCGD<o:p></o:p></p>
<p class=MsoNormal>45 57 48 54 41 43 49 4f 48 4f 52 44 54 51 4b
56 EWHTACIOHORDTQKV<o:p></o:p></p>
<p class=MsoNormal>57 43 53 47 53 50 51 4f 51 4d 53 42 4f 41 47
55 WCSGSPQOQMSBOAGU<o:p></o:p></p>
<p class=MsoNormal>57 4e 4e 59 51 58 4e 5a 4c 47 44 47 57 50 42
54 WNNYQXNZLGDGWPBT<o:p></o:p></p>
<p class=MsoNormal>52 57 42 4c 4e 53 41 44 45 55 47 55 55 4d 4f
51 RWBLNSADEUGUUMOQ<o:p></o:p></p>
<p class=MsoNormal>43 44 52 55 42 45 54 4f 4b 59 58 48 4f 41 43
48 CDRUBETOKYXHOACH<o:p></o:p></p>
<p class=MsoNormal>57 44 56 4d 58 58 52 44 52 59 58 4c 4d 4e 44
51 WDVMXXRDRYXLMNDQ<o:p></o:p></p>
<p class=MsoNormal>54 55 4b 57 41 47 4d 4c 45 4a 55 55 4b 57 43
49 TUKWAGMLEJUUKWCI<o:p></o:p></p>
<p class=MsoNormal>42 58 55 42 55 4d 45 4e 4d 45 59 41 54 44 52
4d BXUBUMENMEYATDRM<o:p></o:p></p>
<p class=MsoNormal>59 44 49 41 4a 58 4c 4f 47 48 49 51 46 4d 5a
48 YDIAJXLOGHIQFMZH<o:p></o:p></p>
<p class=MsoNormal>4c 56 49 48 4a 4f 55 56 53 55 59 4f 59 50 41
59 LVIHJOUVSUYOYPAY<o:p></o:p></p>
<p class=MsoNormal>55 4c 59 45 49 4d 55 4f 54 45 48 5a 52 49 49
43 ULYEIMUOTEHZRIIC<o:p></o:p></p>
<p class=MsoNormal>46 53 4b 50 47 47 4b 42 42 49 50 5a 5a 52 5a
55 FSKPGGKBBIPZZRZU<o:p></o:p></p>
<p class=MsoNormal>43 58 41 4d 4c 55 44 46 59 4b 47 52 55 4f 57
5a CXAMLUDFYKGRUOWZ<o:p></o:p></p>
<p class=MsoNormal>47 49 4f 4f 4f 42 50 50 4c 45 51 4c 57 50 48
41 GIOOOBPPLEQLWPHA<o:p></o:p></p>
<p class=MsoNormal>50 4a 4e 41 44 51 48 44 43 4e 56 57 44 54 58
4a PJNADQHDCNVWDTXJ<o:p></o:p></p>
<p class=MsoNormal>42 4d 59 50 50 50 48 41 55 58 4e 53 50 55 53
47 BMYPPPHAUXNSPUSG<o:p></o:p></p>
<p class=MsoNormal>44 48 49 49 58 51 4d 42 46 4a 58 4a 43 56 55
44 DHIIXQMBFJXJCVUD<o:p></o:p></p>
<p class=MsoNormal>4a 53 55 59 49 42 59 45 42 4d 57 53 49 51 59
4f JSUYIBYEBMWSIQYO<o:p></o:p></p>
<p class=MsoNormal>59 47 59 58 59 4d 5a 45 56 59 50 5a 56 4a 45
47 YGYXYMZEVYPZVJEG<o:p></o:p></p>
<p class=MsoNormal>45 42 45 4f 43 46 55 46 54 53 58 44 49 58 54
49 EBEOCFUFTSXDIXTI<o:p></o:p></p>
<p class=MsoNormal>47 53 49 45 45 48 4b 43 48 5a 44 46 4c 49 4c
52 GSIEEHKCHZDFLILR<o:p></o:p></p>
<p class=MsoNormal>4a 51 46 4e 58 5a 54 51 52 53 56 42 53 50 4b
59 JQFNXZTQRSVBSPKY<o:p></o:p></p>
<p class=MsoNormal>48 53 45 4e 42 50 50 4b 51 54 50 44 44 42 55
4f HSENBPPKQTPDDBUO<o:p></o:p></p>
<p class=MsoNormal>54 42 42 51 43 57 49 56 52 46 58 4a 55 4a 4a
44 TBBQCWIVRFXJUJJD<o:p></o:p></p>
<p class=MsoNormal>44 4e 54 47 45 49 51 56 44 47 41 49 4a 56 57
43 DNTGEIQVDGAIJVWC<o:p></o:p></p>
<p class=MsoNormal>59 41 55 42 57 45 57 50 4a 56 59 47 45 48 4c
4a YAUBWEWPJVYGEHLJ<o:p></o:p></p>
<p class=MsoNormal>58 45 50 42 50 49 57 55 51 5a 44 5a 55 42 44
55 XEPBPIWUQZDZUBDU<o:p></o:p></p>
<p class=MsoNormal>42 5a 56 41 46 53 50 51 50 51 57 55 5a 49 46
57 BZVAFSPQPQWUZIFW<o:p></o:p></p>
<p class=MsoNormal>4f 56 59 44 44 57 59 56 56 42 55 52 43 5a 4d
47 OVYDDWYVVBURCZMG<o:p></o:p></p>
<p class=MsoNormal>59 4a 47 46 44 58 56 54 4e 55 4e 4e 45 53 4c
53 YJGFDXVTNUNNESLS<o:p></o:p></p>
<p class=MsoNormal>50 4c 57 55 49 55 50 46 58 4c 5a 42 4b 4e 48
4b PLWUIUPFXLZBKNHK<o:p></o:p></p>
<p class=MsoNormal>57 50 50 41 4e 4c 54 43 46 49 52 4a 43 44 44
53 WPPANLTCFIRJCDDS<o:p></o:p></p>
<p class=MsoNormal>4f 5a 4f 59 56 45 47 55 52 46 57 43 53 46 4d
4f OZOYVEGURFWCSFMO<o:p></o:p></p>
<p class=MsoNormal>58 45 51 4d 52 4a 4f 57 52 47 48 57 4c 4b 4f
42 XEQMRJOWRGHWLKOB<o:p></o:p></p>
<p class=MsoNormal>4d 45 41 48 4b 47 43 43 4e 41 45 48 48 53 56
45 MEAHKGCCNAEHHSVE<o:p></o:p></p>
<p class=MsoNormal>59 4d 51 50 58 48 4c 52 4e 55 4e 59 46 44 5a
52 YMQPXHLRNUNYFDZR<o:p></o:p></p>
<p class=MsoNormal>48 42 41 53 4a 45 55 59 47 41 46 4f 55 42 55
54 HBASJEUYGAFOUBUT<o:p></o:p></p>
<p class=MsoNormal>50 4e 49 4d 55 57 46 4a 51 53 4a 58 56 4b 51
44 PNIMUWFJQSJXVKQD<o:p></o:p></p>
<p class=MsoNormal>4f 52 58 58 56 52 57 43 54 44 53 4e 45 4f 47
56 ORXXVRWCTDSNEOGV<o:p></o:p></p>
<p class=MsoNormal>42 50 4b 58 4c 50 47 44 49 52 42 46 43 52 49
51 BPKXLPGDIRBFCRIQ<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::cleanup_queue,
byte_count = 131400<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::cleanup_queue, after
transfer, bc = 0, all_sent = 0, ml = 1<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::drain_queue_helper,
byte_count = 131400, head_is_empty = 0<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::drain_queue_i,
helper retval = 1<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) -
Transport[11]::send_reply_message_i, preparing to add to queue before leaving<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::handle_output<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::cleanup_queue,
byte_count = 1<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::cleanup_queue, after
transfer, bc = 0, all_sent = 1, ml = 0<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::drain_queue_helper,
byte_count = 1, head_is_empty = 1<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::drain_queue_i,
helper retval = 1<o:p></o:p></p>
<p class=MsoNormal>TAO (28497|3084175040) - Transport[11]::handle_output,
drain_queue returns 0/12<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>The data contents are OK, it’s random text data.
The client reports success in receiving the data, but the server crashes.
With one byte less of data, it results in the initial transmission of 131400
bytes, and the system doesn’t have to loop to send the remainder of the
data, and the server works. 131401 bytes to send, it sends the first
131400, eventually is able to send the last byte of data, and then crashes.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>Regards,<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'> <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>Andre
Kostur<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>Incognito
Software Inc.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>Senior
Software Design Engineer<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>T:
+1(604)678-2864<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>F:
+1(604)688-4339<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'>E: <a
href="mailto:akostur@incognito.com">akostur@incognito.com</a><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'> <o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.5pt;font-family:Consolas'><a
href="http://www.incognito.com">www.incognito.com</a><o:p></o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>