1

We have a legacy windows desktop client application that calls a Load Balancer (running in Windows Server 2003) that delegates the request to an Application Server (Windows Server 2003) that connects to an SQL Server (Windows 2008 R2 Database server). This desktop application has been running well since Windows XP to Windows 8.1; however, on Windows 10, it unpredictably crashes with the following error message displayed on the end user's Windows 10 machine:

Client Decompression System ERROR! ...Header sum error
in Function Name... GetServerDataToBuffer
Calling Process... LSD_Decompress (or Base64Encode)
Add'l Data: C:\Users\<username>\AppData\Local\Temp\<filename>.tmp

And this is what gets logged on the Event Viewer on the client machine:

Faulting application name: <programname>.exe, version: 0.0.0.0, time stamp: 0x5011b17b
Faulting module name: ntdll.dll, version: 10.0.10240.16603, time stamp: 0x565531ee
Exception code: 0xc0000005
Fault offset: 0x0003dd2a
Faulting process id: 0x88c
Faulting application start time: 0x01d13c3c46d18779
Faulting application path: C:\xxxxx\<program-name>.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: fdeb33bd-e546-4711-8c4e-e1d615bc3c14

This desktop windows application continues to be maintained on a Windows XP machine as its IDE won't work on earlier versions of Windows. It uses Clarion Enterprise Edition version 5.5H (by Softvelocity) and uses the following Clarion extensions: ClarioNet Application Performance Writer V1.4, ClarioNET for Clarion 5.5 version 1.4 (from Jan-11-2004), xmlFUSE, wPDFControl and vuMail 3.20.

Based on the error message, we believe this issue may be related to how the two files (from ClarioNET) compiled in this system: lscomp.dll and lsdecomp.lib, react on Windows 10, where we unfortunately cannot ask for support as this Clarion version reached its End Of Life many years ago.

When setup in a Windows 10 PC, it is configured to run with administrator rights to all users (Run this program as an administrator), under Compatibility mode for "Windows 7", "Windows Vista" and even "Windows XP" and added as an exception on the Data Execution Prevention (DEP) list. The "AppData\Local\Temp\" folder is given "Full control" rights to "Everyone" user. Windows is up-to-date on Windows Updates and the Antivirus and Firewall have been disabled. We have ran the application performing a clean boot in windows starting the machine with minimal set of drivers and startup programs. Still this issue persists. :(

As we move to a completely different cloud based system, we will still need to hang on to this old legacy program for at least the next 16 months. Setting a virtual box with Windows 7 has been proposed but has been rejected.

Questions: 1) What other configurations can I set on Windows 10 to have this program run well? 2) Are there any 3rd party applications to help this application run smoothly on Windows 10? 3) Any other hints/tips? :'(

Manuel Hernandez
  • 581
  • 1
  • 7
  • 11

2 Answers2

0

Although Clarion-nonspecific, I've had that error thrown before after a bad install of a windows update (a quick google shows it might have been KB2882822). This could be a more general OS error instead of something Clarion-specific.

UrhoKarila
  • 354
  • 7
  • 26
0

If this involves the Linder compression dll, be aware that it is not thread-safe. If that's the underlying compression technology you're using, surround calls to it with a critical section and see if that helps.

riffrazor
  • 447
  • 5
  • 8
  • Thank you for your answer. How can I tell if it's Linder compression dll? Also, what do you mean by surrounding calls to it with a critical section? – Manuel Hernandez Apr 23 '17 at 20:37
  • Actually, I noticed that you are using Clarion 5.5, which uses a cooperative threading model, so the thread-safe issue is not relevant even if Linder is being used. If you are using Linder's compression, there would be lscomp.lib and/or lsmemory.lib in your Clarion project. That aside, you've got a number of Clarion add-ons there that can increase debugging complexity (Clarionet and XMLFuse, in particular). You can google Lindersoft and Friedrich may have better info for you on the LSD_ issue. – riffrazor Jul 22 '17 at 16:23