Consultor Eletrônico



Kbase P126460: Client crash when using DISPLAY with a date field and a strange format.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   20/05/2011
Status: Unverified

SYMPTOM(s):

Client crash when using DISPLAY with a date field and a strange format.

Error 49 when using the DISPLAY statement with a date field and unusual format.

SYSTEM ERROR: Memory violation. (49)

Trying to DISPLAY a date field in a frame while at the same time applying a strange format like "A 99/99/99" can GPF the client session.

For example, the following code with crash the client session:

DEF VAR X AS DATE INIT TODAY.
DEF FRAME f
X.
DISPLAY X FORMAT "A 99/99/99" @ X WITH FRAME f.

The Windows client crashes with the stack trace:

//=====================================================
PROGRESS stack trace as of Thu Oct 18 09:26:58 2007
//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address: 0067BE7B 01:0025AE7B D:\Progress\101B\bin\prow32.dll

Registers:
EAX:000000AD
EBX:00000000
ECX:0012FB84
EDX:00911000
ESI:0012FB84
EDI:009C4430
CS:EIP:001B:0067BE7B
SS:ESP:0023:39392049 EBP:023052AD
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010A06

Call Stack:
Address Frame
0067BE7B 023052AD pam_get_item+73EAB
2F39392F 39392041 0000:00000000


With Progress 9.1E04 on Solaris 10 64 bit the client crashes with the stack trace:


PROGRESS stack trace as of Wed Sep 26 10:23:13 2007
Command line arguments are
/usr/wsrt_64/bin/_progres /home2/db-bisquit/bisquit -pf
/home1/bis/quit41a/bq-client.pf

(1) ??() +0x716954 from: ??
(2) drexit() +0x6ec from: /usr/wsrt_64.91E04/bin/_progres
(3) drExitOnTerm() +0x28c from: /usr/wsrt_64.91E04/bin/_progres
(4) _thr_slot_offset() +0x5b0 from: /lib/sparcv9/libc.so.1
(5) _sema_post() +0x628 from: /lib/sparcv9/libc.so.1
(6) fmprnt() +0xd3c from: /usr/wsrt_64.91E04/bin/_progres
(7) umVisUpdate() +0x2e0 from: /usr/wsrt_64.91E04/bin/_progres
(8) iofldu() +0x98 from: /usr/wsrt_64.91E04/bin/_progres
(9) rnucpy() +0x350 from: /usr/wsrt_64.91E04/bin/_progres
(10) rndisplay() +0xe4 from: /usr/wsrt_64.91E04/bin/_progres
(11) rnexec_entry() +0x9c4 from: /usr/wsrt_64.91E04/bin/_progres
(12) rninterpret() +0xb0 from: /usr/wsrt_64.91E04/bin/_progres
(13) umeDispatchEvent() +0x1fa0 from: /usr/wsrt_64.91E04/bin/_progres
(14) wvRunDispatcher() +0x1814 from: /usr/wsrt_64.91E04/bin/_progres
(15) iodispatch() +0x148 from: /usr/wsrt_64.91E04/bin/_progres
(16) rnrq() +0x218 from: /usr/wsrt_64.91E04/bin/_progres
(17) main() +0x380 from: /usr/wsrt_64.91E04/bin/_progres
(18) _start() +0x17c from: /usr/wsrt_64.91E04/bin/_progres


FACT(s) (Environment):

All Supported Operating Systems
Progress 9.1x
OpenEdge 10.x
OpenEdge Category: Language (4GL/ABL)

CAUSE:

Bug# OE00159895

FIX:

Upgrade to OpenEdge 10.1C.

As a work around use the client startup parameter -nofixdate.