Bug #58618 Warning: found too many locks at read: read lock with no write locks
Submitted: 1 Dec 2010 4:52 Modified: 5 Dec 2010 8:29
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Locking Severity:S3 (Non-critical)
Version:5.1.55-debug,5.5.9-debug OS:Any
Assigned to: CPU Architecture:Any

[1 Dec 2010 4:52] Shane Bester
Description:
Version: '5.5.9-valgrind-max-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: enter read_lock
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: enter read_lock
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: enter read_lock
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: enter read_lock
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: enter read_lock

How to repeat:
no simple testcase yet.  seen while running large joins against tables/views, same test as in bug 58604
[5 Dec 2010 6:16] MySQL Verification Team
testcase. import into debug build and check error log mesages.

Attachment: bug58618.sql (, text), 131.14 KiB.

[5 Dec 2010 6:17] MySQL Verification Team
i got:

Version: '5.1.55-valgrind-max-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
[New Thread 0x7ffff40a7710 (LWP 27023)]
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: start of release lock

and

Version: '5.5.9-valgrind-max-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
[New Thread 0x7ffff406d710 (LWP 27322)]
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: start of release lock
[5 Dec 2010 6:49] MySQL Verification Team
As the query in testcase clearly shows, the query is very complex.  My application had a bug that let it recurse into too many joins and subqueries.  I'll fix that.  

So I can conclude this bug is truly a "corner case" and doesn't affect normal testing that much.
[5 Dec 2010 8:29] Valeriy Kravchuk
Verified on Mac OS X:

...
101205 10:24:04 [Note] /Users/openxs/dbs/5.1/libexec/mysqld: ready for connections.
Version: '5.1.54-debug'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution
Warning: found too many locks at read: read lock with no write locks
Warning: found too many locks at read: start of release lock