Kbase P188113: UI issues occur after reading data from a SQLite database using the SQLite3.dll
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/20/2011 |
|
Status: Unverified
SYMPTOM(s):
UI issues occur after reading data from a SQLite database using the SQLite3.dll
Calling the sqlite3_column_text function, which returns a MEMPTR
Calling SET-SIZE on the MEMPTR returned by the sqlite3_column_text function.
After calling the sqlite3_column_text DLL function a number of times, one or more of the following is seen:
Text as part of frame definitions is no longer displayed
**Unable to realize <widget name>. (4025)
An error occurred while displaying a system dialog box. The system error code is -1. (13960)
FACT(s) (Environment):
Windows
OpenEdge 10.2B
OpenEdge Category: Language (4GL/ABL)
CAUSE:
The SQLite library is written in a way that assumes it is the only component responsible for allocating and deallocating memory used by the exposed API functions.
Using the SET-SIZE function on a MEMPTR received from the library interferes with its' memory management and causes the process memory to become corrupt.
The in-memory corruption leads to the observed symptoms.
FIX:
Do not call SET-SIZE on the MEMPTR returned by the DLL functions