distal-attribute
distal-attribute
distal-attribute
distal-attribute

Crash on selecting user in User manager

Plasm posted 3 years ago in General
Hi,
I get crashes when I click on 2 users in the User manager. Both user have the same host. The Error Message says, that this user doesn´t have this privilege - but I don´t know which privilege is meant(?) I´m logged in as root@% which have all privileges.

Here´s the report:

date/time : 2012-03-21, 12:32:53, 15ms
computer name : WSJH2
user name : jh <admin>
registered owner : jh
operating system : Windows 7 x64 Service Pack 1 build 7601
system language : German
system up time : 3 hours 45 minutes
program up time : 16 seconds
processors : 2x Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz
physical memory : 1233/3738 MB (free/total)
free disk space : (C:) 205,34 GB
display mode : 1600x1200, 32 bit
process id : $125c
allocated memory : 63,82 MB
executable : heidisql.exe
exec. date/time : 2012-03-21 08:59
version : 7.0.0.4098
compiled with : Delphi XE
madExcept version : 3.0m beta 1
callstack crc : $18ba9f1b, $bb1cfa37, $bb1cfa37
exception number : 1
exception class : EDatabaseError
exception message : SQL Error (1141): Für Benutzer 'root' auf Host 'mb2-0582fd' gibt es keine solche Berechtigung.

main thread ($b0):
00710be2 heidisql.exe dbconnection 1267 +26 TMySQLConnection.Query
0071ab54 heidisql.exe dbconnection 3264 +3 TMySQLQuery.Execute
007138cd heidisql.exe dbconnection 1814 +5 TDBConnection.GetResults
007142f0 heidisql.exe dbconnection 1997 +1 TDBConnection.GetCol
00766e68 heidisql.exe usermanager 489 +44 TUserManagerForm.listUsersFocusChanged
0062680e heidisql.exe VirtualTrees TBaseVirtualTree.DoFocusChange
0062ac34 heidisql.exe VirtualTrees TBaseVirtualTree.HandleMouseDown
004e9370 heidisql.exe Controls TControl.DoMouseDown
00622bac heidisql.exe VirtualTrees TBaseVirtualTree.WMLButtonDown
004e8d18 heidisql.exe Controls TControl.WndProc
004ed5dc heidisql.exe Controls TWinControl.WndProc
0062ef24 heidisql.exe VirtualTrees TBaseVirtualTree.WndProc
004ecc7c heidisql.exe Controls TWinControl.MainWndProc
004ab504 heidisql.exe Classes StdWndProc
761e7885 USER32.dll DispatchMessageW
00575bc7 heidisql.exe Forms TApplication.ProcessMessage
00575c0a heidisql.exe Forms TApplication.HandleMessage
00571569 heidisql.exe Forms TCustomForm.ShowModal
007cf150 heidisql.exe Main 2023 +1 TMainForm.actUserManagerExecute
004aae5f heidisql.exe Classes TBasicAction.Execute
004d7505 heidisql.exe ActnList TContainedAction.Execute
004d82c0 heidisql.exe ActnList TCustomAction.Execute
004aad23 heidisql.exe Classes TBasicActionLink.Execute
004e926c heidisql.exe Controls TControl.Click
0054a38c heidisql.exe ComCtrls TToolButton.Click
004e9729 heidisql.exe Controls TControl.WMLButtonUp
004e8d18 heidisql.exe Controls TControl.WndProc
004e893c heidisql.exe Controls TControl.Perform
004ecd74 heidisql.exe Controls GetControlAtPos
004ece3e heidisql.exe Controls TWinControl.ControlAtPos
004e893c heidisql.exe Controls TControl.Perform
004ecf08 heidisql.exe Controls TWinControl.IsControlMouseMsg
004ed458 heidisql.exe Controls TWinControl.WndProc
0054eddc heidisql.exe ComCtrls TToolBar.WndProc
004ecc7c heidisql.exe Controls TWinControl.MainWndProc
004ab504 heidisql.exe Classes StdWndProc
761e7885 USER32.dll DispatchMessageW
00575bc7 heidisql.exe Forms TApplication.ProcessMessage
00575c0a heidisql.exe Forms TApplication.HandleMessage
00575f35 heidisql.exe Forms TApplication.Run
007fe8fb heidisql.exe heidisql 67 +16 initialization
75da3398 kernel32.dll BaseThreadInitThunk

ansgar posted 3 years ago
Line 489 in usermanager.pas fires a

SHOW GRANTS FOR 'root'@'mb2-0582fd'


You could try and fire that manually - and should end up with the same error message. I guess, there is some data broken in your mysql.user table, but I'm totally unsure. Which server version is it?
Plasm posted 3 years ago
Manually works. Server is 5.5.21.
Seems that this is a user that MySQL inserted itself
ansgar posted 3 years ago
The server inserts users? Well, the hostname does neither look as if it was manually entered nor it looks like a valid hostname. But I didn't knew there is some automatism on the server which does that. Do you know more?
Plasm posted 3 years ago
It´s been installed by mysql_install_db, a mysql-script that is used to create the first initial db. The server ist an embedded linux-device.
I guess, the problem has todo with a mysql start-parameter. The database-server is stared with the -skip-name-resolve option, since it can´t be guaranteed that a DNS-Server is available.
Here are the SQL-lines used in that script. Hope it helps:

CREATE TEMPORARY TABLE tmp_user LIKE user;
set @current_hostname= @@hostname;
INSERT INTO tmp_user VALUES ('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','' FROM dual WHERE LOWER( @current_hostname) != 'localhost';
REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
INSERT INTO tmp_user (host,user) VALUES ('localhost','');
INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE LOWER(@current_hostname ) != 'localhost';
INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0;
DROP TABLE tmp_user;

@hostname is set to MB2-0582fd in another script.
ansgar posted 3 years ago
Hm ok. Only that does not explain the error message after "SHOW GRANTS FOR 'root'@'mb2-0582fd'". Can you reproduce that error, by the way?
Plasm posted 3 years ago
Yes, everytime I click (=select) the user in the User manager. If I then click "continue" in the exception dialog and then choose another user, HeidiSQL asks to save the changes (but there were none).
ansgar posted 3 years ago
You could be so nice and send me a dump of your mysql database. Feel free to remove passwords, although these may cause the above problem.
ansgar posted 3 years ago
[some pm's ...]

Exception for non yet flushed users is caught in r4101.
ansgar posted 3 years ago
[some pm's ...]

--skip-name-resolve server option handled in r4120.

Please login to leave a reply, or register at first.