Showing entries 11 to 16
« 10 Newer Entries
Displaying posts with tag: valgrind (reset)
An exercise on using valgrind with MySQL on MacOSX
An exercise on using valgrind with MySQL on MacOSX

Valgrind is a very useful tool. This has been recognized by the mysql developers long ago. They've even invested effort into creating a special mode for the mysql test driver (mysql-test-run.pl) to invoke the server tests under valgrind and collect the results.
But the sad fact remains that this is not exactly usable on MacOSX due to immaturity of the valgrind's support for this platform.
Encouraged by the announcement of the return of MacOSX support in valgrind 3.6 I've started periodically giving a try to the latest valgrind version out of the svn on my 64 bit Snow Leopard to see how the things are progressing. I then report the problems that I see to the valgrind developers.
I just concluded the latest round. I've decided to give it some more effort this time and actually went and …

[Read more]
An exercise on using valgrind with MySQL on MacOSX
Debugging memory leaks in plugins with Valgrind

I had an interesting IRC discussion the other day with Monty Taylor about what turned out to be a limitation in Valgrind with respect to debugging memory leaks in dynamically loaded plugins.

Monty Taylor's original problem was with Drizzle, but as it turns out, it is common to all of the MySQL-derived code bases. When there is a memory leak from an allocation in a dynamically loaded plugin, Valgrind will detect the leak, but the part of the stack trace that is within the plugin shows up as an unhelpful three question marks "???":

==1287== 400 bytes in 4 blocks are definitely lost in loss record 5 of 8
==1287==    at 0x4C22FAB: malloc (vg_replace_malloc.c:207)
==1287==    by 0x126A2186: ???
==1287==    by 0x7C8E01: ha_initialize_handlerton(st_plugin_int*) (handler.cc:429)
==1287==    by 0x88ADD6: plugin_initialize(st_plugin_int*) …
[Read more]
Liveblogging at Confoo: [not just] PHP Performance by Rasmus Lerdorf

Most of this stuff is not PHP specific, and Python or Ruby or Java or .NET developers can use the tools in this talk.

The session on joind.in, with user comments/feedback, is at http://joind.in/talk/view/1320.

Slides are at http://talks.php.net/show/confoo10

“My name is Rasmus, I’ve been around for a long time. I’ve been doing this web stuff since 1992/1993.”

“Generally performance is not a PHP problem.” Webservers not config’d, no expire headers on images, no favicon.

Tools: Firefox/Firebug extension called YSlow (developed by yahoo) gives you a grade on your site.

Google has developed the …

[Read more]
Valgrinding Drizzle

Like so many others, I got interested in the Drizzle project when it started. Some good ideas, lots of enthusiasm, and just pure GPL license, no "yes, we will take your work for free and sell proprietary licenses to it" SCA.

I even started contributing some development, fixing a number of Valgrind-detected bugs in Drizzle. I am proud that we kept the MySQL code 100% free of Valgrind errors, and wanted to help keep the same in Drizzle. So I debugged and fixed quite a few of the Valgrind-detected bugs that had crept in since forking from MySQL.

As I remember, I got down to two or three remaining or so. However, I it did discourage me somewhat to see how quickly these bugs had been allowed to enter the code. I remember one case where there was a Drizzle patch that had tried to simplify some field types. As I remember, the patch tried to simplify the code by eliminating some of multiple variants of string types. All well and good, but …

[Read more]
Showing entries 11 to 16
« 10 Newer Entries