"CSU-DLL-ERROR: (Sys-127) Attach to tcpcfn.dll failed" on cooperative flow
search cancel

"CSU-DLL-ERROR: (Sys-127) Attach to tcpcfn.dll failed" on cooperative flow

book

Article ID: 380856

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

New Windows 11 PC with Gen 8.6 installed plus PTFs WKS86200 and WKS86300.
Running a Gen 8.6 GUI application to execute cooperative flow to Gen server via TCP gives error:

TIRM030E: Application failed - Updates have been backed out
CSU-DLL-ERROR: (Sys-127) Attach to tcpcfn.dll failed in function CSUWin32Library::attach.


The same problem also occurs when using a Web Services (WS) coopflow in the commcfg.ini file.
The CMIDEBUG trace files for each case show:

TCP
*****
10/25 09:45:40:769:TID-24244:CSUWin32Library::attach(): loading library tcpcfn.dll
10/25 09:45:40:769:TID-24244:CSUWin32Library::attach(): Failed with error 127
 The specified procedure could not be found.
 
10/25 09:45:40:769:TID-24244:clientflow(): returning with error:
10/25 09:45:40:769:TID-24244:ERROR within CSUWin32Library::attach(): value = 301...
10/25 09:45:40:769:TID-24244:CSU-DLL-ERROR: (Sys-127) Attach to tcpcfn.dll failed in function CSUWin32Library::attach.
*****
 
WS
*****
10/25 10:49:53:616:TID-24280:CIClFlowDynoLib::doCoopFlow(): Attach library wscfn.dll
10/25 10:49:53:616:TID-24280:CSUWin32Library::attach(): loading library wscfn.dll
10/25 10:49:53:624:TID-24280:CSUWin32Library::attach(): Failed with error 127
 The specified procedure could not be found.
 
10/25 10:49:53:624:TID-24280:clientflow(): returning with error:
10/25 10:49:53:625:TID-24280:ERROR within CSUWin32Library::attach(): value = 301...
10/25 10:49:53:625:TID-24280:CSU-DLL-ERROR: (Sys-127) Attach to wscfn.dll failed in function CSUWin32Library::attach.
*****

NOTE: The application was generated and built on a CSE server with the same PTFs WKS86200 and WKS86300 installed and when executed there is no error.

Cause

The root cause may be one of the 3rd party files libssl-1_1.dll and/or libcrypto-1_1.dll. 

The file tcpcfn.dll is linked to (has a dependency on) libssl-1_1.dll and libcrypto-1_1.dll.
The file wscfn.dll is linked to (has a dependency on) libcurl.dll which in turn is linked to libssl-1_1.dll and libcrypto-1_1.dll.
WKS86300 delivers libssl-1_1.dll and libcrypto-1_1.dll and they are located in directory %Gen86%Gen.

Other versions of those files may exist on the PC and they are being referenced instead of the Gen versions. If these happen to be older versions they may be missing symbols which causes the Sys-127 error.

Resolution

Search from the top of the main Windows (C:\) drive for the 2 files to check for any other occurrences and check if their directory locations are in the SYSTEM PATH before %Gen86%Gen.
Alternatively just place directory %Gen86%Gen at the front of the SYSTEM PATH. Then close down any existing command prompt or Windows Explorer instances and restart them to pick up the new PATH for testing the application.

In this particular scenario, libssl-1_1.dll was found below directory "C:\Program Files (x86)\Common Files\Pulse Secure\..." and was in the PATH before %Gen86%Gen. Moving %Gen86%Gen to the front of the SYSTEM PATH resolved the problem.

(The CSE server may only have the Gen versions of those files or have %Gen86%Gen high enough in the SYSTEM PATH to ensure the Gen versions are picked up first which is why there was no problem running the application there.)