Kbase P130841: 4GL/ABL: Error (2881) running an application.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/29/2010 |
|
Status: Verified
SYMPTOM(s):
4GL/ABL: Error (2881) running a 4GL application.
SYSTEM ERROR: Corrupted run-time segment chain. (2881)
Stack Trace includes:
Exception code: C0000006 IN_PAGE_ERROR
Fault address: 1003D1F3 01:0003C1F3 X:\dlc91d\bin\prow32.dll
Only one work station has this problem. Other clients, workstations, run the same code, located on the same remote network drive, error free.
Executable r-code being run on the local machine is located on a network drive.
FACT(s) (Environment):
Windows
Progress 9.x
OpenEdge 10.x
OpenEdge Category: Language (4GL/ABL)
CAUSE:
The client networking connection fails periodically for some hardware, cabling or firmware reasons. The "Exception code: C0000006 IN_PAGE_ERROR" at the top of the stack trace indicates that there has been a network failure. When any program starts in Windows, Windows opens the program file but does not load the whole program into memory. This is done to save time, especially if the program file is located on a different computer and has to be retrieved across the network.
This fact is invisible to you because your computer loads parts of the program into its own memory as and when they are needed. If a part of the program is needed and isn't already in memory, Windows fetches it from the source computer. The result is a very brief delay - too short to be noticed. If the network fails, then Windows will not be able to retrieve the next part of the program when it is needed. In this case Windows will cause the program to crash, reporting IN_PAGE_ERROR as the cause.
The error "SYSTEM ERROR: Corrupted run-time segment chain. (2881)" confirms the above as it simply means that Progress detected a corruption/inconsistency in the internal data structures used to manage the r-code segments in memory, at run time. This could be caused by a spike in the network that dropped some bits of the r-code.
FIX:
The only reliable way of avoiding the error is to have a good working network or run the application from the local client computer instead of accessing the r-code from a remote computer or a remote network drive.