List index out of bounds (24)

lemon_juice's profile image lemon_juice posted 14 years ago in General Permalink
Today I got this crash:

date/time : 2010-10-13, 09:47:28, 296ms
computer name : KOTY
user name : Michal <admin>
registered owner : XXX
operating system : Windows XP Dodatek Service Pack 3 build 2600
system language : Polish
system up time : 54 minutes 53 seconds
program up time : 13 minutes 41 seconds
processor : AMD Athlon(tm) XP 3000+
physical memory : 431/1279 MB (free/total)
free disk space : (D:) 1,40 GB
display mode : 1680x1050, 32 bit
process id : $e3c
allocated memory : 22,45 MB
executable : heidisql.exe
exec. date/time : 2010-10-08 23:40
version : 5.1.0.3560
compiled with : Delphi 2010
madExcept version : 3.0k
callstack crc : $db82bfa4, $93d04af3, $93d04af3
exception number : 1
exception class : EStringListError
exception message : List index out of bounds (24).

main thread ($108):
004904c0 heidisql.exe Classes TStringList.Get
006d4430 heidisql.exe Main 7768 +3 TMainForm.ListDatabasesGetText
006300b8 heidisql.exe VirtualTrees TCustomVirtualStringTree.DoGetText
0062f424 heidisql.exe VirtualTrees TCustomVirtualStringTree.GetText
006d3e40 heidisql.exe Main 7656 +8 TMainForm.ListDatabasesBeforeCellPaint
0061bd7b heidisql.exe VirtualTrees TBaseVirtualTree.DoBeforeCellPaint
0062361a heidisql.exe VirtualTrees TBaseVirtualTree.PrepareCell
0062b084 heidisql.exe VirtualTrees TBaseVirtualTree.PaintTree
006229c4 heidisql.exe VirtualTrees TBaseVirtualTree.Paint
00544e63 heidisql.exe Controls TCustomControl.PaintWindow
0053f5e1 heidisql.exe Controls TWinControl.PaintHandler
0053fdc0 heidisql.exe Controls TWinControl.WMPaint
00544dfd heidisql.exe Controls TCustomControl.WMPaint
0061993d heidisql.exe VirtualTrees TBaseVirtualTree.WMPaint
0053ab60 heidisql.exe Controls TControl.WndProc
0053dd41 heidisql.exe Controls TWinControl.Broadcast
00541434 heidisql.exe Controls TWinControl.CMFocusChanged
0053ab60 heidisql.exe Controls TControl.WndProc
0053f428 heidisql.exe Controls TWinControl.WndProc
00625288 heidisql.exe VirtualTrees TBaseVirtualTree.WndProc
0053eac8 heidisql.exe Controls TWinControl.MainWndProc
0049a524 heidisql.exe Classes StdWndProc
7c90e470 ntdll.dll KiUserCallbackDispatcher
7e37a034 USER32.dll CallWindowProcW
0053f528 heidisql.exe Controls TWinControl.DefaultHandler
0053ab60 heidisql.exe Controls TControl.WndProc
0053f428 heidisql.exe Controls TWinControl.WndProc
0053eac8 heidisql.exe Controls TWinControl.MainWndProc
0049a524 heidisql.exe Classes StdWndProc
7e3792de USER32.dll SendMessageW
004fc440 heidisql.exe ComCtrls TCustomTabControl.SetTabIndex
004fe15e heidisql.exe ComCtrls TPageControl.SetTabIndex
004fdad4 heidisql.exe ComCtrls TPageControl.SetActivePage
006d85a7 heidisql.exe Main 8979 +3 TMainForm.SetMainTab
006d0bf9 heidisql.exe Main 6618 +17 TMainForm.DBtreeFocusChanged
0061cbfa heidisql.exe VirtualTrees TBaseVirtualTree.DoFocusChange
0061567f heidisql.exe VirtualTrees TBaseVirtualTree.SetFocusedNode
0074a3b9 heidisql.exe helpers 2111 +2 SelectNode
006bf2cd heidisql.exe Main 1817 +11 TMainForm.actDisconnectExecute
00499e77 heidisql.exe Classes TBasicAction.Execute
00555e39 heidisql.exe ActnList TContainedAction.Execute
00556bf4 heidisql.exe ActnList TCustomAction.Execute
00499d3b heidisql.exe Classes TBasicActionLink.Execute
0053b0b4 heidisql.exe Controls TControl.Click
00508508 heidisql.exe ComCtrls TToolButton.Click
0053b571 heidisql.exe Controls TControl.WMLButtonUp
0053ab60 heidisql.exe Controls TControl.WndProc
0053f428 heidisql.exe Controls TWinControl.WndProc
00562128 heidisql.exe Forms TCustomForm.WndProc
0053a784 heidisql.exe Controls TControl.Perform
0053ebc0 heidisql.exe Controls GetControlAtPos
0053ec8a heidisql.exe Controls TWinControl.ControlAtPos
0053a784 heidisql.exe Controls TControl.Perform
0053ed54 heidisql.exe Controls TWinControl.IsControlMouseMsg
0053f2a4 heidisql.exe Controls TWinControl.WndProc
0050cf68 heidisql.exe ComCtrls TToolBar.WndProc
0053eac8 heidisql.exe Controls TWinControl.MainWndProc
0049a524 heidisql.exe Classes StdWndProc
7e368a0b USER32.dll DispatchMessageW
0056b229 heidisql.exe Forms TApplication.ProcessMessage
0056b26e heidisql.exe Forms TApplication.HandleMessage
0056b599 heidisql.exe Forms TApplication.Run
007a6742 heidisql.exe heidisql 66 +15 initialization

I can reproduce it but I don't know if you will be able to because it happens only with one database server - let's call it B. Here are the steps:

1. Open a connection to any server (let's say server A)
2. Open another connection in the same window to server B
3. Navigate to the first tab saying "Host: ..."
4. Open the "Databases" tab below
5. Select any database from the list by double clicking - the database will be opened
6. Press the close database button on the toolbar - the crash window appears. Pressing "continue" causes the same crash indefinitely.

Unfortunately I can't give you access to the problematic database server, I don't know why it happens only on that one. There are 26 databases with about 2GB of data total.
ansgar's profile image ansgar posted 14 years ago Permalink
No need for access to your server - always happens when you close a connection to a server with more databases (B) than the other server (A) has. Will check that - easy to fix.
Code modification/commit from ansgar.becker, 14 years ago, revision 5.1.0.3567
Fix EStringListError when disconnecting from a server with many databases, having the ListDatabases open, and switching to a server with less databases. See http://www.heidisql.com/forum.php?t=6594
ansgar's profile image ansgar posted 14 years ago Permalink
Should be fixed in the latest build.
lemon_juice's profile image lemon_juice posted 14 years ago Permalink
It is fixed, thanks!

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