Consultor Eletrônico



Kbase P111322: find-first() method on _field table causes session to crash.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/3/2006
Status: Unverified

FACT(s) (Environment):

Progress 9.1D

SYMPTOM(s):

Using the find-first() method on _field table causes the session to crash.

The following code causes a GPF on prow32.dll:

DEFINE VARIABLE h-buffer AS HANDLE NO-UNDO.
DEFINE VARIABLE q-str AS CHARACTER NO-UNDO.

FIND FIRST _index-field.
q-str = "where recid(" + STRING("_field") + ") EQ " + STRING(_index-field._Field-recid).
CREATE BUFFER h-buffer FOR TABLE "_field".
h-buffer:FIND-FIRST(q-str).

The resulting protrace file looks the following:

Exception code: C0000005 ACCESS_VIOLATION
Fault address: 100AB821 01:000AA821 D:\Progress\91E\bin\prow32.dll

100AB821 0012F9B8 _build_rnfind+1DF
100AAF5E 0012FA04 _build_1table_find+1A3
100AAB11 0012FA20 _profprep+118
1000F92E 0012FA58 _fdfprep+64
101DF296 0012FAB8 _rnbfnxtBody+2F7
101DEF49 0012FACC _rnbfnxt+1A7
101BEC66 0012FB20 _rnexec_entry+381
101AA6DD 0012FB2C _rninterpret+30
101F26CB 0012FB40 _rnExecDynStatement+E0
1023E981 0012FC10 _umDynbGetAttr+98F
1020F559 0012FC8C _umSuperGetAttr+F0
10213659 0012FCAC _ioGetAttribute+C5
1002D04A 0012FCD8 _fmEWDAX+3F
10014D4D 0012FD64 _fmeval+5BD
101E3031 0012FD7C _rnexpstmt+48
101BEC66 0012FDD0 _rnexec_entry+381
101AA6DD 0012FDDC _rninterpret+30
10214B21 0012FE64 _umeDispatchEvent+12F7
10119BB0 0012FEC0 _wwRunDispatcher+DA
103294D1 0012FECC _iodispatch+87
1001BD7F 0012FED8 _rnrq+C8
10006EE4 0012FF08 _drmain+235
10054C44 0012FF1C ProStartup+5F
00401008 0012FF24 _WinMain@16+8
00401148 0012FFC0 _WinMainCRTStartup+134
7C816D4F 0012FFF0 RegisterWaitForInputIdle+49

CAUSE:

Bug# 20051128-012

FIX:

Upgrade to OpenEdge 10.0B or later.