On Tue, Jul 12, 2011 at 7:33 PM, Daniel Nichter <email address hidden> wrote:
> Thanks for working on this. I'm not sure what to do about the valgrind
> warnings; perhaps you can point me in the correct direction. For example:
>
> 464 bytes in 13 blocks are possibly lost in loss record 41 of 52
> at 0x4C28973: operator new(unsigned long) (vg_replace_malloc.c:261)
> by 0x70B9E98: std::string::_Rep::_S_create(unsigned long, unsigned long,
> std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.14)
> by 0x70BA0BD: std::string::_M_mutate(unsigned long, unsigned long,
> unsigned long) (in /usr/lib/libstdc++.so.6.0.14)
> by 0x70BA28B: std::string::_M_replace_safe(unsigned long, unsigned long,
> char const*, unsigned long) (in /usr/lib/libstdc++.so.6.0.14)
> by 0x70BBA8C: std::string::replace(unsigned long, unsigned long, char
> const*, unsigned long) (in /usr/lib/libstdc++.so.6.0.14)
> by 0xC349952: boost::basic_format<char, std::char_traits<char>,
> std::allocator<char> >::parse(std::string const&) (basic_string.h:1493)
> by 0xC3429D6: QueryLoggerFile::QueryLoggerFile() (file.cc:41)
> by 0xC336478:
> drizzle_plugin::init_options(drizzled::module::option_context&)
> (module.cc:159)
> by 0x4EFBA1: drizzled::plugin_load_list(drizzled::module::Registry&,
> drizzled::memory::Root*, std::set<std::string, std::less<std::string>,
> std::allocator<std::string> > const&,
> boost::program_options::options_description&, bool) (loader.cc:502)
> by 0x4F0F53: drizzled::plugin_init(drizzled::module::Registry&,
> boost::program_options::options_description&) (loader.cc:291)
> by 0x44ED1B:
> drizzled::init_remaining_variables(drizzled::module::Registry&)
> (drizzled.cc:1345)
> by 0x4E9978: main (main.cc:273)
>
> Where or what might be the cause of that? It seems related to
> boost::basic_format, but beyond that I'm not sure what needs to be fixed.
>
>
You might want to try to move the code to a simple example and run it with
valgrind, and see if you still see the problem. It looks like the only other
place boost::basic_format is used is in the logging_query plugin which
doesn't have any tests so the warning would not show up in there. A quick
glance of the code and it looked correct.
On Tue, Jul 12, 2011 at 7:33 PM, Daniel Nichter <email address hidden> wrote:
> Thanks for working on this. I'm not sure what to do about the valgrind malloc. c:261) :_Rep:: _S_create( unsigned long, unsigned long, char> const&) (in /usr/lib/ libstdc+ +.so.6. 0.14) :_M_mutate( unsigned long, unsigned long, libstdc+ +.so.6. 0.14) :_M_replace_ safe(unsigned long, unsigned long, libstdc+ +.so.6. 0.14) :replace( unsigned long, unsigned long, char libstdc+ +.so.6. 0.14) basic_format< char, std::char_ traits< char>, char> >::parse( std::string const&) (basic_ string. h:1493) ::QueryLoggerFi le() (file.cc:41) plugin: :init_options( drizzled: :module: :option_ context& ) :plugin_ load_list( drizzled: :module: :Registry& , :memory: :Root*, std::set< std::string, std::less< std::string> , std::string> > const&, program_ options: :options_ description& , bool) (loader.cc:502) :plugin_ init(drizzled: :module: :Registry& , program_ options: :options_ description& ) (loader.cc:291) :init_remaining _variables( drizzled: :module: :Registry& ) basic_format, but beyond that I'm not sure what needs to be fixed.
> warnings; perhaps you can point me in the correct direction. For example:
>
> 464 bytes in 13 blocks are possibly lost in loss record 41 of 52
> at 0x4C28973: operator new(unsigned long) (vg_replace_
> by 0x70B9E98: std::string:
> std::allocator<
> by 0x70BA0BD: std::string:
> unsigned long) (in /usr/lib/
> by 0x70BA28B: std::string:
> char const*, unsigned long) (in /usr/lib/
> by 0x70BBA8C: std::string:
> const*, unsigned long) (in /usr/lib/
> by 0xC349952: boost::
> std::allocator<
> by 0xC3429D6: QueryLoggerFile
> by 0xC336478:
> drizzle_
> (module.cc:159)
> by 0x4EFBA1: drizzled:
> drizzled:
> std::allocator<
> boost::
> by 0x4F0F53: drizzled:
> boost::
> by 0x44ED1B:
> drizzled:
> (drizzled.cc:1345)
> by 0x4E9978: main (main.cc:273)
>
> Where or what might be the cause of that? It seems related to
> boost::
>
>
You might want to try to move the code to a simple example and run it with
valgrind, and see if you still see the problem. It looks like the only other
place boost::basic_format is used is in the logging_query plugin which
doesn't have any tests so the warning would not show up in there. A quick
glance of the code and it looked correct.
> Thanks, jenkins. drizzle. org/view/ Drizzle- build/job/ drizzle- build-ubuntu10. 04-64bit- valgrind/ 759/console thresholds" /code.launchpad .net/~daniel- nichter/ drizzle/ query-log- plugin/ +merge/ 61034<https:/ /code.launchpad .net/%7Edaniel- nichter/ drizzle/ query-log- plugin/ +merge/ 61034> /code.launchpad .net/~daniel- nichter/ drizzle/ query-log- plugin/ +merge/ 61034<https:/ /code.launchpad .net/%7Edaniel- nichter/ drizzle/ query-log- plugin/ +merge/ 61034>
>
> Daniel
>
> Le 12 juil. 2011 à 16:21, Mark Atwood a écrit :
>
> > Review: Needs Fixing
> > Valgrind problems.
> >
> > Refer to
> http://
> >
> > "15 warnings in query_log.
> >
> > We are trying to get the valgrind warning count down to zero.
> > --
> >
> https:/
> > You are the owner of lp:~daniel-nichter/drizzle/query-log-plugin.
>
>
> --
>
> https:/
> You are subscribed to branch lp:drizzle.
>