Bug #35479 Mysql Query browser crashes mysqld on user with select privileges
Submitted: 21 Mar 2008 11:26 Modified: 7 May 2008 20:35
Reporter: Ton Hoogstraten Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.45-community, 5.0.51a OS:Any
Assigned to: CPU Architecture:Any
Tags: Browser, query, show procedure status

[21 Mar 2008 11:26] Ton Hoogstraten
Description:
I'm experiencing a problem with mysqld 5.0.45-community running on Redhat ES 4. A user using the mysql query browser 5.0 r12 on either Windows or Linux with select privileges for a limited number of databases crashes mysqld. If I would grant the user global select privileges on all databases mysqld does not crash.

I can provide the following resolve stack trace on the event in the mysqld.log file:

0x81c2007 handle_segfault + 745
0x93e253 (?)
0x8258870 check_routine_level_acl(THD*, char const*, char const*, bool) + 118
0x81d57b8 check_some_routine_access(THD*, char const*, char const*, bool) + 150
0x82b0968 store_schema_proc(THD*, st_table*, st_table*, char const*, bool, char const*) + 1744
0x82b0d2f fill_schema_proc(THD*, st_table_list*, Item*) + 435
0x82b3b13 get_schema_tables_result(JOIN*, enum_schema_table_state) + 463
0x822536a JOIN::exec() + 1518
0x822737b _Z12mysql_selectP3THDPPP4ItemP13st_table_listjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_sel + 177
0x8227b45 handle_select(THD*, st_lex*, select_result*, unsigned long) + 309
0x81d8daa mysql_execute_command(THD*) + 3178
0x81df4f9 mysql_parse(THD*, char const*, unsigned int, char const**) + 235
0x81e036f dispatch_command(enum_server_command, THD*, char*, unsigned int) + 3309
0x81e0d67 do_command(THD*) + 161
0x81e17a0 handle_one_connection + 2322
0xa42341 (?)
0x99b6fe (?)

I also have the following last line entries in the mysql query log:

6479 Query       SHOW COLUMNS FROM `testtable1`
                   6479 Init DB     test
                   6479 Init DB     test
                   6479 Query       SHOW PROCEDURE STATUS

How to repeat:
-create a user with select privileges with mysql administrator on 1 database.
-Use mysql query browser and unfold the database displaying the tables.
-You will experience a minor delay when doing this. On that moment mysqld has crashed and restarted itself.
[21 Mar 2008 12:04] Valeriy Kravchuk
Thank you for a problem report. Please, try to repeat with a newer version, 5.0.51a, and inform about the results.
[26 Mar 2008 17:20] Ton Hoogstraten
I tried with the latest version (5.0.51a-community) as suggested. The problem remains the same. The mysql query browser crashes the mysqld service. The following is the new stach dump I'm getting:

resolve_stack_dump -s /usr/lib/mysql/mysqld.sym -n mysqld5.0.51.stack |c++filt 

0x81c4317 handle_segfault + 745
0x93e253 (?)
0x825bc40 check_routine_level_acl(THD*, char const*, char const*, bool) + 118
0x81d7b6c check_some_routine_access(THD*, char const*, char const*, bool) + 150
0x82b441c store_schema_proc(THD*, st_table*, st_table*, char const*, bool, char const*) + 1744
0x82b47e3 fill_schema_proc(THD*, TABLE_LIST*, Item*) + 435
0x82b75ff get_schema_tables_result(JOIN*, enum_schema_table_state) + 463
0x822812e JOIN::exec() + 1518
0x822a165 _Z12mysql_selectP3THDPPP4ItemP10TABLE_LISTjR4ListIS1_ES2_jP8st_orderSB_S2_SB_yP13select_resultP18st_select_lex_unitP13st_select + 177
0x822a93d handle_select(THD*, st_lex*, select_result*, unsigned long) + 309
0x81db11e mysql_execute_command(THD*) + 3176
0x81e18ba mysql_parse(THD*, char const*, unsigned int, char const**) + 246
0x81e2766 dispatch_command(enum_server_command, THD*, char*, unsigned int) + 3362
[27 Mar 2008 9:37] Susanne Ebrecht
Please try if you will get the same problems by using our new Workbench tools: http://wb.mysql.com.

Also please try if you will get the same issues when using the MySQL CLI.
[7 Apr 2008 12:17] Ton Hoogstraten
I made some progress with this. It turns out that it looks like a problem with the data itself. If I restore the database to a different server the mysqld service is not crashing. When I restore the mysql table to the test server as well it will crash the system.
[7 Apr 2008 12:59] Susanne Ebrecht
Ton,

does this mean we can close this bug report here?
When its because of your data we can't do anything.

Also please, MySQL 5.0.45 is quite old. Please try our newer version MySQL 5.0.51a and let us know if your issue is gone.
[7 Apr 2008 13:04] Ton Hoogstraten
Yes you can, If you have any ideas/suggestions how I can try and trace down the problem in the  mysql table that would be appreciated.

Thank you,

Ton
[7 Apr 2008 20:35] Sveta Smirnova
Ton,

thank you for the feedback. In my opinion server shouldn't crash even if you have some broken table.

> When I restore the mysql table to the test server as well it will crash the system.

Is bug repeatable if you restore database and just 1 broken table in it? If so, please, attach broken table (*.MYI, *.MYD, *frm files in case of MyISAM) to the report. Also please inidcate operating system do you use.
[7 May 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[23 Dec 2008 18:01] MySQL Verification Team
Ton, please try running mysql_upgrade if this installion was coming from an older version of mysql.  Thanks!