Consultor Eletrônico



Kbase P113176: Memory violation after preparing dynamic temp-table with invalid field.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   07/02/2011
Status: Verified

SYMPTOM(s):

Creating dynamic temp-table

Using ADD-NEW-FIELD to add fields

Procedure crashes almost immediately after TEMP-TABLE-PREPARE().

The following errors occur:

** Input value: <input> should be <yes
o>. (87)

Unable to prepare TEMP-TABLE fields. (9044)

SYSTEM ERROR: Memory violation. (49)

Stack Trace reads:

utfree+0x2d from /usr1/v91Ep/dlc/bin/_progres
stfree+0x1c from /usr1/v91Ep/dlc/bin/_progres
umDynTTClear+0x13a from /usr1/v91Ep/dlc/bin/_progres
umDynTTGetAttr+0x649 from /usr1/v91Ep/dlc/bin/_progres
umSuperGetAttr+0xdc from /usr1/v91Ep/dlc/bin/_progres

Example code to reproduce issue:

/* Without static temp-table defined, issue does not occur */
DEFINE TEMP-TABLE t NO-UNDO
FIELD aa AS INTEGER.
DEFINE VARIABLE th AS HANDLE NO-UNDO.

CREATE TEMP-TABLE th.

/* Create improper field - initial value does not match format */
th:ADD-NEW-FIELD("xxx","logical",0,"yes
o","q") NO-ERROR.

th:TEMP-TABLE-PREPARE("xxx") NO-ERROR.

MESSAGE ERROR-STATUS:ERROR VIEW-AS ALERT-BOX INFO BUTTONS OK.

FACT(s) (Environment):

Progress 9.1E

CAUSE:

Bug# OE00126463

FIX:

Upgrade to Progress 9.1E03 or later
Upgrade to OpenEdge 10.0B04 or later
Upgrade to OpenEdge 10.1A or later