Consultor Eletrônico



Kbase P123444: Error 51 and session crash compiling DEFINE VARIABLE statements with FORMAT "A(nn)" and INITIAL opti
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   03/08/2010
Status: Verified

SYMPTOM(s):

Error 51 and session crash compiling DEFINE VARIABLE statements with FORMAT "A(nn)" and INITIAL options crash session.

Using exclamation points (!) or other alternative formatting in format phrase of a character variable with an initial value causes Compiler to crash.

Executing statements like:
def var v1 as char format "A(42)" init "A" no-undo.
def var v2 as char format "A(42)" init "B" no-undo.
or
def var v1 as char format "A(42)" init "A".
def var v2 as char format "A(42)" init "B".
or
def var v1 as char format "A(42)" init "A" no-undo.
def var v2 as char format "A(41)" init "B" no-undo.
or
def var v1 as char format "A(42)" init "A" no-undo.
def var v2 as char format "A(42)" no-undo.

or

DEFINE VARIABLE txt_exit AS CHARACTER FORMAT "!(45)" INITIAL "Exit".
DEFINE VARIABLE txt_help AS CHARACTER FORMAT "!(45)" INITIAL "Help".

SYSTEM ERROR: sizditm -- invalid type. (51)

PROGRESS stack trace on Windows XP includes:
RaiseException+52
dbut_countl+AB4

PROGRESS stack trace on Linux includes:
uttraceback+0x37 from _progres
uttrace+0xd4 from _progres
utcore+0xe3 from _progres
drexit+0x3eb from _progres
drSigFatal+0x6c from _progres
__libc_sigaction+0x1c8 from /lib/libc.so.6
smalci+0x197 from _progres
smsem+0x1aea from _progres
cr_compile+0x28a from _progres
crpsrch+0xac2 from _progres
crrun_entry+0x13b from _progres
rninterpret+0x2e from _progres
crrun_rcsv+0x92 from _progres
rncmpile+0xb21 from _progres
rnexec_entry+0x2d0 from _progres
rninterpret+0x2e from _progres
umeDispatchEvent+0xe78 from _progres
wvRunDispatcher+0xe2 from _progres
iodispatch+0x71 from _progres
rnrq+0xd8 from _progres
main+0x2fd from _progres
__libc_start_main+0x79 from /lib/libc.so.6

PROGRESS stack trace on UNIX includes:
uttrace() +0xd8 from: _progres
utcore() +0xe4 from: _progres
drexit() +0x4ec from: _progres
drExitOnTerm() +0x1d0 from: _progres
_setuid() +0x60 from: /usr/lib/libc.so.1
smpvini() +0x4e8 from: _progres
smalci() +0x254 from: _progres
smsem() +0x232c from: _progres
cr_compile() +0x36c from: _progres
crpsrch() +0xbd0 from: _progres
crrun_entry() +0x1b0 from: _progres
rninterpret() +0x44 from: _progres
crrun_rcsv() +0x9c from: _progres
rncmpile() +0x1024 from: _progres
rnexec_entry() +0x468 from: _progres
rninterpret() +0x44 from: _progres
umeDispatchEvent() +0x15ec from: _progres
wvRunDispatcher() +0x988 from: _progres
iodispatch() +0xa4 from: _progres
rnrq() +0x10c from: _progres
main() +0x3a8 from: _progres
_start() +0x108 from: _progres

FACT(s) (Environment):

OpenEdge 10.1A
OpenEdge 10.1B
All Supported Operating Systems

CAUSE:

Bug# OE00149322

FIX:

Upgrade to OpenEdge 10.1C or later. If upgrading to OpenEdge 10.1C is not feasible, then either:
1. Use the FORMAT "X(nn)" instead of the "A(nn)" when using the INITIAL option.
or
2. Do not use the INITIAL option when using the FORMAT "A(nn)" option.