View Issue Details

IDProjectCategoryView StatusLast Update
0002522SkyChart1-Softwarepublic22-04-13 20:54
Reporterfhub Assigned ToPatrick Chevalley  
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformPCOSWindowsOS Version10 32bit
Product Version4.3 beta 
Target Version4.4Fixed in Version4.3 beta 
Summary0002522: Error when starting Ciel 4.3
DescriptionHi,

I'm using the Win32 ZIP-version of Ciel since a very long time.
Unfortunately your latest version gives a 'Runtime Error' when starting Skychart.exe:
"R6034: An application has made an attempt to load the C runtime library incorrectly."

This problem has never happend with any previous release -
I hope you can fix this bug in the 32bit version.
(BTW, the 64bit version does not show this error message)

Regards,
Franz
TagsNo tags attached.

Activities

Patrick Chevalley

22-04-12 21:03

administrator   ~0007514

I cannot reproduce this error.

Searching for this error message give many result from a variety of application.
A frequent case for this error is multiple copy of the MS C runtime dll in the PATH environment.
Search for occurrence of msvc*.dll in all your PATH directory and be sure there is only one.

Patrick Chevalley

22-04-12 21:26

administrator   ~0007515

I look at the skychart 32bit process using Process Explorer, it not use any versioned C run time, only the standard msvcp_win.dll from C:\Windows\SysWOW64\

fhub

22-04-12 22:54

reporter   ~0007516

Maybe the problem is that I'm using the 32bit version on a 64bit Win10?
But this has been no problem for all previous versions, it just started yesterday ...

Patrick Chevalley

22-04-13 15:05

administrator   ~0007517

Yes, I tested the 32bit version on Win10 64bit and it run fine.

Skychart itself do not use the C runtime because it is written in Pascal language.
Only some of the dll installed in the same directory use the C runtime. None of this dll where updated recently.

The only change since the previous version is the way it load the OpenSSL dll. Maybe we can look more in detail at this point.
With the current code it is possible it load another version from some dll somewhere in your PATH.
I make a change so it first try the version installed with skychart.

The complied program skychart.exe with this change is here:
https://vega.ap-i.net/tmp/skychart/test_skychart.zip
Extract and replace the program and tell me how this work.

fhub

22-04-13 18:59

reporter   ~0007518

Yes, this new version is now working again - no error message! :-)

So it was indeed the changed DLL-loading in the previous version as the error message has stated.

But I don't understand your sentence "I make a change so it first try the version installed with skychart.".
I'm using the ZIP-version (so nothing is installed), and there's no OpenSSL.dll in the ZIP-package!?

Anyway, it's working again, so many thanks for the quick fix!

Patrick Chevalley

22-04-13 19:39

administrator   ~0007519

Thank you to confirm we are on the right track!

There is no difference in the content of the zip or the exe installer. Both contain the program and some dll, like OpenSSL, that are not installed by default on Windows. The installer put no file in global Windows directory.

The reason of the change in Skychart is to move from OpenSSL version1 to the last version 3. The new code allow to load both version, giving priority to version 3.
With last Monday version, the zip and installer still provide only the version 1 dll , but if the program found a version 3 dll somewhere on your system it load it instead.

After that I don't know what this other dll is and why it fail to load the C runtime, this is something specific to your computer installation.
But every application that want to use OpenSSL install some version of this dll in it's program directory. If the global PATH environment is updated to include one of this application it's private dll can potentially be used by any program on the system, causing version mismatch or other error. For this reason it is recommended to never add the skychart directory to the PATH environment.

The test version you just try revert the dll load order to give priority to the version 1. This is not the right fix but this confirm where the problem is.

Now I make the final version that include the version 3 dll.
It must also work without issue on your system because now it will use in priority the version from the skychart directory.
You can download the new zip from: https://vega.ap-i.net/tmp/skychart/skychart-4.3-4493-windows.zip

This is the complete zip as it will be in all the future version so it is important you test it now and report how it work for you.

fhub

22-04-13 20:33

reporter   ~0007520

Yep, your new ZIP-package is working perfectly (like all the others in the last years ;-)).

Now also my problem with this 'OpenSSL' is clear: since you wrote 'OpenSLL.dll', I was looking for exactly this filename
in the ZIP-package, but of course I didn't find such a file. Now I see that these files for OpenSLL have other names
(ssleay32.dll or libssl-3.dll). And it may indeed be possible that any other version of ssleay32.dll is anywhere in the PATH,
because some other programs also use this DLL.

Ok, the problem is now definitely solved, thanks again for the fix and of course for your great program Ciel/SkyChart
in general which I'm using since many years!

Patrick Chevalley

22-04-13 20:54

administrator   ~0007521

Good news! thank you for testing and sorry for the wrong dll name.
I make the choice to do this change in two step to allow me for more testing but this was not a great idea.

You can now delete the two dll for OpenSSL version 1 that stay in the skychart directory : ssleay32.dll and libeay32.dll
The installer remove them but this is not possible with a zip.

Issue History

Date Modified Username Field Change
22-04-12 19:34 fhub New Issue
22-04-12 21:03 Patrick Chevalley Status new => feedback
22-04-12 21:03 Patrick Chevalley Note Added: 0007514
22-04-12 21:26 Patrick Chevalley Note Added: 0007515
22-04-12 22:54 fhub Note Added: 0007516
22-04-12 22:54 fhub Status feedback => new
22-04-13 15:05 Patrick Chevalley Status new => feedback
22-04-13 15:05 Patrick Chevalley Note Added: 0007517
22-04-13 18:59 fhub Note Added: 0007518
22-04-13 18:59 fhub Status feedback => new
22-04-13 19:39 Patrick Chevalley Status new => feedback
22-04-13 19:39 Patrick Chevalley Note Added: 0007519
22-04-13 20:33 fhub Note Added: 0007520
22-04-13 20:33 fhub Status feedback => new
22-04-13 20:54 Patrick Chevalley Assigned To => Patrick Chevalley
22-04-13 20:54 Patrick Chevalley Status new => resolved
22-04-13 20:54 Patrick Chevalley Resolution open => fixed
22-04-13 20:54 Patrick Chevalley Fixed in Version => 4.3 beta
22-04-13 20:54 Patrick Chevalley Target Version => 4.4
22-04-13 20:54 Patrick Chevalley Note Added: 0007521