MFC, CRecordset, crash - Mailing list pgsql-odbc

From Antonio Pennino
Subject MFC, CRecordset, crash
Date
Msg-id 3DC6A617.1796.185E62B@localhost
Whole thread Raw
List pgsql-odbc
I am using the psql odbc driver with Visual Studio 6 and the MFC classes
(CDatabase, CRecordset, ecc.); the remote server is a Linux Debian (woody)
with latest Postgresql 7.2.1-2 server.

The odbc driver (also the latest) sometimes go to crash.
The error is access violation for a NULL pointer.

The MS-Visual Studio 6 debugger report this status for registers:

 EAX = 01A7E8FC EBX = 01B70020
 ECX = 01A82AC0 EDX = 00000000
 ESI = FFFFFFFF EDI = 00000036
 EIP = 01A460C9 ESP = 008B9D3C
 EBP = 008B9D5C EFL = 00210286
 MM0 = 0000000000000000
 MM1 = 0000000000000000
 MM2 = 0000000000000000
 MM3 = 0000000000000000
 MM4 = 0000000000000000
 MM5 = 0000000000000000
 MM6 = 0000000000000000
 MM7 = 91C8A186A314D800
 CS = 015F DS = 0167 ES = 0167 SS = 0167
 FS = 1287 GS = 0000 OV=0 UP=0 EI=1 PL=1
 ZR=0 AC=0 PE=1 CY=0
 ST0 = +0.00000000000000000e+0000
 ST1 = +0.00000000000000000e+0000
 ST2 = +0.00000000000000000e+0000
 ST3 = +0.00000000000000000e+0000
 ST4 = +0.00000000000000000e+0000
 ST5 = +0.00000000000000000e+0000
 ST6 = +0.00000000000000000e+0000
 ST7 = +3.73206309606481445e+0004
 CTRL = 027F STAT = 0120 TAGS = FFFF
 EIP = 5F5053BF
 CS = 015F DS = 0167 EDO = 008BE70C

the code fragment is:

 01A460C9   mov   ecx,dword ptr [edx]       << ERROR !!!!!
 01A460CB   sub   ecx,dword ptr [ebp-10h]
 01A460CE   mov   esi,ecx
 01A460D0   mov   dword ptr [ebp-8],ecx
 01A460D3   sar   esi,4
 01A460D6   dec   esi
 01A460D7   cmp   esi,3Fh
 01A460DA   jle   01A460DF
 01A460DC   push  3Fh
 01A460DE   pop   esi
 01A460DF   cmp   esi,edi
 01A460E1   je    01A461F4
 01A460E7   mov   ecx,dword ptr [edx+4]
 01A460EA   cmp   ecx,dword ptr [edx+8]
 01A460ED   jne   01A46150
 01A460EF   cmp   edi,20h
 01A460F2   jge   01A4611F
 01A460F4   mov   ebx,80000000h
 01A460F9   mov   ecx,edi
 01A460FB   shr   ebx,cl
 01A460FD   mov   ecx,dword ptr [ebp-4]
 01A46100   lea   edi,[eax+edi+4]

In the ODBC control-panel (win32) the setting are at the default value.

The problem is not continous, a intensive work help to evidence it.
I think the problem i ~ the close operation of recordset.

Any suggestion?
Thank you.



============================================
Antonio Pennino
Nocera Informatica s.r.l.

telefono: 035/4219033
telefax : 035/4219050

e-mail  : a.pennino@nocerainformatica.net
============================================


pgsql-odbc by date:

Previous
From: 황성준
Date:
Subject: an error during connecting to database
Next
From: Jim Hines
Date:
Subject: CTID: Anyway to lock it?