<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: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 15 (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;}
/* 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;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></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="WordSection1">
<p class="MsoNormal">Hi Omni Team,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Do you have any update on this?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Sendil<a name="_MailEndCompose"><o:p></o:p></a></p>
<span style="mso-bookmark:_MailEndCompose"></span>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Sendil Natarajan <br>
<b>Sent:</b> Thursday, May 03, 2018 12:39 PM<br>
<b>To:</b> 'omniorb-list@omniorb-support.com' <omniorb-list@omniorb-support.com><br>
<b>Subject:</b> OMNIORB compiled in gcc 4.8.3 version is leaking memory<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have a CORBA based client and server created using OmniORB. My Omni version is 4.2.0 (libomniORB420.a) and I have built the Omni using gcc version GNU gcc-4.8.3. I’m running the Omni in AIX 6.1 platform. I’m seeing memory leak in the
Omni server. The same OMNI code built using xlc compiler version xlc_r 13.1.3 is running fine without the memory issue. So, I wonder if there is any bug in OMNI specific to the gcc version<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Here is my sample code. Please let me know what is wrong here. There are some suggestion found in internet to define TestResult as TestResult_var in server. Even after changing it, I still find the memory leak happening.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Omni IDL:<o:p></o:p></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Typedef sequence<string> Columns;<o:p></o:p></p>
<p class="MsoNormal">Typedef sequence< Columns > Rows;<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Struct TestResult<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal"> Rows table_rows;<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Interface GPSServerManager<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal"> TestResult getTableInfo(in string tableName);<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Omni Client:<o:p></o:p></b></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" style="margin-left:.5in">CORBA::ORB_var orb;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">orb = CORBA::ORB_init(argc,argv,"omniORB4",options);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">GPSServerManager _var gpsServer;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">gpsServer = GPSServerManager::_narrow(obj);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">string tableName = “testable”;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">TestResult* testResult = gpsServer->getTableInfo(tableName);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">If(testResult)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">{<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> // print table info<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> delete testResult;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">}<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">orb->destroy();<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">free(apfServer);<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>Omni Server:<o:p></o:p></b></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">TestResult* GPSServerManager:: getTableInfo(const char* tableName)<o:p></o:p></p>
<p class="MsoNormal">{<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">TestResult* testResult = new TestResult;<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">// get the database table info for the give table<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">int columns = getDataBaseTableColumnCount(tableName);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">int rows = getDataBaseTableRowCount(tableName);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">testResult -> Rows.length(rows);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">for(int i = 0; Ii < rows; i++)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">{<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> testResult -> Rows[i].length(columns);<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> for(int j = 0; j < columns; j++)<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> {<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> testResult-> Rows[i][j] = CORBA::string_dup(getDataBaseTableValue(tableName, i, j));<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"> }<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">}<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">return testResult;<o:p></o:p></p>
<p class="MsoNormal">}<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<br>
Sendil<o:p></o:p></p>
</div>
<p><span style="font-size: 9pt; font-family: 'Calibri',sans-serif; color: #808080;">The content of this message is APPLIED MATERIALS CONFIDENTIAL. If you are not the intended recipient, please notify me, delete this email and do not use or distribute this email.
</span></p>
</body>
</html>