repeatable crash

[expired user #5583]'s profile image [expired user #5583] posted 13 years ago in General Permalink
1. connect to a local mysql server, no db nodes expanded
2. connect to a remote mysql server,open a db node and click on a table to see the structure
3. click the close speedbarbutton to close the remote connection
4. right click a db in the local server
5. click create new table
6. crash - repeated several times
date/time : 2011-06-13, 17:46:47, 703ms
computer name : KLEESERVER
user name : Bill <admin>
registered owner : Bill
operating system : Windows XP Service Pack 3 build 2600
system language : English
system up time : 9 hours 44 minutes
program up time : 52 minutes 18 seconds
processor : AMD Athlon(tm) 64 Processor 3800+
physical memory : 2415/3582 MB (free/total)
free disk space : (C:) 415.72 GB
display mode : 1280x1024, 32 bit
process id : $f50
allocated memory : 13.10 MB
executable : heidisql.exe
exec. date/time : 2011-06-04 12:06
version : 6.0.0.3867
compiled with : Delphi XE
madExcept version : 3.0m beta 1
callstack crc : $c664e309, $17ad8dff, $17ad8dff
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00739C0B in module 'heidisql.exe'. Read of address 00000004.

main thread ($334):
00739c0b heidisql.exe dbconnection 785 +1 TConnectionParameters.GetNetTypeGroup
0069bbbb heidisql.exe table_editor 969 +6 TfrmTableEditor.CellEditingAllowed
0069b699 heidisql.exe table_editor 856 +3 TfrmTableEditor.listColumnsBeforeCellPaint
0063727f heidisql.exe VirtualTrees TBaseVirtualTree.DoBeforeCellPaint
0063eb56 heidisql.exe VirtualTrees TBaseVirtualTree.PrepareCell
006467fc heidisql.exe VirtualTrees TBaseVirtualTree.PaintTree
0063df01 heidisql.exe VirtualTrees TBaseVirtualTree.Paint
004f328b heidisql.exe Controls TCustomControl.PaintWindow
004ed9e5 heidisql.exe Controls TWinControl.PaintHandler
004ee1c4 heidisql.exe Controls TWinControl.WMPaint
004f3225 heidisql.exe Controls TCustomControl.WMPaint
00634df5 heidisql.exe VirtualTrees TBaseVirtualTree.WMPaint
0063b1e4 heidisql.exe VirtualTrees TBaseVirtualTree.HandleHotTrack
004e8f68 heidisql.exe Controls TControl.WndProc
004e988e heidisql.exe Controls TControl.WMMouseMove
004e8f68 heidisql.exe Controls TControl.WndProc
004ed82c heidisql.exe Controls TWinControl.WndProc
006407dc heidisql.exe VirtualTrees TBaseVirtualTree.WndProc
004ececc heidisql.exe Controls TWinControl.MainWndProc
004ab73c heidisql.exe Classes StdWndProc
7c90e470 ntdll.dll KiUserCallbackDispatcher
004ecef8 heidisql.exe Controls TWinControl.MainWndProc
7c90e485 ntdll.dll KiUserExceptionDispatcher
0069b699 heidisql.exe table_editor 856 +3 TfrmTableEditor.listColumnsBeforeCellPaint
0063727f heidisql.exe VirtualTrees TBaseVirtualTree.DoBeforeCellPaint
0063eb56 heidisql.exe VirtualTrees TBaseVirtualTree.PrepareCell
006467fc heidisql.exe VirtualTrees TBaseVirtualTree.PaintTree
0063df01 heidisql.exe VirtualTrees TBaseVirtualTree.Paint
004f328b heidisql.exe Controls TCustomControl.PaintWindow
004ed9e5 heidisql.exe Controls TWinControl.PaintHandler
004ee1c4 heidisql.exe Controls TWinControl.WMPaint
004ee1b7 heidisql.exe Controls TWinControl.WMPaint
004f3225 heidisql.exe Controls TCustomControl.WMPaint
00634df5 heidisql.exe VirtualTrees TBaseVirtualTree.WMPaint
004e8f68 heidisql.exe Controls TControl.WndProc
004ed82c heidisql.exe Controls TWinControl.WndProc
006407dc heidisql.exe VirtualTrees TBaseVirtualTree.WndProc
004ececc heidisql.exe Controls TWinControl.MainWndProc
004ab73c heidisql.exe Classes StdWndProc
7c90e470 ntdll.dll KiUserCallbackDispatcher
004ab73c heidisql.exe Classes StdWndProc
7e42a034 USER32.dll CallWindowProcW
004ed92c heidisql.exe Controls TWinControl.DefaultHandler
004e8f68 heidisql.exe Controls TControl.WndProc
004f07a9 heidisql.exe Controls TWinControl.AdjustSize
004eb96e heidisql.exe Controls DoAdjustSize
00405e86 heidisql.exe System 548 +0 @ClassDestroy
0049c9ac heidisql.exe Classes TList.Destroy
004ebbb7 heidisql.exe Controls TWinControl.AlignControl
004e679c heidisql.exe Controls TControl.RequestAlign
004f07a9 heidisql.exe Controls TWinControl.AdjustSize
004eb96e heidisql.exe Controls DoAdjustSize
00405e86 heidisql.exe System 548 +0 @ClassDestroy
0049c9ac heidisql.exe Classes TList.Destroy
004ececc heidisql.exe Controls TWinControl.MainWndProc
004ab73c heidisql.exe Classes StdWndProc
7c90e470 ntdll.dll KiUserCallbackDispatcher
00550d1c heidisql.exe ComCtrls TPageControl.SetActivePage
007ec45f heidisql.exe Main 9238 +3 TMainForm.SetMainTab
007d6a67 heidisql.exe Main 2979 +3 TMainForm.actCreateDBObjectExecute
004ab097 heidisql.exe Classes TBasicAction.Execute
004d7755 heidisql.exe ActnList TContainedAction.Execute
004d8510 heidisql.exe ActnList TCustomAction.Execute
004aaf5b heidisql.exe Classes TBasicActionLink.Execute
00508fb8 heidisql.exe Menus TMenuItem.Click
0050a4cb heidisql.exe Menus TMenu.DispatchCommand
0050b6aa heidisql.exe Menus TPopupList.WndProc
0050b5f9 heidisql.exe Menus TPopupList.MainWndProc
004ab73c heidisql.exe Classes StdWndProc
7e418a0b USER32.dll DispatchMessageW
005874b3 heidisql.exe Forms TApplication.ProcessMessage
005874f6 heidisql.exe Forms TApplication.HandleMessage
00587821 heidisql.exe Forms TApplication.Run
007ff89f heidisql.exe heidisql 66 +16 initialization


[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
forgot, i'm using heidi 6.0.0.3867
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
and i've 3 screenshots if you want them
ansgar's profile image ansgar posted 13 years ago Permalink
If you report bugs please make sure you are using the latest build. In this case I'm nearly sure these are already fixed in one of the recent commits.
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
just tried with build 3883 and the same crash is repeatable
ansgar's profile image ansgar posted 13 years ago Permalink
I can't get it crashing, I just see the first click on "create new table" does not work properly, the main tab is still hidden. The second click works. But no crash at all here with r3885.
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
nope, still there 3885. when i start heidi,i have the localhost tree with several dbs. all of the nodes are closed.

1. connect to my remote server which expands and shows the only database i have in it at the moment. the db is highlighted.

2. click the only table i have in the remote db. so now this node in the tree is highlighted and the table structure shows on the right hand pane.

3. click the disconnect button, remote node disappears and highlight is now on localhost node.

4. right click a table node on the localhost, leftclick create and crash.

5. have discovered, the crash only occurs if i had clicked the remote table node ie if i just connect to remote server and close it immediately, no crash.
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
Hi, just to keep you informed, this crash still occurs with version 3889
regards, Bill
ansgar's profile image ansgar posted 13 years ago Permalink
I'm nearly sure this one will be fixed when issue #2471 is fixed. Hopefully soon.
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
Great. It's not a problem, I'm not complaining, just wanted to keep you informed. It's a terrific product. Congrats to all who develop it
ansgar's profile image ansgar posted 13 years ago Permalink
Think I have fixed that this morning. We'll see if I again introduced a follow up bug :)
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
3891 still has it 8=(
ansgar's profile image ansgar posted 13 years ago Permalink
Ah, first time I could reproduce this crash, lucky mesmileThink that's some refresh issue on the table editor with old data in the columns list.
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
Hi Anse,just to let you know that ver 3895 still has this bug. When the crash occurs, clicking close on madexcept sends it into a loop so it is something in the tree paint procedure which is causing it. Maybe you could have something like
paint(); serr = 'step0', try doabit; serr = 'step1'; domore; serr = 'step2' etc... except showmessage(serr) end. this way i could see how far it gets in the paint procedure before it crashes. in fact, i dont know what youve programmed it in but if is delphi7 then i can troubleshoot it myself if thats any use
ansgar's profile image ansgar posted 13 years ago Permalink
The problem is the still active table editor with its list of columns, after having disconnected. Then, for a millisecond, a OnPaint event tries to use the old connection to find out if the Unsigned and/or Zerofill attribute is allowed to be checked, which it does by checking whether the connection is MySQL or MSSQL - but the connection is already freed.

Solution will be to destroy any active structur editor (table, view, event, procedure or trigger) on a manual disconnect.
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
wow, you're way ahead of me. many thanks and enjoy your weekend (or whatever is left of it!)
[expired user #5583]'s profile image [expired user #5583] posted 13 years ago Permalink
You fixed it with 3896. Many thanks. Brilliant product, even brillianter(!) support
Code modification/commit from ansgar.becker, 13 years ago, revision 6.0.0.3899
Free object editor previously used by a now disconnected session. Fixes an AV described on http://www.heidisql.com/forum.php?t=8686
ansgar's profile image ansgar posted 13 years ago Permalink
Thanks a lot! r3899 fixes this issue.

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