forums.silverfrost.com Forum Index forums.silverfrost.com
Welcome to the Silverfrost forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Silverfrost exception handler has failed

 
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit
View previous topic :: View next topic  
Author Message
IanLambley



Joined: 17 Dec 2006
Posts: 490
Location: Sunderland

PostPosted: Thu Dec 19, 2019 5:02 pm    Post subject: Silverfrost exception handler has failed Reply with quote

I have a working 64 bit program but when I try to distribute it to another computer, I get the above message. The original computer has FTN95 installed as it is my development computer, the second does not.

Development computer is Windows 10 Home 64 bit 8GB

Target computer is Windows 7 Enterprise 64 bit 8GB

I have copied every .dll and .lib I can see to the target computer.

Regards
Ian
Back to top
View user's profile Send private message Send e-mail
JohnCampbell



Joined: 16 Feb 2006
Posts: 2551
Location: Sydney

PostPosted: Fri Dec 20, 2019 10:03 am    Post subject: Reply with quote

Ian,

Can you overcome the problem by relinking on the Win 7 computer, by using the generated .obj's, while the .dll's are found in the appropriate path for the win 7 environment ?

I am suspecting the system .dll's may not be backwards compatible.

Your text does not explain the subject; exception handling problem ?

John
Back to top
View user's profile Send private message
PaulLaidler
Site Admin


Joined: 21 Feb 2005
Posts: 7912
Location: Salford, UK

PostPosted: Fri Dec 20, 2019 10:42 am    Post subject: Reply with quote

Ian

This failure message is provided by salflibc64.dll when an exception is raised and the traceback mechanism fails.

It could for example be a response to a failed call the the API function SymInitialize that is used to initialise a traceback.

If, as John suggests, there is a problem with OS versions then, when that problem is resolved, you might then get a traceback that points you to the failure that raised the exception.

Alternatively you could get the user to send their data so that you can reproduce the root problem on your machine.
Back to top
View user's profile Send private message AIM Address
IanLambley



Joined: 17 Dec 2006
Posts: 490
Location: Sunderland

PostPosted: Fri Dec 20, 2019 3:46 pm    Post subject: Reply with quote

Thanks for your suggestions.

It is compiled for X64 - Debug.

I have routine to trap exceptions and this particular on is an Access Violation.

I do not have administrator rights over the target computer and therefore, I cannot link sucessfully on that computer. I can do it but an error is displayed:

***Unable to find the DLL clearwin64.dll on the system path

I can't perform a proper installation of FTN95/Plato on the target computer due to the same lack of administrative rights.

I have re linked it on my old Windows 7 64-bit computer and when I transfer the executable to the target computer it still fails. There are three pop-up windows announcing "Silverfrost exception handler has failed". This same executable functions correctly on my Windows 10 computer.

Next, I removed the accessviolation handler initiation line from the code and re-compiled and linked on the target computer. Still not possible to link due to missing .dll. So I copied the dll into the directory containing the source code and re-linked - success - at linking, but the "Silverfrost exception handler has failed" message still persists. It is now reduced to two notifications.

Removing all the exception trap handlers produces the same double notification. Even compiling it release mode produces the same errors.

Ian
Back to top
View user's profile Send private message Send e-mail
DietmarSiepmann



Joined: 03 Jun 2013
Posts: 279

PostPosted: Fri Dec 20, 2019 6:38 pm    Post subject: Reply with quote

Ian,

as you do not have administrator rights on the target computer and as you cannot install ftn95 on the target computer I would ty to add a write statement at the beginnig of your code, compile it on your development computer and then distribute it on your target machine again.

May you start the executable on the target computer from within a CMD-Window? If yes then you may try the following on the target computer:

    start a cmd window
    change the PATH within this cmd window to make the directory where dll clearwin64.dll is located be part of the PATH
    start your application from within this cmd window

If e.g. c:\user\salford_dlls is the location directory of clearwin64.dll you may type
Code:

set PATH=c:\user\salford_dlls;%PATH%

to change the PATH as appropriate. Now the application should find dll clearwin64.dll and hopefully the write statement you added will be displayed.

Morover you could try if a small 32 bit application built with SALFORDs ftn95 on your development machine runs on the target computer.

Somtimes I ran into problems if on the target computer there was more than one dircetory where SALFORD dlls (cleawin64.dll, salflibc64.dll, salflibc.dll) were located.

In this case you need to ensure that your application makes use of the same versions of clearwin64.dll, salflibc64.dll as have been used on your development computer in the build procedure of your application. You could do this by means of adapting the PATH variable as described above.

I hope this help.

Regards,
Dietmar
Back to top
View user's profile Send private message
JohnCampbell



Joined: 16 Feb 2006
Posts: 2551
Location: Sydney

PostPosted: Sat Dec 21, 2019 12:27 pm    Post subject: Reply with quote

Ian,

I agree with Dietmar in his assessment that the required .dll's might not be in the defined path. If you don't have administer rights, you don't have to install FTN95 in C:\Program Files (x86)\Silverfrost\ftn95 but could install in any local directory where you do have rights, as he has suggested.
Then in your cmd.exe box, you must redefine the path to include this directory and all FTN95 related environment variables. You can redefine any environment variables locally in the cmd.exe box.
Note that plato may not work if not started in the cmd.exe box. You cant use the shortcuts from explorer or desktop.
Other compilers have this approach. You can work around the restricted rights by using an open directory, even c:\temp could be used !

You need to confirm if you can create this local FTN95 directory, add it to the local path then build a .exe and confirm it runs.

If this works you could be able to run your original .exe in this cmd.exe box.

Please let us know how you go, as Win 7 should be more friendly with restricted directories.

John
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.silverfrost.com Forum Index -> 64-bit All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group