Kbase P138069: Setting the CALL object's :IN-HANDLE attribute using IF function may crash the session with error 51
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  29/11/2010 |
|
Status: Unverified
SYMPTOM(s):
Setting the CALL object's :IN-HANDLE attribute using IF function may crash the session with error 51
The crash happens under these circumstances:
- The IF function is used to determine the appropriate value
- The THEN branch references THIS-PROCEDURE
- The ELSE branch is a DYNAMIC-FUNCTION call.
- The IF expression resolves to TRUE, so the final value resolves to THIS-PROCEDURE.
SYSTEM ERROR: sizditm -- invalid type. (51)
Client session crashes
FACT(s) (Environment):
OpenEdge 10.2A
All Supported Operating Systems
CHANGE:
Migrated to OpenEdge 10.2A
CAUSE:
Bug# OE00178327
FIX:
Upgrade to OpenEdge 10.2A01 or later
Three possible workarounds:
1. Switch the THEN and ELSE branches in the IF function, and invert the IF expression using the NOT operator
2. Use handle variables in the IF function, and set the possible values before setting the call:IN-HANDLE attribute
3. Replace the dynamic function call with a static one, and adding the required function prototype