Consultor Eletrônico



Kbase P176582: OpenEdge GUI client crashes when rendering images
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/2/2010
Status: Unverified

SYMPTOM(s):

OpenEdge GUI client crashes when rendering images

Program crashes randomly at runtime

Stack Trace from prowin32 reads:

IMGLOW_set_fileio
rcUpdateFieldMap

Crash occurs even after reinstalling OpenEdge

FACT(s) (Environment):

OpenEdge Category: Language (4GL/ABL)
OpenEdge 10.1x
Windows

CHANGE:

Upgraded to OpenEdge 10.1x


CAUSE:

Bug# OE00174464

CAUSE:

A bug in the third-party image rendering library (snbd12dm.dll) is the root cause of this crash. A support issue has been logged with the vendor of this dll. A HANDLE returned from CreateFileA in the library's IMGLOW_get_filetype function causes the crash to occur. If the HANDLE is assigned a value beyond 0x0000FFFF, the crash happens.

FIX:

Option #1
Upgrade to OpenEdge 10.1C03 or later release.
Upgrade to OpenEdge 10.2A01 or later release.

After upgrading to the appropriate release, the fix for this issue needs to be activated by specifying the -imgmem startup parameter on the client.
From OpenEdge 10.2B onwards, -imgmem is enabled by default.

Option #2
A workaround consists of pre-loading the images into a procedure library. This solution prevents images from being loaded from the file and will therefore circumvent the call of IMGLOW_get_filetype. Rendering images loaded from a procedure library is achieved by another function (namely IMGLOW_get_filetype_mem) which is not affected by the defect.

To create the procedure library:
- prolib <libname> -create

To add the image files to the procedure library:
- prolib <libname> -add <file1> ... <filen>

Add the procedure library to the PROPATH.