New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Procedure entry point IsThreadAFiber could not be located in the dynamic link library KERNEL32.dll #79

Closed
Beep6581 opened this Issue Jan 8, 2018 · 9 comments

Comments

Projects
None yet
3 participants
@Beep6581

Beep6581 commented Jan 8, 2018

Hey

All builds of HeidiSQL up to and including 9.5.0.5216 install and run fine in Windows XP, but as of build HeidiSQL_9.5.0.5217_Setup.exe clicking "OK" in the session manager leads to this crash:

---------------------------
heidisql.exe - Entry Point Not Found
---------------------------
The procedure entry point IsThreadAFiber could not be located in the dynamic link library KERNEL32.dll. 
---------------------------
OK   
---------------------------

and then

Cannot find a usable libmysql.dll. Please launch heidisql.exe from the directory where you have installed it.

Windows XP version 2002 SP3 (running in VirtualBox).

@ansgarbecker

This comment has been minimized.

Show comment
Hide comment
@ansgarbecker

ansgarbecker Jan 9, 2018

Collaborator

Build 5216 just loads a newer libmariadb.dll and adds a fallback to loading libmysql.dll if the first one does not exist. Nothing more. So my guess is that the call to LoadLibrary('libmariadb.dll') crashes on WinXP.

If that's the case, I cannot do very much, as the newer library is required to fix SSL bugs.

Collaborator

ansgarbecker commented Jan 9, 2018

Build 5216 just loads a newer libmariadb.dll and adds a fallback to loading libmysql.dll if the first one does not exist. Nothing more. So my guess is that the call to LoadLibrary('libmariadb.dll') crashes on WinXP.

If that's the case, I cannot do very much, as the newer library is required to fix SSL bugs.

@vaintroub

This comment has been minimized.

Show comment
Hide comment
@vaintroub

vaintroub Jan 9, 2018

It is possible to avoid the popups with SetErrorMode, as in https://stackoverflow.com/questions/4058303/silently-catch-windows-error-popups-when-calling-loadlibrary . (No idea how this can be used from Delphi though). libmariadb.dll indeed expect Vista or later, which should be fine given XP went out of support in 2014

vaintroub commented Jan 9, 2018

It is possible to avoid the popups with SetErrorMode, as in https://stackoverflow.com/questions/4058303/silently-catch-windows-error-popups-when-calling-loadlibrary . (No idea how this can be used from Delphi though). libmariadb.dll indeed expect Vista or later, which should be fine given XP went out of support in 2014

@Beep6581

This comment has been minimized.

Show comment
Hide comment
@Beep6581

Beep6581 Jan 9, 2018

@ansgarbecker I'm familiar with MariaDB but not with libmariadb.dll. Is it possible that the fix you're referring to is available in a version of the dll compatible with XP? It would be great if there was a solution to keep new HeidiSQL builds working on XP, as most third-world countries still use XP, ergo we develop on XP, and it's a neat and responsive little OS when run in a virtual machine from Linux, as opposed to running say Windows Vista or 10 from a VM.

Beep6581 commented Jan 9, 2018

@ansgarbecker I'm familiar with MariaDB but not with libmariadb.dll. Is it possible that the fix you're referring to is available in a version of the dll compatible with XP? It would be great if there was a solution to keep new HeidiSQL builds working on XP, as most third-world countries still use XP, ergo we develop on XP, and it's a neat and responsive little OS when run in a virtual machine from Linux, as opposed to running say Windows Vista or 10 from a VM.

@ansgarbecker

This comment has been minimized.

Show comment
Hide comment
@ansgarbecker

ansgarbecker Jan 9, 2018

Collaborator

Thanks for the argument - I was on the way saying that XP is out of support anyway. But if it's heavily used in third-world countries, I'll keep an eye on XP compatibility.

@vaintroub: SetErrorMode() seems to be a Win32 function, and should be directly callable in a Delphi VCL app.

Another approach would be to deploy an older (XP-compatible) library together with the newer one, detect XP at startup, and load the older library in that case.

Collaborator

ansgarbecker commented Jan 9, 2018

Thanks for the argument - I was on the way saying that XP is out of support anyway. But if it's heavily used in third-world countries, I'll keep an eye on XP compatibility.

@vaintroub: SetErrorMode() seems to be a Win32 function, and should be directly callable in a Delphi VCL app.

Another approach would be to deploy an older (XP-compatible) library together with the newer one, detect XP at startup, and load the older library in that case.

@Beep6581

This comment has been minimized.

Show comment
Hide comment
@Beep6581

Beep6581 Jan 9, 2018

I'm happy to test.

Beep6581 commented Jan 9, 2018

I'm happy to test.

@ansgarbecker

This comment has been minimized.

Show comment
Hide comment
@ansgarbecker

ansgarbecker Jan 9, 2018

Collaborator

Just added the libmysql.dll from MySQL 5.6.6 again, and a suppression of errors when trying to load the new libmariadb.dll on an old Win XP, so Heidi should proceed to loading libmysql.dll again. Also, libmysql.dll is installed via setup again, so you probably need to run the nightly built installer once again to get the old library again.

Would be nice to get some feedback if that all works, as I don't have a WinXP here for testing purposes.

Collaborator

ansgarbecker commented Jan 9, 2018

Just added the libmysql.dll from MySQL 5.6.6 again, and a suppression of errors when trying to load the new libmariadb.dll on an old Win XP, so Heidi should proceed to loading libmysql.dll again. Also, libmysql.dll is installed via setup again, so you probably need to run the nightly built installer once again to get the old library again.

Would be nice to get some feedback if that all works, as I don't have a WinXP here for testing purposes.

@Beep6581

This comment has been minimized.

Show comment
Hide comment
@Beep6581

Beep6581 Jan 9, 2018

@ansgarbecker I will report as soon as a build pops up!

Beep6581 commented Jan 9, 2018

@ansgarbecker I will report as soon as a build pops up!

@Beep6581

This comment has been minimized.

Show comment
Hide comment
@Beep6581

Beep6581 Jan 9, 2018

@ansgarbecker I confirm, HeidiSQL_9.5.0.5220_Setup.exe installed and ran fine in Windows XP SP3. Thank you!

Beep6581 commented Jan 9, 2018

@ansgarbecker I confirm, HeidiSQL_9.5.0.5220_Setup.exe installed and ran fine in Windows XP SP3. Thank you!

@ansgarbecker

This comment has been minimized.

Show comment
Hide comment
@ansgarbecker

ansgarbecker Jan 10, 2018

Collaborator

Great!

Collaborator

ansgarbecker commented Jan 10, 2018

Great!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment