bugreport - crash on database drop

[expired user #7029]'s profile image [expired user #7029] posted 11 years ago in General Permalink
I was dropping some databases and heidi crashed multiple times. Here are the bug reports. Hope it helps.

http://pastebin.com/GDr5a51e

http://pastebin.com/AXbKLTJK

[expired user #7154]'s profile image [expired user #7154] posted 11 years ago Permalink
We noticed the same behaviour in old versions already, but current 8.0.0.4396 still crashes after drop database with the following output:

DROP DATABASE `whatever`;
SHOW DATABASES;
SELECT `DEFAULT_COLLATION_NAME` FROM `information_schema`.`SCHEMATA` WHERE `SCHEMA_NAME`='';
SHOW TABLE STATUS FROM ``;
/* SQL Fehler (1102): Incorrect database name '' */


Bugreport:
http://pastebin.com/download.php?i=WAVZv77j
[expired user #6569]'s profile image [expired user #6569] posted 11 years ago Permalink
I can also confirm this is a persistent and consistent bug in HeidiSQL. Whenever I drop any database, HeidiSQL would crash every time. This is the crash dump I received from HeidiSQL:


date/time : 2013-11-14, 10:07:02, 171ms
computer name : WINPC
user name : foo
registered owner : Windows User
operating system : Windows 7 x64 Service Pack 1 build 7601
system language : English
system up time : 1 hour 25 minutes
program up time : 13 seconds
processors : 2x Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
physical memory : 2862/4095 MB (free/total)
free disk space : (C:) 162.00 GB
display mode : 1680x1050, 32 bit
process id : $1284
allocated memory : 75.55 MB
largest free block : 1.64 GB
executable : heidisql.exe
exec. date/time : 2013-11-14 08:50
version : 8.1.0.4631
compiled with : Delphi XE5
madExcept version : 4.0.8.1
callstack crc : $41fa73ac, $0606a877, $0606a877
exception number : 1
exception class : EArgumentOutOfRangeException
exception message : Argument out of range.

main thread ($1084):
00839f1f heidisql.exe dbconnection 728 +0 {System.Generics.Collections}TList<dbconnection.TDBObject>.GetItem
00932449 heidisql.exe Main 5034 +5 TMainForm.ListTablesInitNode
007018f3 heidisql.exe VirtualTrees 22106 +2 TBaseVirtualTree.DoInitNode
00705af0 heidisql.exe VirtualTrees 24498 +8 TBaseVirtualTree.InitNode
007159c2 heidisql.exe VirtualTrees 34134 +5 TBaseVirtualTree.ValidateNode
0071598f heidisql.exe VirtualTrees 34115 +9 TBaseVirtualTree.ValidateChildren
00714448 heidisql.exe VirtualTrees 33348 +18 TBaseVirtualTree.Sort
0071455a heidisql.exe VirtualTrees 33401 +1 DoSort
00714625 heidisql.exe VirtualTrees 33427 +11 TBaseVirtualTree.SortTree
0070c6d6 heidisql.exe VirtualTrees 28206 +35 TBaseVirtualTree.EndUpdate
00931d97 heidisql.exe Main 4953 +49 TMainForm.ListTablesBeforePaint
007001a3 heidisql.exe VirtualTrees 21198 +2 TBaseVirtualTree.DoBeforePaint
00711645 heidisql.exe VirtualTrees 31781 +5 TBaseVirtualTree.PaintTree
00707375 heidisql.exe VirtualTrees 25419 +22 TBaseVirtualTree.Paint
005ba713 heidisql.exe Vcl.Controls TCustomControl.PaintWindow
005b4a4d heidisql.exe Vcl.Controls TWinControl.PaintHandler
005b5240 heidisql.exe Vcl.Controls TWinControl.WMPaint
005ba6ad heidisql.exe Vcl.Controls TCustomControl.WMPaint
006fd5bd heidisql.exe VirtualTrees 19414 +8 TBaseVirtualTree.WMPaint
005afd61 heidisql.exe Vcl.Controls TControl.WndProc
005b4881 heidisql.exe Vcl.Controls TWinControl.WndProc
0070a5bd heidisql.exe VirtualTrees 27144 +32 TBaseVirtualTree.WndProc
005b3ec4 heidisql.exe Vcl.Controls TWinControl.MainWndProc
0053b3b0 heidisql.exe System.Classes StdWndProc
77bf0107 ntdll.dll KiUserCallbackDispatcher
75800d48 USER32.dll CallWindowProcW
005b4992 heidisql.exe Vcl.Controls TWinControl.DefaultHandler
005afd61 heidisql.exe Vcl.Controls TControl.WndProc
005b2ac7 heidisql.exe Vcl.Controls TWinControl.AlignControl
005ad550 heidisql.exe Vcl.Controls TControl.RequestAlign
005b5a77 heidisql.exe Vcl.Controls TWinControl.RequestAlign
005b7861 heidisql.exe Vcl.Controls TWinControl.AdjustSize
005b287e heidisql.exe Vcl.Controls DoAdjustSize
004a5809 heidisql.exe madExcept InterceptClassDestroy
00520860 heidisql.exe System.Classes TList.Destroy
005b2ac7 heidisql.exe Vcl.Controls TWinControl.AlignControl
005ad550 heidisql.exe Vcl.Controls TControl.RequestAlign
005b5a77 heidisql.exe Vcl.Controls TWinControl.RequestAlign
005b3ec4 heidisql.exe Vcl.Controls TWinControl.MainWndProc
0053b3b0 heidisql.exe System.Classes StdWndProc
757f96c0 USER32.dll SendMessageW
005f2aa0 heidisql.exe Vcl.ComCtrls TCustomTabControl.SetTabIndex
005f47c2 heidisql.exe Vcl.ComCtrls TPageControl.SetTabIndex
005f417c heidisql.exe Vcl.ComCtrls TPageControl.SetActivePage
00944147 heidisql.exe Main 10164 +3 TMainForm.SetMainTab
0093c7f9 heidisql.exe Main 7691 +135 TMainForm.DBtreeFocusChanged
00700f92 heidisql.exe VirtualTrees 21679 +2 TBaseVirtualTree.DoFocusChange
007055ca heidisql.exe VirtualTrees 24334 +243 TBaseVirtualTree.HandleMouseDown
006fd7ef heidisql.exe VirtualTrees 19513 +11 TBaseVirtualTree.WMRButtonDown
005afd61 heidisql.exe Vcl.Controls TControl.WndProc
005b4881 heidisql.exe Vcl.Controls TWinControl.WndProc
0070a5bd heidisql.exe VirtualTrees 27144 +32 TBaseVirtualTree.WndProc
005b3ec4 heidisql.exe Vcl.Controls TWinControl.MainWndProc
0053b3b0 heidisql.exe System.Classes StdWndProc
757f7885 USER32.dll DispatchMessageW
00684ceb heidisql.exe Vcl.Forms TApplication.ProcessMessage
00684d2e heidisql.exe Vcl.Forms TApplication.HandleMessage
00685069 heidisql.exe Vcl.Forms TApplication.Run
0095c96f heidisql.exe heidisql 77 +24 initialization
775c3368 kernel32.dll BaseThreadInitThunk


Please have a look at this problem and remedy, thanks.
[expired user #7426]'s profile image [expired user #7426] posted 11 years ago Permalink
Experienced this also today but noticed that if you expand the database to show the tables first it did not happen.
[expired user #8724]'s profile image [expired user #8724] posted 10 years ago Permalink
Hi.

I don't want to bring up a 2 year old thread, but this is still a issue.
Delete a database that is not expanded, and HeidiSQL will always crash.
ansgar's profile image ansgar posted 10 years ago Permalink
Can confirm that. I'm just spending my Sunday afternoon with finding a fix for that.

The user can avoid running into that crash by first left-clicking the database to delete, and then right-click, plus click on the "Drop" menu item. That way, the list on the right is populated first.

The bug is caused by the fact that the list view is somewhere within the process of displaying tables from the right-clicked database, not yet ready for a drop action which removes the objects which are not even loaded completely.

Probably I will have to introduce a dirty workaround here, as I'm not willing to spend the whole next week on a clean fix.
Code modification/commit b2a0326 from ansgar.becker, 10 years ago, revision 9.1.0.4907
Fix crash when right-clicking a database, following by a click on "Drop". See http://www.heidisql.com/forum.php?t=13004
ansgar's profile image ansgar posted 10 years ago Permalink
Should be fixed in r4907
[expired user #7154]'s profile image [expired user #7154] posted 10 years ago Permalink
Great! Thanks for solving this!
[expired user #8724]'s profile image [expired user #8724] posted 10 years ago Permalink
Thanks! :)

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