64bit build available

ansgar's profile image ansgar posted 10 years ago in News Permalink
I'm very proud to serve a 64bit build of heidisql.exe now. My recently bought update to Delphi XE5 magically enabled me to to do so.

This will potentionally, hopefully fix some out-of-memory errors for users with a 64bit Windows and more than 4GB RAM. The 32bit heidisql.exe is not able to allocate more than 3GB (or 4GB, depending on the Windows version).

To get HeidiSQL 64 bit, you just need to download the latest build *installer* once, which automatically installs the right version of HeidiSQL (32/64bit). After installing, you can proceed using the auto-update feature, which will download the right build version according to the heidisql.exe you have installed.

One thing you should do before installing HeidiSQL on a 64bit Windows, is to uninstall the 32bit version of HeidiSQL. Otherwise you will end up in two installations - one in C:\Program Files\ and the unused one in C:\Program Files (x86)\ . They can be installed separately, so that's not a real problem. But you will easily be confused when using your old desktop icon which still goes to the 32bit build.
kalvaro's profile image kalvaro posted 10 years ago Permalink
Here you are a beta tester. I'll report back if I find any issue.
[expired user #7408]'s profile image [expired user #7408] posted 10 years ago Permalink
thank you. Unfortunately I can't even open Heidi without some exceptions on the 64bit build :/
[expired user #7409]'s profile image [expired user #7409] posted 10 years ago Permalink
cool. but i can't open any database-connection anymore without a batch of exceptions...happy
ansgar's profile image ansgar posted 10 years ago Permalink
Hm.. can you send a few of them here? If it's not too much work, only paste the top 5 lines of the callstack here. Please remove the details with the Windows version etc. Thanks!
[expired user #7409]'s profile image [expired user #7409] posted 10 years ago Permalink
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 0000000000A7D8E1 in module 'heidisql.exe'. Read of address 0000000002880000.

main thread ($b7c):
00a7d8e1 heidisql.exe dbconnection 728 +0 {System.Generics.Collections}TList<dbconnection.TDBObject>.GetItem
00a7efde heidisql.exe dbconnection 38 +0 {System.Generics.Collections}TList<dbconnection.TDBObject>.TEnumerator.GetCurrent
00c0cb96 heidisql.exe Main 8926 +3 GetItemCount
00c0ce56 heidisql.exe Main 8947 +12 TMainForm.ListDatabasesGetText
008eacff heidisql.exe VirtualTrees 35268 +2 TCustomVirtualStringTree.DoGetText
elcio.paludo's profile image elcio.paludo posted 10 years ago Permalink
It don´t change nothing... but you forgot to change the description on the ptoject properties (HeidiSQL 8.1.0.4625 32 Bit)
elcio.paludo's profile image elcio.paludo posted 10 years ago Permalink
allocated memory : 45,87 MB
largest free block : 8185,83 GB
executable : heidisql.exe
exec. date/time : 2013-11-13 07:02
version : 8.1.0.4626
compiled with : Delphi XE5
madExcept version : 4.0.8.1
callstack crc : $b35836db, $517d9833, $517d9833
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 0000000000A7D8E1 in module 'heidisql.exe'. Read of address 00000000028E1000.

main thread ($b90):
00a7d8e1 heidisql.exe dbconnection 728 +0 {System.Generics.Collections}TList<dbconnection.TDBObject>.GetItem
00a7efde heidisql.exe dbconnection 38 +0 {System.Generics.Collections}TList<dbconnection.TDBObject>.TEnumerator.GetCurrent
00c0cb96 heidisql.exe Main 8926 +3 GetItemCount
00c0ce56 heidisql.exe Main 8947 +12 TMainForm.ListDatabasesGetText
008eacff heidisql.exe VirtualTrees 35268 +2 TCustomVirtualStringTree.DoGetText
008e971c heidisql.exe VirtualTrees 34775 +7 TCustomVirtualStringTree.GetText
008eac47 heidisql.exe VirtualTrees 35257 +26 TCustomVirtualStringTree.DoGetNodeWidth
008e1d09 heidisql.exe VirtualTrees 32000 +224 TBaseVirtualTree.PaintTree
008d3017 heidisql.exe VirtualTrees 25419 +22 TBaseVirtualTree.Paint
006a3c86 heidisql.exe Vcl.Controls TCustomControl.PaintWindow
0069aa33 heidisql.exe Vcl.Controls TWinControl.PaintHandler
0069b8cf heidisql.exe Vcl.Controls TWinControl.WMPaint
006a3c18 heidisql.exe Vcl.Controls TCustomControl.WMPaint
008c4f51 heidisql.exe VirtualTrees 19414 +8 TBaseVirtualTree.WMPaint
0040ca5e heidisql.exe System TObject.Dispatch
006930d3 heidisql.exe Vcl.Controls TControl.WndProc
0069a79e heidisql.exe Vcl.Controls TWinControl.WndProc
008d791b heidisql.exe VirtualTrees 27144 +32 TBaseVirtualTree.WndProc
006999da heidisql.exe Vcl.Controls TWinControl.MainWndProc
005da313 heidisql.exe System.Classes StdWndProc
774a11f1 ntdll.dll KiUserCallbackDispatcher
77366e67 USER32.dll DispatchMessageW
0081292f heidisql.exe Vcl.Forms TApplication.ProcessMessage
008129a3 heidisql.exe Vcl.Forms TApplication.HandleMessage
00812e8f heidisql.exe Vcl.Forms TApplication.Run
00c349d7 heidisql.exe heidisql 77 +24 initialization
7724652b kernel32.dll BaseThreadInitThunk
ansgar's profile image ansgar posted 10 years ago Permalink
elcio.paludo: Yes, the exe description with "32bit" in it is confusing, and embarrassing. Will check that.

The access violation is the same as reported above, by infaboMoney. But thanks.
elcio.paludo's profile image elcio.paludo posted 10 years ago Permalink
I install the new version and unfortunately Access violation still there.
ansgar's profile image ansgar posted 10 years ago Permalink
Yes... did I say I fixed it? Coming soon...
Code modification/commit from ansgar.becker, 10 years ago, revision 8.1.0.4628
Attempt to fix another 64bit-only access violation. See http://www.heidisql.com/forum.php?t=13962
ansgar's profile image ansgar posted 10 years ago Permalink
Please try r4628 . Not sure if that really fixes it, as the access violation is quite strange, and even not reproducible on 32bit.
[expired user #7410]'s profile image [expired user #7410] posted 10 years ago Permalink
Hello, when I try connect to one server, the software break. here is the bugreport:

date/time : 2013-11-13, 23:38:21, 648ms
computer name : DELL
user name : Dell
registered owner : Dell
operating system : Windows 8 x64 build 9200
system language : Portuguese
system up time : 2 minutes 53 seconds
program up time : 18 seconds
processors : 8x Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
physical memory : 1685/16214 MB (free/total)
free disk space : (C:) 2032,58 GB
display mode : 1920x1080, 32 bit
process id : $868
allocated memory : 101,14 MB
largest free block : 131029,99 GB
executable : heidisql.exe
exec. date/time : 2013-11-13 22:04
version : 8.1.0.4629
compiled with : Delphi XE5
madExcept version : 4.0.8.1
callstack crc : $d23cd070, $a389c71a, $a389c71a
exception number : 1
exception class : Exception
exception message : Acesso negado.

main thread ($efc):
00b54d58 heidisql.exe JumpList 364 +6 TJumpList.CheckResult
00b54ad3 heidisql.exe JumpList 337 +47 TJumpList.ApplyList
00b54690 heidisql.exe JumpList 274 +3 TJumpList.Apply
00be0237 heidisql.exe Main 1304 +35 TMainForm.StoreLastSessions
00beef67 heidisql.exe Main 3464 +88 TMainForm.InitConnection
00b2a9a7 heidisql.exe connections 291 +5 Tconnform.btnOpenClick
00693994 heidisql.exe Vcl.Controls TControl.Click
006cb2b6 heidisql.exe Vcl.StdCtrls TCustomButton.Click
006cc2d2 heidisql.exe Vcl.StdCtrls TCustomButton.CNCommand
0040ca5e heidisql.exe System TObject.Dispatch
006930d3 heidisql.exe Vcl.Controls TControl.WndProc
0069a79e heidisql.exe Vcl.Controls TWinControl.WndProc
006cad00 heidisql.exe Vcl.StdCtrls TButtonControl.WndProc
00692bb0 heidisql.exe Vcl.Controls TControl.Perform
0069a999 heidisql.exe Vcl.Controls DoControlMsg
0069bd13 heidisql.exe Vcl.Controls TWinControl.WMCommand
00808db8 heidisql.exe Vcl.Forms TCustomForm.WMCommand
0040ca5e heidisql.exe System TObject.Dispatch
006930d3 heidisql.exe Vcl.Controls TControl.WndProc
0069a79e heidisql.exe Vcl.Controls TWinControl.WndProc
008041ab heidisql.exe Vcl.Forms TCustomForm.WndProc
006999da heidisql.exe Vcl.Controls TWinControl.MainWndProc
005da313 heidisql.exe System.Classes StdWndProc
7ffec343 user32.dll SendMessageW
7ffec343 user32.dll CallWindowProcW
0069a939 heidisql.exe Vcl.Controls TWinControl.DefaultHandler
0069403c heidisql.exe Vcl.Controls TControl.WMLButtonUp
0040ca5e heidisql.exe System TObject.Dispatch
006930d3 heidisql.exe Vcl.Controls TControl.WndProc
0069a79e heidisql.exe Vcl.Controls TWinControl.WndProc
006cad00 heidisql.exe Vcl.StdCtrls TButtonControl.WndProc
006999da heidisql.exe Vcl.Controls TWinControl.MainWndProc
005da313 heidisql.exe System.Classes StdWndProc
7ffec343 user32.dll DispatchMessageW
0081292f heidisql.exe Vcl.Forms TApplication.ProcessMessage
008129a3 heidisql.exe Vcl.Forms TApplication.HandleMessage
0080b2e8 heidisql.exe Vcl.Forms TCustomForm.ShowModal
00be3497 heidisql.exe Main 1836 +102 TMainForm.AfterFormCreate
00c3498e heidisql.exe heidisql 74 +21 initialization
7ffec366 KERNEL32.DLL BaseThreadInitThunk
7ffec558 ntdll.dll RtlUserThreadStart

[expired user #7411]'s profile image [expired user #7411] posted 10 years ago Permalink
Hi,
I have been working with heidiSQL for the past couple of weeks and must say it is an exceptionally good tool(beats all others in footprint and ease of use).
I installed the 64 bit version on a brand new machine and it consistently crashes whenever I try to manually add a record(clicking on the + sign) to any table.

Here is the bug report

operating system : Windows 8 Tablet PC x64 build 9200
system language : English

processors : 4x Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz
physical memory : 1742/6030 MB (free/total)
free disk space : (C:) 138.53 GB

allocated memory : 123.25 MB
largest free block : 8162.59 GB

version : 8.1.0.4629
compiled with : Delphi XE5
madExcept version : 4.0.8.1
callstack crc : $6e493fe1, $5c998fc4, $5c998fc4
exception number : 1
exception class : EVirtualTreeError
exception message : Cannot set initial user data because there is not enough user data space allocated.

main thread ($2448):
008a2732 heidisql.exe VirtualTrees 4710 +1 ShowError
008df8cb heidisql.exe VirtualTrees 31137 +34 TBaseVirtualTree.InsertNode
00bf3228 heidisql.exe Main 4218 +14 TMainForm.actDataInsertExecute
005d8d60 heidisql.exe System.Classes TBasicAction.Execute
006640e3 heidisql.exe Vcl.ActnList TCustomAction.Execute
005d8a94 heidisql.exe System.Classes TBasicActionLink.Execute
00693977 heidisql.exe Vcl.Controls TControl.Click
00733214 heidisql.exe Vcl.ComCtrls TToolButton.Click
006940c6 heidisql.exe Vcl.Controls TControl.WMLButtonUp
0040ca5e heidisql.exe System TObject.Dispatch
006930d3 heidisql.exe Vcl.Controls TControl.WndProc
00692bb0 heidisql.exe Vcl.Controls TControl.Perform
00699d64 heidisql.exe Vcl.Controls TWinControl.IsControlMouseMsg
0069a597 heidisql.exe Vcl.Controls TWinControl.WndProc
0073a7cc heidisql.exe Vcl.ComCtrls TToolBar.WndProc
006999da heidisql.exe Vcl.Controls TWinControl.MainWndProc
005da313 heidisql.exe System.Classes StdWndProc
7f948b01 user32.dll DispatchMessageW
0081292f heidisql.exe Vcl.Forms TApplication.ProcessMessage
008129a3 heidisql.exe Vcl.Forms TApplication.HandleMessage
00812e8f heidisql.exe Vcl.Forms TApplication.Run
00c349d7 heidisql.exe heidisql 77 +24 initialization
7f949db1 KERNEL32.DLL BaseThreadInitThunk
7f949f4d ntdll.dll RtlUserThreadStart
ansgar's profile image ansgar posted 10 years ago Permalink
Huymada: Errors with the jumplist silenced in r4630.
Code modification/commit from ansgar.becker, 10 years ago, revision 8.1.0.4631
Log debug message with NodeDataSize and current size of Pointer, for finding out the cause of what's reported on http://www.heidisql.com/forum.php?t=13962#p13983
[expired user #7409]'s profile image [expired user #7409] posted 10 years ago Permalink
4631 - no problems yet.smile
kalvaro's profile image kalvaro posted 10 years ago Permalink

I installed the 64 bit version on a brand new machine and it consistently crashes whenever I try to manually add a record(clicking on the + sign) to any table.



100% reproducible here as well.
[expired user #7409]'s profile image [expired user #7409] posted 10 years ago Permalink
same here.

callstack crc : $6e493fe1, $d7ab874e, $d7ab874e
exception number : 1
exception class : EVirtualTreeError
exception message : Cannot set initial user data because there is not enough user data space allocated.

main thread ($1054):
008a2732 heidisql.exe VirtualTrees 4710 +1 ShowError
008df8cb heidisql.exe VirtualTrees 31137 +34 TBaseVirtualTree.InsertNode
00bf3278 heidisql.exe Main 4223 +14 TMainForm.actDataInsertExecute
005d8d60 heidisql.exe System.Classes TBasicAction.Execute
006640e3 heidisql.exe Vcl.ActnList TCustomAction.Execute
005d8a94 heidisql.exe System.Classes TBasicActionLink.Execute
007e991c heidisql.exe Vcl.Menus TMenuItem.Click
ansgar's profile image ansgar posted 10 years ago Permalink
Using r4631 with turned on debug messages in Tools > Preferences > Logging, you can see the cause for this InsertNode exception: Pointers in the 64bit version are twice as big (8 byte) as in the 32bit version (4 bytes). See here for details.

Now, VirtualTree checks the size of the assigned NodeDataSize on the tree, and barfs if its smaller than SizeOf(Pointer). In HeidiSQL it was 4 bytes all the time, as of SizeOf(Unsigned32BitInteger/Cardinal). This is the cause. I am thinking I can fix that by assigning a NodeDataSize of 8 bytes, through SizeOf(Int64). This is somehow wasted memory. However, that's a way to fix this without patching this in the official VirtualTree sources.
[expired user #7410]'s profile image [expired user #7410] posted 10 years ago Permalink
Thanks Ansgar, no problems with 4631 at the momment. :D
elcio.paludo's profile image elcio.paludo posted 10 years ago Permalink
Well, the 4631 version is working prety good.
[expired user #7410]'s profile image [expired user #7410] posted 10 years ago Permalink
Hi again, break again when try insert new record, log:
date/time : 2013-11-14, 16:05:33, 47ms
computer name : DELL
user name : Dell
registered owner : Dell
operating system : Windows 8 x64 build 9200
system language : Portuguese
system up time : 16 hours 29 minutes
program up time : 10 seconds
processors : 8x Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
physical memory : 1685/16214 MB (free/total)
free disk space : (C:) 2032,58 GB
display mode : 1920x1080, 32 bit
process id : $4700
allocated memory : 69,58 MB
largest free block : 131029,99 GB
executable : heidisql.exe
exec. date/time : 2013-11-14 07:04
version : 8.1.0.4631
compiled with : Delphi XE5
madExcept version : 4.0.8.1
callstack crc : $6e493fe1, $f610b857, $f610b857
exception number : 1
exception class : EVirtualTreeError
exception message : Cannot set initial user data because there is not enough user data space allocated.

main thread ($4420):
008a2732 heidisql.exe VirtualTrees 4710 +1 ShowError
008df8cb heidisql.exe VirtualTrees 31137 +34 TBaseVirtualTree.InsertNode
00bf3278 heidisql.exe Main 4223 +14 TMainForm.actDataInsertExecute
005d8d60 heidisql.exe System.Classes TBasicAction.Execute
006640e3 heidisql.exe Vcl.ActnList TCustomAction.Execute
005d8a94 heidisql.exe System.Classes TBasicActionLink.Execute
007e991c heidisql.exe Vcl.Menus TMenuItem.Click
007ec24f heidisql.exe Vcl.Menus TMenu.DispatchCommand
007ee7a4 heidisql.exe Vcl.Menus TPopupList.WndProc
007ee6a5 heidisql.exe Vcl.Menus TPopupList.MainWndProc
005da313 heidisql.exe System.Classes StdWndProc
7ffec343 user32.dll DispatchMessageW
0081292f heidisql.exe Vcl.Forms TApplication.ProcessMessage
008129a3 heidisql.exe Vcl.Forms TApplication.HandleMessage
00812e8f heidisql.exe Vcl.Forms TApplication.Run
00c34bb7 heidisql.exe heidisql 77 +24 initialization
7ffec366 KERNEL32.DLL BaseThreadInitThunk
7ffec558 ntdll.dll RtlUserThreadStart

ansgar's profile image ansgar posted 10 years ago Permalink
Adding rows fixed in r4632.
[expired user #7376]'s profile image [expired user #7376] posted 10 years ago Permalink
How do you fix r4632? Change PCardinal to PInt64 one by one and by hand?
ansgar's profile image ansgar posted 10 years ago Permalink
Yes. Click on the "+" signs of each file to see a diff, after clicking on r4632.

But I'm unsure why you're asking - that's totally obvious, isn't it?
elcio.paludo's profile image elcio.paludo posted 10 years ago Permalink
Just out of curiosity. Have you thought about converting the "vcl" to "fire monkey"? Making the "HeidiSQL" multiplatform?
ansgar's profile image ansgar posted 10 years ago Permalink
Yes, I gave that a few thoughts. Sounds interesting. But while "multiplatform" includes MacOS and probably mobile OS's, that still excludes Linux, doesn't it?
elcio.paludo's profile image elcio.paludo posted 10 years ago Permalink
Yes that´s it.
elcio.paludo's profile image elcio.paludo posted 10 years ago Permalink
The conversion effort must be very hard. It is certainly not easy converts "vcl" to "Fire Monkey".
ansgar's profile image ansgar posted 10 years ago Permalink
This article says Embarcadero plans to support Linux at some point, althouh the date seems to be a fake, as it's already November 2013 and nothing is heard about Linux support yet:
Windows 8 ARM and Linux server are targeted for the second half of 2013

If that's true I swear I'll go and try Firemonkey. Indeed I have quite much feedback from Linux users in this forum and the tracker, while there is nothing from Mac users yet.
ansgar's profile image ansgar posted 10 years ago Permalink
Michael Swindell from Embarcadero said he plans to support Linux.

While some Delphi users are slightly more pessimistic, saying that they won't do that because Linux users may not pay for anything. Not sure if that's true.
[expired user #7409]'s profile image [expired user #7409] posted 10 years ago Permalink
new exceptions again:

version : 8.1.0.4653
compiled with : Delphi XE5
madExcept version : 4.0.8.1
callstack crc : $ccaac248, $c125a728, $c125a728
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 0000000000A5B7B9 in module 'heidisql.exe'. Read of address 000000000000011B.

main thread ($1180):
00a5b7b9 heidisql.exe dbconnection 829 +1 TConnectionParameters.GetNetTypeGroup
00a5af3d heidisql.exe dbconnection 760 +1 TConnectionParameters.CreateConnection
00befb1c heidisql.exe Main 3400 +1 TMainForm.InitConnection
00be430e heidisql.exe Main 1810 +72 TMainForm.AfterFormShow
00c1ac08 heidisql.exe Main 11297 +5 TMainForm.ApplicationEvents1Idle
009389aa heidisql.exe Vcl.AppEvnts TCustomApplicationEvents.DoIdle
0093975e heidisql.exe Vcl.AppEvnts TMultiCaster.DoIdle
00813e8b heidisql.exe Vcl.Forms TApplication.Idle
008129b3 heidisql.exe Vcl.Forms TApplication.HandleMessage
00812e8f heidisql.exe Vcl.Forms TApplication.Run
00c35848 heidisql.exe heidisql 76 +23 initialization
76f3652b kernel32.dll BaseThreadInitThunk
ansgar's profile image ansgar posted 10 years ago Permalink
Yes, that's due to r4652, see also http://www.heidisql.com/forum.php?t=14133

But that has nothing to do with this thread.
ansgar's profile image ansgar posted 10 years ago Permalink
Fixed in r4654
[expired user #8515]'s profile image [expired user #8515] posted 9 years ago Permalink
What about a 64-bit portable build? I can't seem to find one..
ansgar's profile image ansgar posted 9 years ago Permalink
There is no 64bit portable provided here. That's more a matter of reducing confusion when users don't know what to download here.

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