Hello Davi!
* Davi Arnaut <davi@stripped> [08/05/07 22:11]:
> ChangeSet@stripped, 2008-05-07 15:03:16-03:00, davi@stripped +1 -0
> Fix for a sporadic crash of the server when displaying table locks.
May be it makes sense to report this crash as a bug? This will
allow people who will encounter the same problem notice that
there is a fix for it.
Also it is nice to mention both here and in bug-report what
user actions/commands can lead to this crash -- invoking
"mysqladmin debug" command or sending SIGHUP to server.
Finally how about mentioning that crash occurs only in debug
builds and for production builds we have simply undefined
behavior?
> The problem is that a lock (mutex) could be destroyed before being
> removed from the list of locks in use, causing a race condition
> with other threads iterating over the the list. The solution is
> to destroy the mutex after removing it from the list.
I think the above paragraph is mixing up a lock object and a mutex that
protects it. How about making it a bit more clear by rewriting it as:
"The problem was that a mutex that protects a lock object (THR_LOCK)
might have been destroyed before lock object was removed from the
list of locks in use, causing a race condition with other threads
iterating over the list. The solution is to destroy the mutex only
after removing lock object from the list."
>
> mysys/thr_lock.c@stripped, 2008-05-07 15:03:14-03:00, davi@stripped +1 -1
> Destroy the mutex after removing it from the list.
Same here...
IMO it is OK to push this patch after considering/fixing above issues.
--
Dmitry Lenev, Software Developer
MySQL AB, www.mysql.com
Are you MySQL certified? http://www.mysql.com/certification