Kbase P143341: Client or AppServer runs code from the wrong memory mapped procedure library
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  20/03/2009 |
|
Status: Unverified
SYMPTOM(s):
Client or AppServer runs code from the wrong memory mapped procedure library
Both clients run code from the memory mapped procedure library but only one library is loaded into memory and both clients execute code from this library.
Both clients execute code from the first library loaded into memory which means that one client will be running the wrong code.
FACT(s) (Environment):
Clients are running in separate environments with their own copies of a the same memory mapped procedure library.
Both clients have access to the same library, but their copies of the libraries are different due to version changes.
All Supported Operating Systems
OpenEdge 10.x
CAUSE:
This is expected behavior and is due to the paging behavior of the operating system.
It is also important to understand that depending on the platform this behavior could change, but because of the reliance on the Operating System paging characteristics, Progress Software is unable influence this behavior.
Developers should assume the basic behavior, that a memory mapped .pl is part of the operating system's paging swap space, shared among executables, and applications should not depend on any other behavior which could be transitory or could vary under special circumstances.
FIX:
To work around this operating system behavior there are two workarounds:
1. Ensure only one environment uses memory mapped procedure libraries.
2. In one environment use a directory at the beginning of PROPATH where new versions of r-code can be placed. In this scenario the memory mapped procedure libraries will be the same, with only live code in the library.