Bug #40754 | killing mysql_refresh with REFRESH_GRANT causes debug assertion | ||
---|---|---|---|
Submitted: | 14 Nov 2008 20:20 | Modified: | 28 Nov 2012 9:04 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: General | Severity: | S1 (Critical) |
Version: | 5.1.29, 5.1.30-debug | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | KILL, mysql_refresh, REFRESH_GRANT |
[14 Nov 2008 20:20]
Shane Bester
[14 Nov 2008 22:18]
MySQL Verification Team
Release binary prints this: 081115 0:14:42 [ERROR] Fatal error: Can't open and lock privilege tables: 081115 0:14:42 [ERROR] Can't open and lock privilege tables: 081115 0:15:19 [ERROR] Fatal error: Can't open and lock privilege tables: 081115 0:15:19 [ERROR] Can't open and lock privilege tables:
[14 Nov 2008 22:45]
MySQL Verification Team
crashes release binary as well. it takes longer. 0050B2D2 mysqld.exe!get_access()[sql_acl.cc:773] 0050EAA9 mysqld.exe!acl_load()[sql_acl.cc:589] 0050F19D mysqld.exe!acl_reload()[sql_acl.cc:719] 0054C9BE mysqld.exe!reload_acl_and_cache()[sql_parse.cc:6561] 00559962 mysqld.exe!dispatch_command()[sql_parse.cc:1355] 0055A36A mysqld.exe!do_command()[sql_parse.cc:809] 005E020B mysqld.exe!handle_one_connection()[sql_connect.cc:1115] 0064537B mysqld.exe!pthread_start()[my_winthread.c:85] 00731B6A mysqld.exe!_threadstart()[thread.c:196] 7D4DFFF1 kernel32.dll!FlsSetValue() Trying to get some variables. Some pointers may be invalid and cause the dump to abort... thd->query at 00000000=(null) Crash is in get_access() in this line: for (pos=form->field+fieldnr, bit=1; *pos && (*pos)->real_type() == MYSQL_TYPE_ENUM && ((Field_enum*) (*pos))->typelib->count == 2 ; pos++, fieldnr++, bit<<=1)
[28 Nov 2008 17:03]
MySQL Verification Team
to repeat: thread 1: mysql_refresh(db,REFRESH_GRANT|REFRESH_LOG|REFRESH_TABLES|REFRESH_HOSTS |REFRESH_STATUS|REFRESH_THREADS|REFRESH_SLAVE|REFRESH_MASTER); thread 2: kill <id of thread 1> make sure both threads have auto_reconnect enabled too ..
[4 Dec 2008 16:42]
MySQL Verification Team
testcase.. compile and run against local server - needs speedy connect times
Attachment: bug40754.c (text/plain), 6.75 KiB.
[5 May 2009 10:38]
MySQL Verification Team
Maybe related. I got this, without running KILL... 5.1.34 release build: mysqld.exe!mark_real_tables_as_free_for_reuse()[sql_base.cc:5061] mysqld.exe!lock_tables()[sql_base.cc:5396] mysqld.exe!open_and_lock_tables_derived()[sql_base.cc:4998] mysqld.exe!acl_reload()[sql_acl.cc:702] mysqld.exe!reload_acl_and_cache()[sql_parse.cc:6735] mysqld.exe!dispatch_command()[sql_parse.cc:1423] mysqld.exe!vio_timeout()[viosocket.c:416] mysqld.exe!do_command()[sql_parse.cc:861] mysqld.exe!handle_one_connection()[sql_connect.cc:1115] mysqld.exe!pthread_start()[my_winthread.c:85] mysqld.exe!_callthreadstart()[thread.c:293] t some variables. s may be invalid and cause the dump to abort... t 00000000=(null) id=5 NOT_KILLED
[28 Nov 2012 9:04]
Nisha Padmini Gopalakrishnan
Fixed as part of bug #33982 in revision 5.1.44