Consultor Eletrônico



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