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
============================================