Hi, Kristian! On Apr 23, Kristian Nielsen wrote: > > I was looking at a Valgrind warning in Buildbot (appended below). > > Thread 1 is running SHOW PROCESSLIST, it grabs the pointer THD::db to > the current database of thread 2. > Thread 2 then does THD::set_db(), freeing the old THD::db pointer and > allocating a new one with the new data. > Thread 1 then resumes, doing strdup() of the _old_, now invalid, > THD::db pointer, which reads garbage data (or could even segfault if > we get really unlucky). > > This seems like a genuine bug. I see absolutely no locking protecting > against this race :-( > > Any suggestions for how to deal with this?
I'd say, let's use a fixed buffer in 5.1-5.5. In 10.0 a better way would be to use Sergey Petrunia's APC subsystem for that. Regards, Sergei _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp

