I running the example &quot;Echo&quot; but there are errors occured. Here is my trace log.<br>Could you please help me to solve the problems? <br>Any help will be greatly appreciate!<br><br>Thanks and Best regards,<br><br>
Running:<br>$./echo<br><br><span style="font-weight: bold;">CODE</span><br><br>#include &lt;iostream&gt;<br>#include &quot;echo.hh&quot;<br>using namespace std;<br><br>class Echo_i : public POA_Echo{<br>public:<br>&nbsp;&nbsp;&nbsp; inline Echo_i(){};
<br>&nbsp;&nbsp;&nbsp; inline ~Echo_i(){};<br>&nbsp;&nbsp;&nbsp; virtual char* echoString(const char* mesg);<br>};<br><br>char * Echo_i::echoString(const char* mesg){<br>&nbsp;&nbsp;&nbsp; return &quot;Hello world&quot;;<br>};<br><br>static void hello(Echo_ptr e)<br>
{<br>&nbsp; if( CORBA::is_nil(e) ) {<br>&nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot;hello: The object reference is nil!\n&quot; &lt;&lt; endl;<br>&nbsp;&nbsp;&nbsp; return;<br>&nbsp; }<br>&nbsp; CORBA::String_var src = (const char*) &quot;Hello!&quot;;<br>&nbsp; // String literals are (char*) rather than (const char*) on some
<br>&nbsp; // old compilers. Thus it is essential to cast to (const char*)<br>&nbsp; // here to ensure that the string is copied, so that the<br>&nbsp; // CORBA::String_var does not attempt to \u2019delete\u2019 the string<br>&nbsp; // literal.
<br>&nbsp; CORBA::String_var dest = e-&gt;echoString(src);<br>&nbsp; cout &lt;&lt; &quot;I said, \&quot;&quot; &lt;&lt; (char*)src &lt;&lt; &quot;\&quot;.&quot; &lt;&lt; endl<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;&lt; &quot;The Echo object replied, \&quot;&quot; &lt;&lt; (char*)dest &lt;&lt;&quot;\&quot;.&quot; &lt;&lt; endl;
<br>};<br><br><br>int main(int argc, char *argv[]){<br>&nbsp;&nbsp;&nbsp; try {<br>&nbsp; // Initialise the ORB.<br>&nbsp; CORBA::ORB_var orb = CORBA::ORB_init(argc, argv);<br>&nbsp; // Obtain a reference to the root POA.<br>&nbsp; //CORBA::Object_var obj = orb-&gt;resolve_initial_references(&quot;RootPOA&quot;);
<br>&nbsp; CORBA::Object_var obj = orb-&gt;resolve_initial_references(&quot;RootPOA&quot;);<br>&nbsp; PortableServer::POA_var poa = PortableServer::POA::_narrow(obj);<br>&nbsp;&nbsp;&nbsp; // We allocate the object on the heap. Since this is a reference
<br>&nbsp;&nbsp;&nbsp; // counted object, it will be deleted by the POA when it is no<br>&nbsp;&nbsp;&nbsp; // longer needed.<br>&nbsp; Echo_i* myecho = new Echo_i();<br>&nbsp; // Activate the object. This tells the POA that this object is<br>&nbsp; // ready to accept requests.
<br>&nbsp; PortableServer::ObjectId_var myechoid = poa-&gt;activate_object(myecho);<br>&nbsp;&nbsp;&nbsp; // Obtain a reference to the object.<br>&nbsp; Echo_var myechoref = myecho-&gt;_this();<br>&nbsp; // Decrement the reference count of the object implementation, so
<br>&nbsp; // that it will be properly cleaned up when the POA has determined<br>&nbsp; // that it is no longer needed.<br>&nbsp; myecho-&gt;_remove_ref();<br>&nbsp; // Obtain a POAManager, and tell the POA to start accepting<br>&nbsp; // requests on its objects.
<br>&nbsp; PortableServer::POAManager_var pman = poa-&gt;the_POAManager();<br>&nbsp; pman-&gt;activate();<br>&nbsp; // Do the client-side call.<br>&nbsp; hello(myechoref);<br>&nbsp; // Clean up all the resources.<br>&nbsp; orb-&gt;destroy();<br>}<br>&nbsp;&nbsp;&nbsp; catch(CORBA::SystemException&amp; ex) {
<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot;Caught CORBA::&quot; &lt;&lt; ex._name() &lt;&lt; endl;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch(CORBA::Exception&amp; ex) {<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot;Caught CORBA::Exception: &quot; &lt;&lt; ex._name() &lt;&lt; endl;
<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch(omniORB::fatalException&amp; fe) {<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot;Caught omniORB::fatalException:&quot; &lt;&lt; endl;<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot; file: &quot; &lt;&lt; fe.file() &lt;&lt; endl;
<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot; line: &quot; &lt;&lt; fe.line() &lt;&lt; endl;<br>&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; cerr &lt;&lt; &quot; mesg: &quot; &lt;&lt; fe.errmsg() &lt;&lt; endl;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; cout &lt;&lt; &quot;Hello world&quot;;<br>
&nbsp;&nbsp;&nbsp; return 0;<br>};<br><br><span style="font-weight: bold;">TRACE LOG</span><br>omniORB: (0) 2007-02-19 23:30:21.586723: Distribution date: Tue Nov 28 13:27:23 GMT 2006 dgrisby<br>omniORB: (0) 2007-02-19 23:30:21.587388: My addresses are: 
<br>omniORB: <a href="http://127.0.0.1">127.0.0.1</a><br>omniORB: <a href="http://192.168.1.5">192.168.1.5</a><br>omniORB: ::1<br>omniORB: (0) 2007-02-19 23:30:21.587681: Maximum supported GIOP version is 1.2<br>omniORB: (0) 2007-02-19 23:30:
21.587922: Native char code sets: ISO-8859-1 UTF-8.<br>omniORB: (0) 2007-02-19 23:30:21.588065: Transmission char code sets: ISO-8859-1(1.2) ISO-8859-1(1.1) ISO-8859-1(1.0) UTF-8(1.2) UTF-8(1.1).<br>omniORB: (0) 2007-02-19 23:30:
21.588175: Native wide char code sets: UTF-16.<br>omniORB: (0) 2007-02-19 23:30:21.588296: Transmission wide char code sets: UTF-16(1.2).<br>omniORB: (0) 2007-02-19 23:30:21.588438: Information: the omniDynamic library is not linked.
<br>omniORB: (0) 2007-02-19 23:30:21.588807: Current configuration is as follows:<br>omniORB:&nbsp;&nbsp; DefaultInitRef (file) = <br>omniORB:&nbsp;&nbsp; DefaultInitRef (args) = <br>omniORB:&nbsp;&nbsp; InitRef = NameService=IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e300000010000000000000060000000010102000c0000003139322e3136382e312e3500f90a00000b0000004e616d6553657276696365000200000000000000080000000100000000545441010000001c00000001000000010001000100000001000105090101000100000009010100
<br>omniORB:&nbsp;&nbsp; abortOnInternalError = 0<br>omniORB:&nbsp;&nbsp; abortOnNativeException = 0<br>omniORB:&nbsp;&nbsp; acceptBiDirectionalGIOP = 0<br>omniORB:&nbsp;&nbsp; acceptMisalignedTcIndirections = 0<br>omniORB:&nbsp;&nbsp; bootstrapAgentHostname = <br>omniORB:&nbsp;&nbsp; bootstrapAgentPort = 900
<br>omniORB:&nbsp;&nbsp; clientCallTimeOutPeriod = 0<br>omniORB:&nbsp;&nbsp; clientConnectTimeOutPeriod = 0<br>omniORB:&nbsp;&nbsp; clientTransportRule = * unix,ssl,tcp<br>omniORB:&nbsp;&nbsp; configFile = /etc/omniORB.cfg<br>omniORB:&nbsp;&nbsp; connectionWatchImmediate = 0
<br>omniORB:&nbsp;&nbsp; connectionWatchPeriod = 50000<br>omniORB:&nbsp;&nbsp; copyValuesInLocalCalls = 1<br>omniORB:&nbsp;&nbsp; diiThrowsSysExceptions = 0<br>omniORB:&nbsp;&nbsp; dumpConfiguration = 1<br>omniORB:&nbsp;&nbsp; endPoint = giop:tcp::<br>omniORB:&nbsp;&nbsp; endPointPublish = addr
<br>omniORB:&nbsp;&nbsp; giopMaxMsgSize = 2097152<br>omniORB:&nbsp;&nbsp; giopTargetAddressMode = KeyAddr<br>omniORB:&nbsp;&nbsp; id = omniORB4<br>omniORB:&nbsp;&nbsp; idleThreadTimeout = 10<br>omniORB:&nbsp;&nbsp; inConScanPeriod = 180<br>omniORB:&nbsp;&nbsp; lcdMode = 0<br>omniORB:&nbsp;&nbsp; maxGIOPConnectionPerServer = 5
<br>omniORB:&nbsp;&nbsp; maxGIOPVersion = 1.2<br>omniORB:&nbsp;&nbsp; maxInterleavedCallsPerConnection = 5<br>omniORB:&nbsp;&nbsp; maxServerThreadPerConnection = 100<br>omniORB:&nbsp;&nbsp; maxServerThreadPoolSize = 100<br>omniORB:&nbsp;&nbsp; maxSocketRecv = 2147483647<br>
omniORB:&nbsp;&nbsp; maxSocketSend = 2147483647<br>omniORB:&nbsp;&nbsp; nativeCharCodeSet = ISO-8859-1<br>omniORB:&nbsp;&nbsp; nativeWCharCodeSet = UTF-16<br>omniORB:&nbsp;&nbsp; objectTableSize = 0<br>omniORB:&nbsp;&nbsp; offerBiDirectionalGIOP = 0<br>omniORB:&nbsp;&nbsp; oneCallPerConnection = 1
<br>omniORB:&nbsp;&nbsp; outConScanPeriod = 120<br>omniORB:&nbsp;&nbsp; poaHoldRequestTimeout = 0<br>omniORB:&nbsp;&nbsp; poaUniquePersistentSystemIds = 1<br>omniORB:&nbsp;&nbsp; principal = [Null]<br>omniORB:&nbsp;&nbsp; scanGranularity = 5<br>omniORB:&nbsp;&nbsp; serverCallTimeOutPeriod = 0
<br>omniORB:&nbsp;&nbsp; serverTransportRule = * unix,ssl,tcp<br>omniORB:&nbsp;&nbsp; strictIIOP = 1<br>omniORB:&nbsp;&nbsp; supportBootstrapAgent = 0<br>omniORB:&nbsp;&nbsp; supportCurrent = 1<br>omniORB:&nbsp;&nbsp; supportPerThreadTimeOut = 0<br>omniORB:&nbsp;&nbsp; tcAliasExpand = 0
<br>omniORB:&nbsp;&nbsp; threadPerConnectionLowerLimit = 9000<br>omniORB:&nbsp;&nbsp; threadPerConnectionPolicy = 1<br>omniORB:&nbsp;&nbsp; threadPerConnectionUpperLimit = 10000<br>omniORB:&nbsp;&nbsp; threadPoolWatchConnection = 1<br>omniORB:&nbsp;&nbsp; traceExceptions = 1
<br>omniORB:&nbsp;&nbsp; traceFile = [stderr]<br>omniORB:&nbsp;&nbsp; traceInvocationReturns = 1<br>omniORB:&nbsp;&nbsp; traceInvocations = 1<br>omniORB:&nbsp;&nbsp; traceLevel = 40<br>omniORB:&nbsp;&nbsp; traceThreadId = 1<br>omniORB:&nbsp;&nbsp; traceTime = 1<br>omniORB:&nbsp;&nbsp; unixTransportDirectory = /tmp/omni-%u
<br>omniORB:&nbsp;&nbsp; unixTransportPermission =&nbsp; 777<br>omniORB:&nbsp;&nbsp; useTypeCodeIndirections = 1<br>omniORB:&nbsp;&nbsp; verifyObjectExistsAndType = 1<br>omniORB: (0) 2007-02-19 23:30:21.589361: Initialising incoming endpoints.<br>omniORB: (0) 2007-02-19 23:30:
21.589529: Instantiate endpoint &#39;giop:tcp::0&#39;<br>omniORB: (0) 2007-02-19 23:30:21.590103: Bind to address ::<br>omniORB: (0) 2007-02-19 23:30:21.590471: Publish specification: &#39;addr&#39;<br>omniORB: (0) 2007-02-19 23:30:
21.590665: Try to publish &#39;addr&#39; for endpoint giop:tcp:<a href="http://192.168.1.5:44206">192.168.1.5:44206</a><br>omniORB: (0) 2007-02-19 23:30:21.590812: Publish endpoint &#39;giop:tcp:<a href="http://192.168.1.5:44206">
192.168.1.5:44206</a>&#39;<br>omniORB: (0) 2007-02-19 23:30:21.591034: Starting serving incoming endpoints.<br>omniORB: (0) 2007-02-19 23:30:21.591384: Adding root&lt;0&gt; (activating) to object table.<br>omniORB: (0) 2007-02-19 23:30:
21.591592: State root&lt;0&gt; (activating) -&gt; active<br>omniORB: (0) 2007-02-19 23:30:21.591820: Creating ref to local: root&lt;0&gt;<br>&nbsp;target id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : IDL:Echo:1.0<br>&nbsp;most derived id: IDL:Echo:1.0<br><span style="background-color: rgb(255, 102, 102);">
omniORB: (0) 2007-02-19 23:30:21.592057: Dispatching local call &#39;echoString&#39; to root&lt;0&gt; (active)</span><br style="background-color: rgb(255, 102, 102);"><span style="background-color: rgb(255, 102, 102);">omniORB: (0) 2007-02-19 23:30:
21.592227: Return from local call &#39;echoString&#39; to root&lt;0&gt; (active)</span><br style="background-color: rgb(255, 102, 102);"><span style="background-color: rgb(255, 102, 102);">*** glibc detected *** ./echo: munmap_chunk(): invalid pointer: 0x0804d620 ***
</span><br>======= Backtrace: =========<br>/lib/libc.so.6(cfree+0x1bb)[0x4930a67b]<br>/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0x41a6fef1]<br>/usr/lib/libstdc++.so.6(_ZdaPv+0x1d)[0x41a6ff4d]<br>./echo[0x804b9a6]<br>./echo[0x804b9c0]
<br>./echo[0x804c06e]<br>./echo[0x804c287]<br>/lib/libc.so.6(__libc_start_main+0xdc)[0x492b6f2c]<br>./echo(__gxx_personality_v0+0x85)[0x804a1c1]<br>======= Memory map: ========<br>0063a000-007a8000 r-xp 00000000 fd:00 190170&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/lib/libomniORB4.so.1.0
<br>007a8000-007b5000 rwxp 0016e000 fd:00 190170&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/lib/libomniORB4.so.1.0<br>007b5000-007b6000 rwxp 007b5000 00:00 0 <br>00a5a000-00a5b000 r-xp 00a5a000 00:00 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [vdso]<br>00ff8000-00ffd000 r-xp 00000000 fd:00 190166&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/lib/libomnithread.so.3.3
<br>00ffd000-00ffe000 rwxp 00004000 fd:00 190166&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/lib/libomnithread.so.3.3<br>08048000-0804f000 r-xp 00000000 fd:00 1201850&nbsp;&nbsp;&nbsp; /root/workspace/echo/Debug/echo<br>0804f000-08050000 rwxp 00006000 fd:00 1201850&nbsp;&nbsp;&nbsp; /root/workspace/echo/Debug/echo
<br>08789000-087aa000 rwxp 08789000 00:00 0 <br>419ae000-419b9000 r-xp 00000000 fd:00 2076850&nbsp;&nbsp;&nbsp; /lib/libgcc_s-4.1.1-20070105.so.1<br>419b9000-419ba000 rwxp 0000a000 fd:00 2076850&nbsp;&nbsp;&nbsp; /lib/libgcc_s-4.1.1-20070105.so.1<br>419bc000-41a9c000 r-xp 00000000 fd:00 168053&nbsp;&nbsp;&nbsp;&nbsp; /usr/lib/libstdc++.so.6.0.8
<br>41a9c000-41a9f000 r-xp 000e0000 fd:00 168053&nbsp;&nbsp;&nbsp;&nbsp; /usr/lib/libstdc++.so.6.0.8<br>41a9f000-41aa1000 rwxp 000e3000 fd:00 168053&nbsp;&nbsp;&nbsp;&nbsp; /usr/lib/libstdc++.so.6.0.8<br>41aa1000-41aa7000 rwxp 41aa1000 00:00 0 <br>488d2000-488eb000 r-xp 00000000 fd:00 2078731&nbsp;&nbsp;&nbsp; /lib/ld-
<a href="http://2.5.so">2.5.so</a><br>488eb000-488ec000 r-xp 00018000 fd:00 2078731&nbsp;&nbsp;&nbsp; /lib/ld-<a href="http://2.5.so">2.5.so</a><br>488ec000-488ed000 rwxp 00019000 fd:00 2078731&nbsp;&nbsp;&nbsp; /lib/ld-<a href="http://2.5.so">2.5.so</a>
<br>492a1000-493d8000 r-xp 00000000 fd:00 2078732&nbsp;&nbsp;&nbsp; /lib/libc-<a href="http://2.5.so">2.5.so</a><br>493d8000-493da000 r-xp 00137000 fd:00 2078732&nbsp;&nbsp;&nbsp; /lib/libc-<a href="http://2.5.so">2.5.so</a><br>493da000-493db000 rwxp 00139000 fd:00 2078732&nbsp;&nbsp;&nbsp; /lib/libc-
<a href="http://2.5.so">2.5.so</a><br>493db000-493de000 rwxp 493db000 00:00 0 <br>493e0000-49405000 r-xp 00000000 fd:00 2078739&nbsp;&nbsp;&nbsp; /lib/libm-<a href="http://2.5.so">2.5.so</a><br>49405000-49406000 r-xp 00024000 fd:00 2078739&nbsp;&nbsp;&nbsp; /lib/libm-
<a href="http://2.5.so">2.5.so</a><br>49406000-49407000 rwxp 00025000 fd:00 2078739&nbsp;&nbsp;&nbsp; /lib/libm-<a href="http://2.5.so">2.5.so</a><br>4940f000-49422000 r-xp 00000000 fd:00 2078734&nbsp;&nbsp;&nbsp; /lib/libpthread-<a href="http://2.5.so">
2.5.so</a><br>49422000-49423000 r-xp 00012000 fd:00 2078734&nbsp;&nbsp;&nbsp; /lib/libpthread-<a href="http://2.5.so">2.5.so</a><br>49423000-49424000 rwxp 00013000 fd:00 2078734&nbsp;&nbsp;&nbsp; /lib/libpthread-<a href="http://2.5.so">2.5.so</a><br>49424000-49426000 rwxp 49424000 00:00 0 
<br>b75b4000-b75b5000 ---p b75b4000 00:00 0 <br>b75b5000-b7fb7000 rw-p b75b5000 00:00 0 <br>b7fc6000-b7fc8000 rw-p b7fc6000 00:00 0 <br>bfad7000-bfaec000 rw-p bfad7000 00:00 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [stack]<br><br>