List:MySQL++« Previous MessageNext Message »
From:gary clark Date:January 2 2007 9:57pm
Subject:Re: using the 'use' query.
View as plain text  
Hello,

Not sure what is going on but I think I have found the
memory leak when running on windows using the purify
tool from IBM.

I see Memory leak when calling the below code.
new(UINT)
[f:\rtm\vctools\crt_bld\self_x86\crt\src\xiosbase.514]

std::ios_base::Init(void)[f:\rtm\vctools\crt_bld\self_x86\crt\src\xiobase

std::basic_ios<char,char_traits<char>::std>::init(basic_streambuf(char,char_traits<char>::std>::std
*,bool)


Ok this is why the leak occurred. I was using the
below statement.

mysqlpp::Query query = con.query();

The query is being created every time which inturn
creates an ostream which results in a leak. The query
object I now pass as a reference and then reset the
blighter which avoids the leak since only instantiated
once.

Thanks,
Garyc




--- gary clark <burslem2001@stripped> wrote:

> 
> Hello,
> 
   5> I still believe there is a small leak. I see 8K
> increments not everytime
> the below code is called. It sounds like a race
> condition in mysqlpp.
> Has anyone attempted to 'purify' this code to
> validate
> whether the methods leak? When the 'use' statement
> is
> not used and I dont cycle through the table rows
> which
> results in an eventual exception 'end of results'
> then
> there is no leak.
> 
> I'm going to try to get a version of purify  next
> week
> and run this
> code through it.
> 
> Thanks,
> Garyc
> --- gary clark <burslem2001@stripped> wrote:
> 
> > 
> > --- gary clark <burslem2001@stripped> wrote:
> > 
> > > 
> > > Thanks Alex for the quick response. I see end of
> > > "end
> > > of results" message being dumped out. I can that
> > it
> > > cycle through all the possible rows and collect
> > the
> > > data. But catching "end of results"? and the
> leak?
> > > 
> > > Any ideas.
> > > 
> > > Thanks,
> > > Garyc
> > > 
> > > 
> > > --- Alex Burton <alexibu@stripped> wrote:
> > > 
> > > > substitute
> > > > cout << er.what() << endl;
> > > > for
> > > > >    cout << "Failed Dude! " << endl;
> > > > and you might know what the exception was
> > > > 
> > > > On 30/12/2006, at 9:58 AM, gary clark wrote:
> > > > 
> > > > >
> > > > > Hello,
> > > > >
> > > > > Running mysqlpp 2.1.1 on Windows XP and 5.0
> > > mysql.
> > > > >
> > > > > Been trying tracking down what appears to be
> a
> > > > leak. A
> > > > > wee bit bizarre.
> > > > >
> > > > > I have a column in a mysql database called
> > > > messageData
> > > > > is a VARCHAR(4096).
> > > > >
> > > > > I have the following code extract:
> > > > >
> > > > > mysqlpp::Query query = _con.query();
> > > > > mysqlpp::ResUse res = query.use();
> > > > >
> > > > > mysqlpp::Row row;
> > > > > try {
> > > > >
> > > > >       if (res)
> > > > >       {
> > > > >          while(row=res,fetch_row())
> > > > >          {
> > > > >          }
> > > > >       }
> > > > > }
> > > > > catch (exception & er)
> > > > > {
> > > > >    cout << "Failed Dude! " << endl;
> > > > >    return 0;
> > > > > }
> > > > >
> > > > > Seems straightforward. It always ends up
> going
> > > to
> > > > > "Failed Dude".
> > > > > It then pops a leak. I commented out the
> above
> > > > code
> > > > > and it no longer leaks.
> > > > >
> > > > > Can somebody be so kind to enlighten me on
> > what
> > > I
> > > > > assume to be misuse of the above so I can
> > avoid
> > > > the
> > > > > leak.
> > > > >
> > > > > Thanks,
> > > > > Garyc
> > > > >
> > > > >
> > > > >
> > > > > --  
> > > > > MySQL++ Mailing List
> > > > > For list archives:
> > > http://lists.mysql.com/plusplus
> > > > > To unsubscribe:   
> > > > http://lists.mysql.com/plusplus? 
> > > > > unsub=alexibu@stripped
> > > > >
> > > > 
> > > > 
> > > 
> > > 
> > 
> > 
> 
> 
> -- 
> MySQL++ Mailing List
> For list archives: http://lists.mysql.com/plusplus
> To unsubscribe:   
>
http://lists.mysql.com/plusplus?unsub=1
> 
> 

Thread
error C2065: 'ulong' : undeclared identifier during buildIan Miller29 Dec
  • Re: error C2065: 'ulong' : undeclared identifier during buildWarren Young29 Dec
    • using the 'use' query.gary clark29 Dec
    • Re: error C2065: 'ulong' : undeclared identifier during buildIan Miller30 Dec
Re: using the 'use' query.gary clark30 Dec
Re: using the 'use' query.gary clark31 Dec
  • Re: using the 'use' query.gary clark2 Jan
    • Re: using the 'use' query.Matt Dargavel3 Jan
      • Re: using the 'use' query.gary clark3 Jan
      • Re: using the 'use' query.gary clark3 Jan
      • Re: using the 'use' query.gary clark3 Jan
        • Re: using the 'use' query.Warren Young3 Jan
          • Re: using the 'use' query.gary clark3 Jan
            • Re: using the 'use' query.Warren Young5 Jan
              • Re: using the 'use' query.gary clark5 Jan
                • Conversion Errorgary clark6 Jan
                  • Re: Conversion ErrorWarren Young6 Jan