bug in 6003991

bgreene posted 6 years ago in General
was working on a table in one connection. opened another connection, changed a field in that table, pressed down arrow to save changes, closed that connection, clicked on the table i was previously viewing in the first connection and crash

date/time : 2011-12-22, 19:23:47, 203ms
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 : 11 hours 23 minutes
program up time : 8 hours 43 minutes
processor : AMD Athlon(tm) 64 Processor 3800+
physical memory : 2484/3582 MB (free/total)
free disk space : (C:) 413.94 GB
display mode : 1280x1024, 32 bit
process id : $1514
allocated memory : 11.32 MB
executable : heidisql.exe
exec. date/time : 2011-12-22 10:40
version :
compiled with : Delphi XE
madExcept version : 3.0m beta 1
callstack crc : $00000000, $b334d614, $b334d614
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00000000. Read of address 00000000.

main thread ($10a0):
00000000 ???
00736525 heidisql.exe dbconnection 3274 +2 TMySQLQuery.Destroy
004058d8 heidisql.exe System 548 +0 TObject.Free
007d3e33 heidisql.exe Main 4156 +105 TMainForm.DataGridBeforePaint
00625a4b heidisql.exe VirtualTrees TBaseVirtualTree.DoBeforePaint
006344d1 heidisql.exe VirtualTrees TBaseVirtualTree.PaintTree
0062c5f7 heidisql.exe VirtualTrees TBaseVirtualTree.Paint
004f2fdf heidisql.exe Controls TCustomControl.PaintWindow
004ed739 heidisql.exe Controls TWinControl.PaintHandler
004edf18 heidisql.exe Controls TWinControl.WMPaint
004f2f79 heidisql.exe Controls TCustomControl.WMPaint
00623191 heidisql.exe VirtualTrees TBaseVirtualTree.WMPaint
004e8cbc heidisql.exe Controls TControl.WndProc
004e95e2 heidisql.exe Controls TControl.WMMouseMove
004e8cbc heidisql.exe Controls TControl.WndProc
004ed580 heidisql.exe Controls TWinControl.WndProc
0062ef30 heidisql.exe VirtualTrees TBaseVirtualTree.WndProc
004ecc20 heidisql.exe Controls TWinControl.MainWndProc
004ab4d8 heidisql.exe Classes StdWndProc
7c90e470 ntdll.dll KiUserCallbackDispatcher
ansgar posted 6 years ago
Hm shit. That's because the connection is required for calling mysql_free_result when the connection is already freed. I could surely add some try/except block here but that would leave potentially huge grid results in memory. So I'll probably unbind mysql_free_result and friends from the connection object.

See also: r3979 and r3981.
ansgar posted 6 years ago
Oh I just see you also gave the similar hint for why i committed r3981.

Could you please file a bug report mentioning the AV in TMySQLQuery.Destroy? Thanks!
ansgar posted 6 years ago
Oh I found the bug was already posted - no need to post it again. See issue #2647.
bgreene posted 6 years ago
Ah Anse, have a glass of wine and go to bed. Its 2321, you have a right to sleep. The world wont stop turning just because of this little typo 8=)
ansgar posted 6 years ago
Fixed now.

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