Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
JoaoMarcos
Posts: 26
Joined: Fri 28 Jun 2013 20:26

Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by JoaoMarcos » Wed 31 Jul 2013 19:11

Hello guys!

This is a problem that happens SOMETIMES (that's the f***ing problem) when application is running while navigating through records (call of Next, Prior, Last, First methods) application crashes with exception "Access violation at 00000000 read of address 00000000".

I wanted to trace the error using madException, but because I can't reproduce anytime I want and I don't have the source code, I can't send madExecption bug report right now.

We had a similar problem after calling Refresh method, tracing with madException gave us the error after a call to TCRRecordSet.GetField. I can't say if this is related, but we solved by setting TSmartQuery.Options.AutoClose to true.

I hope somebody can help, if this execpetion was ever happened to another member.... if solved, please share your solution!

I can´t reproduce the error anytime I want, and don't have any specific actions to do before this occurs. I will try to catch this with madExecption and post ASAP.

Thanks! And sorry for my bad english :P

JoaoMarcos
Posts: 26
Joined: Fri 28 Jun 2013 20:26

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by JoaoMarcos » Wed 31 Jul 2013 19:18

By the way:

IDE: Delphi 7
OS: Windows XP SP3
ODAC 9.0.1
Using TSmartQuery with Options.AutoClose set to true (because of problem with Refresh method stated before)
Oracle Version 10g

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by AlexP » Thu 01 Aug 2013 08:41

Hello,

Unfortunately, we cannot reproduce the problem. If the problem occurs under definite conditions only, please try to create a small application that would explicitly demonstrate the problem, and send it to us to alexp*devart*com.

P.S. We cannot fix the problem without reproducing it.

JoaoMarcos
Posts: 26
Joined: Fri 28 Jun 2013 20:26

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by JoaoMarcos » Thu 01 Aug 2013 16:33

I'm going to catch an exeception trace about this error.

And will try to create a small application.

JoaoMarcos
Posts: 26
Joined: Fri 28 Jun 2013 20:26

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by JoaoMarcos » Thu 08 Aug 2013 13:14

I have madException CallStack of exception.

I verified that occurs when you have two forms thta updates the same table.
When one form updates table, trying to navigate or refresh records on the other form will raise access violation at 0000000...

I'm working on a sample application demonstrating the error.

Below bug report

Code: Select all

date/time         : 2013-08-08, 08:52:57, 49ms
computer name     : ANDREA
user name         : andrea <admin>
registered owner  : Andrea / Braservice
operating system  : Windows XP Service Pack 3 build 2600
system language   : Portuguese
system up time    : 46 minutes 55 seconds
program up time   : 14 minutes 40 seconds
processors        : 4x Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz
physical memory   : 2355/3447 MB (free/total)
free disk space   : (C:) 849,19 GB
display mode      : 1024x768, 32 bit
process id        : $eb4
allocated memory  : 13,26 MB
executable        : GSSISCOSERV.exe
exec. date/time   : 2013-08-07 13:39
version           : 2.2.1.10
compiled with     : Delphi 7
madExcept version : 4.0.7
contact name      : Andrea
contact email     : [email protected]
callstack crc     : $00000000, $7a64c6c8, $7a64c6c8
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 00000000. Read of address 00000000.

main thread ($98c):
00000000 +000 ???
0056fa4e +1e2 GSSISCOSERV.exe CRAccess           TCRRecordSet.GetFieldData
005e9b2d +085 GSSISCOSERV.exe OraClasses         TOCIRecordSet.GetFieldData
0052fdfe +112 GSSISCOSERV.exe MemData            TData.GetField
0053fd57 +067 GSSISCOSERV.exe MemDS              TMemDataSet.GetFieldData
00516295 +045 GSSISCOSERV.exe DB                 TDataSet.GetFieldData
7c90e470 +010 ntdll.dll                          KiUserCallbackDispatcher
6149387b +02b oran9.dll                          nioqwa
60675a1b +b9b oraclient9.dll                     kpuexec
60601bd5 +025 oraclient9.dll                     OCIStmtExecute
10006d51 +031 oci.dll                            OCIStmtExecute
005d8fc2 +176 GSSISCOSERV.exe OraClasses         TOCICommand.InternalExecute
005d94c7 +1bb GSSISCOSERV.exe OraClasses         TOCICommand.Exec
005e0dc0 +0e0 GSSISCOSERV.exe OraClasses         TOCIRecordSet.DoExecFetch
005e1325 +105 GSSISCOSERV.exe OraClasses         TOCIRecordSet.ExecFetch
0056f6ff +03f GSSISCOSERV.exe CRAccess           TCRRecordSet.InternalOpen
005e0b8c +000 GSSISCOSERV.exe OraClasses         TOCIRecordSet.InternalOpen
005e1452 +0b6 GSSISCOSERV.exe OraClasses         TOCIRecordSet.Reopen
005815d9 +041 GSSISCOSERV.exe DBAccess           TCustomDADataSet.DataReopen
0053ec27 +00f GSSISCOSERV.exe MemDS              TMemDataSet.InternalRefresh
00581803 +1ab GSSISCOSERV.exe DBAccess           TCustomDADataSet.InternalRefresh
00517e29 +035 GSSISCOSERV.exe DB                 TDataSet.Refresh
007cab26 +026 GSSISCOSERV.exe impoc400    485 +2 TFormC400.btgerarClick
004d9848 +064 GSSISCOSERV.exe Controls           TControl.Click
004a17c8 +000 GSSISCOSERV.exe Buttons            TSpeedButton.Click
004a17b2 +0e2 GSSISCOSERV.exe Buttons            TSpeedButton.MouseUp
004d9c34 +02c GSSISCOSERV.exe Controls           TControl.DoMouseUp
004d9ca9 +069 GSSISCOSERV.exe Controls           TControl.WMLButtonUp
004d9bc6 +06e GSSISCOSERV.exe Controls           TControl.WMMouseMove
004d96b0 +188 GSSISCOSERV.exe Controls           TControl.WndProc
7c90eb94 +059 ntdll.dll                          RtlAnsiStringToUnicodeString
004d9480 +024 GSSISCOSERV.exe Controls           TControl.Perform
004dc470 +098 GSSISCOSERV.exe Controls           GetControlAtPos
004d9480 +024 GSSISCOSERV.exe Controls           TControl.Perform
004dc5a6 +082 GSSISCOSERV.exe Controls           TWinControl.IsControlMouseMsg
004dc692 +0da GSSISCOSERV.exe Controls           TWinControl.WndProc
004c1bb5 +241 GSSISCOSERV.exe ComCtrls           TToolBar.WndProc
004dc38c +02c GSSISCOSERV.exe Controls           TWinControl.MainWndProc
00486b1c +014 GSSISCOSERV.exe Classes            StdWndProc
7e3696c2 +00a USER32.dll                         DispatchMessageA
004f914b +083 GSSISCOSERV.exe Forms              TApplication.ProcessMessage
004f9182 +00a GSSISCOSERV.exe Forms              TApplication.HandleMessage
004f93a2 +096 GSSISCOSERV.exe Forms              TApplication.Run
008f4070 +078 GSSISCOSERV.exe GSSISCOSERV  82 +7 initialization

thread $f90:
7c90daa8 +0a ntdll.dll                 NtReplyWaitReceivePortEx
0045f595 +0d GSSISCOSERV.exe madExcept CallThreadProcSafe
0045f5ff +37 GSSISCOSERV.exe madExcept ThreadExceptFrame
>> created by thread $f9c at:
77dbd10d +00 RPCRT4.dll

thread $458:
7e3691ec +26 USER32.dll                GetMessageW
7c349562 +9d MSVCR71.dll               _endthreadex
0045f595 +0d GSSISCOSERV.exe madExcept CallThreadProcSafe
0045f5ff +37 GSSISCOSERV.exe madExcept ThreadExceptFrame
>> created by main thread ($98c) at:
7c3495ea +60 MSVCR71.dll               _beginthreadex

thread $124 (TShellChangeThread):
7c90df48 +0a ntdll.dll                  NtWaitForMultipleObjects
7c80958a +00 kernel32.dll               WaitForMultipleObjectsEx
7c80a110 +13 kernel32.dll               WaitForMultipleObjects
006ed2c2 +56 GSSISCOSERV.exe ShellCtrls TShellChangeThread.Execute
0045f6b3 +2b GSSISCOSERV.exe madExcept  HookedTThreadExecute
004855b0 +34 GSSISCOSERV.exe Classes    ThreadProc
00404b64 +28 GSSISCOSERV.exe System     ThreadWrapper
0045f595 +0d GSSISCOSERV.exe madExcept  CallThreadProcSafe
0045f5ff +37 GSSISCOSERV.exe madExcept  ThreadExceptFrame
>> created by main thread ($98c) at:
006ed20c +48 GSSISCOSERV.exe ShellCtrls TShellChangeThread.Create

modules:
00400000 GSSISCOSERV.exe     2.2.1.10             \\192.168.1.50\gscomex\GSCOMEXSTD
02ef0000 orageneric9.dll     9.2.0.1.0 Production C:\oracle\ora92\BIN
03150000 MSVCIRT.dll         7.0.2600.5512        C:\WINDOWS\system32
033e0000 hnetcfg.dll         5.1.2600.5512        C:\WINDOWS\system32
03520000 Normaliz.dll        6.0.5441.0           C:\WINDOWS\system32
03830000 xpsp2res.dll        5.1.2600.5512        C:\WINDOWS\system32
03e00000 MediaLibraryNSE.dll 1.5.13.0             C:\Arquivos de programas\Arquivos comuns\Ahead\Lib
03f20000 MFC71U.DLL          7.10.3077.0          C:\Arquivos de programas\Arquivos comuns\Ahead\Lib
10000000 oci.dll             9.2.0.1.0            C:\oracle\ora92\BIN
3fa50000 WININET.dll         8.0.6001.23507       C:\WINDOWS\system32
400f0000 iertutil.dll        8.0.6001.23507       C:\WINDOWS\system32
43f90000 urlmon.dll          8.0.6001.23507       C:\WINDOWS\system32
4eb60000 gdiplus.dll         5.2.6002.23084       C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6002.23084_x-ww_f3f35550
4eeb0000 wiashext.dll        5.1.2600.5512        C:\WINDOWS\system32
5b1c0000 uxtheme.dll         6.0.2900.5512        C:\WINDOWS\system32
5bcb0000 netapi32.dll        5.1.2600.6260        C:\WINDOWS\system32
5d510000 comctl32.dll        5.82.2900.6028       C:\WINDOWS\system32
5f250000 olepro32.dll        5.1.2600.5512        C:\WINDOWS\system32
60500000 oracommon9.dll      9.2.0.1.0 Production C:\oracle\ora92\BIN
60600000 oraclient9.dll      9.2.0.1.0 Production C:\oracle\ora92\BIN
60800000 oravsn9.dll         9.2.0.1.0 Production C:\oracle\ora92\BIN
60810000 orawtc9.dll         9.2.0.1.0 Production C:\oracle\ora92\BIN
60a00000 orapls9.dll         9.2.0.1.0 Production C:\oracle\ora92\BIN
610a0000 oracore9.dll        9.2.0.1.0 Production C:\oracle\ora92\BIN
612a0000 oranls9.dll         9.2.0.1.0 Production C:\oracle\ora92\BIN
61350000 orasnls9.dll        9.2.0.1.0 Production C:\oracle\ora92\BIN
613a0000 oraunls9.dll        9.2.0.1.0 Production C:\oracle\ora92\BIN
61400000 oranl9.dll          9.2.0.1.0 Production C:\oracle\ora92\BIN
61480000 oran9.dll           9.2.0.1.0 Production C:\oracle\ora92\BIN
615a0000 orannzsbb9.dll      9.2.0.1.0 Production C:\oracle\ora92\BIN
616a0000 orancds9.dll        9.2.0.1.0 Production C:\oracle\ora92\BIN
616b0000 orancrypt9.dll      9.2.0.1.0 Production C:\oracle\ora92\BIN
61730000 oranro9.dll         9.2.0.1.0 Production C:\oracle\ora92\BIN
617c0000 oranhost9.dll       9.2.0.1.0 Production C:\oracle\ora92\BIN
617d0000 oranoname9.dll      9.2.0.1.0 Production C:\oracle\ora92\BIN
61820000 orantns9.dll        9.2.0.1.0 Production C:\oracle\ora92\BIN
61910000 orantcp9.dll        9.2.0.1.0 Production C:\oracle\ora92\bin
61960000 oranldap9.dll       9.2.0.1.0 Production C:\oracle\ora92\BIN
62000000 oraldapclnt9.dll    9.2.0.1.0 Production C:\oracle\ora92\BIN
62300000 ORATRACE9.dll                            C:\oracle\ora92\BIN
62500000 oraslax9.dll        9.2.0.1.0 Production C:\oracle\ora92\BIN
62600000 orasql9.dll         9.2.0.1.0 Production C:\oracle\ora92\BIN
62fc0000 oraxml9.dll                              C:\oracle\ora92\BIN
630f0000 oraxsd9.dll                              C:\oracle\ora92\BIN
64000000 oranms.dll          9.2.0.0.0            C:\oracle\ora92\BIN
64020000 oranmsp.dll         9.2.0.0.0            C:\oracle\ora92\BIN
71a10000 mswsock.dll         5.1.2600.5625        C:\WINDOWS\system32
71a50000 wshtcpip.dll        5.1.2600.5512        C:\WINDOWS\System32
71a60000 WS2HELP.dll         5.1.2600.5512        C:\WINDOWS\system32
71a70000 WS2_32.dll          5.1.2600.5512        C:\WINDOWS\system32
71a90000 wsock32.dll         5.1.2600.5512        C:\WINDOWS\system32
71ae0000 mpr.dll             5.1.2600.5512        C:\WINDOWS\system32
71bc0000 SAMLIB.dll          5.1.2600.5512        C:\WINDOWS\System32
71be0000 ntlanman.dll        5.1.2600.5512        C:\WINDOWS\System32
71c50000 NETRAP.dll          5.1.2600.5512        C:\WINDOWS\System32
71c60000 NETUI1.dll          5.1.2600.5512        C:\WINDOWS\System32
71ca0000 NETUI0.dll          5.1.2600.5512        C:\WINDOWS\System32
72fb0000 winspool.drv        5.1.2600.5512        C:\WINDOWS\system32
73b50000 sti.dll             5.1.2600.5512        C:\WINDOWS\system32
746e0000 MSCTF.dll           5.1.2600.5512        C:\WINDOWS\system32
74aa0000 CFGMGR32.dll        5.1.2600.5512        C:\WINDOWS\system32
75290000 msctfime.ime        5.1.2600.5768        C:\WINDOWS\system32
75f30000 drprov.dll          5.1.2600.5512        C:\WINDOWS\System32
75f40000 davclnt.dll         5.1.2600.5512        C:\WINDOWS\System32
75f50000 browseui.dll        6.0.2900.6197        C:\WINDOWS\system32
76360000 IMM32.DLL           5.1.2600.5512        C:\WINDOWS\system32
76380000 comdlg32.dll        6.0.2900.5512        C:\WINDOWS\system32
765d0000 CSCDLL.dll          5.1.2600.5512        C:\WINDOWS\System32
76970000 ntshrui.dll         5.1.2600.5512        C:\WINDOWS\system32
769a0000 USERENV.dll         5.1.2600.5512        C:\WINDOWS\system32
76b00000 ATL.DLL             3.5.2284.2           C:\WINDOWS\system32
76b20000 WINMM.dll           5.1.2600.6160        C:\WINDOWS\system32
76fb0000 CLBCATQ.DLL         2001.12.4414.700     C:\WINDOWS\system32
77030000 COMRes.dll          2001.12.4414.700     C:\WINDOWS\system32
77100000 oleaut32.dll        5.1.2600.6341        C:\WINDOWS\system32
773b0000 comctl32.dll        6.0.2900.6028        C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202
774c0000 ole32.dll           5.1.2600.6168        C:\WINDOWS\system32
77900000 SETUPAPI.dll        5.1.2600.5512        C:\WINDOWS\system32
77a00000 cscui.dll           5.1.2600.5512        C:\WINDOWS\System32
77b20000 appHelp.dll         5.1.2600.5512        C:\WINDOWS\system32
77be0000 version.dll         5.1.2600.5512        C:\WINDOWS\system32
77bf0000 msvcrt.dll          7.0.2600.5512        C:\WINDOWS\system32
77db0000 RPCRT4.dll          5.1.2600.6022        C:\WINDOWS\system32
77e50000 GDI32.dll           5.1.2600.5698        C:\WINDOWS\system32
77ea0000 SHLWAPI.dll         6.0.2900.5912        C:\WINDOWS\system32
77f20000 Secur32.dll         5.1.2600.5834        C:\WINDOWS\system32
77f50000 advapi32.dll        5.1.2600.5755        C:\WINDOWS\system32
7c340000 MSVCR71.dll         7.10.3052.4          C:\Arquivos de programas\Arquivos comuns\Ahead\Lib
7c3a0000 MSVCP71.dll         7.10.3077.0          C:\Arquivos de programas\Arquivos comuns\Ahead\Lib
7c800000 kernel32.dll        5.1.2600.6293        C:\WINDOWS\system32
7c900000 ntdll.dll           5.1.2600.6055        C:\WINDOWS\system32
7c9c0000 SHELL32.dll         6.0.2900.6242        C:\WINDOWS\system32
7e360000 USER32.dll          5.1.2600.5512        C:\WINDOWS\system32

processes:
000 Idle            0   0
004 System          0   0   normal
29c smss.exe        0   0   normal C:\WINDOWS\system32
2cc csrss.exe       0   0
2e4 winlogon.exe    47  14  high   C:\WINDOWS\system32
310 services.exe    4   2   normal C:\WINDOWS\system32
31c lsass.exe       6   3   normal C:\WINDOWS\system32
3d0 svchost.exe     4   1   normal C:\WINDOWS\system32
414 svchost.exe     0   0
474 MsMpEng.exe     4   5   normal c:\Arquivos de programas\Microsoft Security Client
498 svchost.exe     11  31  normal C:\WINDOWS\System32
510 svchost.exe     0   0
564 svchost.exe     0   0
604 spoolsv.exe     7   7   normal C:\WINDOWS\system32
64c svchost.exe     0   0
674 apnmcp.exe      4   2   normal C:\Arquivos de programas\AskPartnerNetwork\Toolbar
6b4 LMS.exe         4   2   normal C:\Arquivos de programas\Intel\Intel(R) Management Engine Components\LMS
76c svchost.exe     4   2   normal C:\WINDOWS\system32
7cc wdfmgr.exe      0   0
7ec UNS.exe         4   2   normal C:\Arquivos de programas\Intel\Intel(R) Management Engine Components\UNS
0c4 WinVNC4.exe     13  6   normal C:\Arquivos de programas\RealVNC\VNC4
574 alg.exe         0   0
768 Explorer.EXE    609 316 normal C:\WINDOWS
914 BrMfcWnd.exe    45  37  normal C:\Arquivos de programas\Brother\Brmfcmon
924 msseces.exe     145 62  normal C:\Arquivos de programas\Microsoft Security Client
a28 BrMfimon.exe    15  7   normal C:\Arquivos de programas\Brother\Brmfcmon
a38 TBNotifier.exe  11  16  normal C:\Arquivos de programas\AskPartnerNetwork\Toolbar\Updater
a48 ctfmon.exe      28  11  normal C:\WINDOWS\system32
a88 E_FATIGJL.EXE   26  10  normal C:\WINDOWS\System32\spool\DRIVERS\W32X86\3
a90 oovoo.exe       583 145 normal C:\Arquivos de programas\ooVoo
ae4 brccMCtl.exe    41  46  normal C:\Arquivos de programas\Brother\ControlCenter3
b2c Skype.exe       184 135 normal C:\Arquivos de programas\Skype\Phone
8dc OUTLOOK.EXE     841 697 normal C:\Arquivos de programas\Microsoft Office\Office14
e4c OSPPSVC.EXE     0   0
6b0 ICOMEX.EXE      509 425 normal \\192.168.1.50\gscomex\GSCOMEXSTD
764 ntvdm.exe       21  10  normal C:\WINDOWS\system32
f68 iexplore.exe    338 118 normal C:\Arquivos de programas\Internet Explorer
2b8 iexplore.exe    392 148 normal C:\Arquivos de programas\Internet Explorer
ab8 EXCEL.EXE       241 94  normal C:\Arquivos de programas\Microsoft Office\Office14
dd8 EXCEL.EXE       246 69  normal C:\Arquivos de programas\Microsoft Office\Office14
eb4 GSSISCOSERV.exe 345 209 normal \\192.168.1.50\gscomex\GSCOMEXSTD
9c4 iexplore.exe    329 106 normal C:\Arquivos de programas\Internet Explorer
a24 iexplore.exe    246 108 normal C:\Arquivos de programas\Internet Explorer

hardware:
+ Adaptadores de rede
  - Miniporta de rede remota (IP)
  - Miniporta de rede remota (IP) - Miniporta do agendador de pacotes
  - Miniporta WAN (PPPOE)
  - Paralelo direto
  - Realtek PCIe GBE Family Controller (driver 5.792.1208.2011)
  - Realtek PCIe GBE Family Controller - Miniporta do agendador de pacotes
  - WAN Miniport (L2TP)
  - WAN Miniport (PPTP)
+ Adaptadores de vídeo
  - Intel(R) HD Graphics (driver 6.14.10.5273)
+ Computador
  - ACPI Multiprocessor PC
+ Controladores de som, vídeo e jogo
  - Codecs de vídeo
  - Codecs de áudio
  - Dispositivo de áudio USB
  - Dispositivos de controle de mídia
  - Dispositivos Legacy para captura de vídeo
  - Drivers de áudio Legacy
  - Realtek High Definition Audio (driver 5.10.0.6433)
+ Controladores IDE ATA/ATAPI
  - Canal IDE primário
  - Canal IDE primário
  - Canal IDE secundário
  - Canal IDE secundário
  - Controlador de canal duplo padrão PCI IDE
  - Controlador de canal duplo padrão PCI IDE
+ Controladores USB (barramento serial universal)
  - Standard Enhanced PCI to USB Host Controller
  - Standard Enhanced PCI to USB Host Controller
  - Standard Universal PCI to USB Host Controller
  - Standard Universal PCI to USB Host Controller
  - Standard Universal PCI to USB Host Controller
  - Standard Universal PCI to USB Host Controller
  - Standard Universal PCI to USB Host Controller
  - Standard Universal PCI to USB Host Controller
  - USB Composite Device
  - USB Composite Device
  - USB Root Hub
  - USB Root Hub
  - USB Root Hub
  - USB Root Hub
  - USB Root Hub
  - USB Root Hub
  - USB Root Hub
  - USB Root Hub
+ Dispositivos de imagens
  - Brother MFC-7440N LAN (driver 1.0.2.2)
+ Dispositivos de interface humana
  - Dispositivo de interface humana USB
  - Dispositivo de interface humana USB
  - Dispositivo de interface humana USB
  - HID-compliant consumer control device
  - HID-compliant device
+ Dispositivos de sistema
  - Alto-falante do sistema
  - Botão de recurso fixo ACPI
  - Botão ligar/desligar ACPI
  - CMOS do sistema/relógio em tempo real
  - Controlador de acesso direto à memória
  - Controlador de interrupção programável
  - Dispositivo de atualização de microcódigo
  - Driver de Barramento Microsoft UAA para High Definition Audio
  - Driver de BIOS de Gerenciamento de Sistema Microsoft
  - Enumerador de dispositivos de software Plug and Play
  - Gerenciador de discos lógicos
  - Gerenciador de volumes
  - Intel(R) 82801 PCI Bridge - 244E
  - Intel(R) 82802 Firmware Hub Device
  - Intel(R) Management Engine Interface (driver 6.0.0.1179)
  - Microsoft ACPI-Compliant System
  - PCI bus
  - PCI standard host CPU bridge
  - PCI standard ISA bridge
  - PCI standard PCI-to-PCI bridge
  - PCI standard PCI-to-PCI bridge
  - Placa de sistema
  - Porta de dados de leitura ISAPNP
  - Processador de dados numéricos
  - Recursos da placa-mãe
  - Recursos da placa-mãe
  - Recursos da placa-mãe
  - Redirecionador de dispositivo do Terminal Server
  - Terminal Server Keyboard Driver
  - Terminal Server Mouse Driver
  - Timer de eventos de alta precisão
  - Timer do sistema
+ Monitores
  - Monitor Plug and Play
  - Monitor Plug and Play
+ Mouse e outros dispositivos apontadores
  - Mouse compatível com HID
+ Processadores
  - Intel(R) Core(TM) i3 CPU         530  @ 2.93GHz
  - Intel(R) Core(TM) i3 CPU         530  @ 2.93GHz
  - Intel(R) Core(TM) i3 CPU         530  @ 2.93GHz
  - Intel(R) Core(TM) i3 CPU         530  @ 2.93GHz
+ Teclados
  - Dispositivo de teclado HID
+ Unidades de disco
  - SAMSUNG HD103SI
+ Unidades de DVD/CD-ROM
  - HL-DT-ST DVDRAM GH22NS50

cpu registers:
eax = 0000000f
ebx = 032d7b64
ecx = 50002da1
edx = 00000000
esi = 032d97ac
edi = 032d97bb
eip = 00000000
esp = 0012b5ac
ebp = 0012bdf0

stack dump:
0012b5ac  73 54 53 60 64 7b 2d 03 - ac 97 2d 03 00 00 00 00  sTS`d{-...-.....
0012b5bc  c2 23 73 60 ac 97 2d 03 - 8c 7b 2d 03 01 00 00 00  .#s`..-..{-.....
0012b5cc  b2 00 79 01 01 00 00 00 - bf 00 00 00 bf 9c 2d 03  ..y...........-.
0012b5dc  21 00 00 00 b0 8a 2d 03 - 00 00 00 00 00 00 00 00  !.....-.........
0012b5ec  00 6e 31 03 21 00 00 00 - 00 00 00 00 0a 00 00 00  .n1.!...........
0012b5fc  d0 d0 2a 61 40 c2 2a 61 - 68 00 00 00 2c 9c 2d 03  ..*a@.*ah...,.-.
0012b60c  21 00 00 00 00 00 00 00 - 30 b6 12 00 88 b6 12 00  !.......0.......
0012b61c  2d 9b 50 60 b0 8a 2d 03 - 08 c0 79 01 e0 0b 00 00  -.P`..-...y.....
0012b62c  44 b6 12 00 78 99 31 03 - 40 b6 12 00 00 00 00 00  D...x.1.@.......
0012b63c  74 7c 2d 03 00 00 00 00 - 4d 9c 2d 03 a8 9a 2d 03  t|-.....M.-...-.
0012b64c  14 9c 2d 03 21 00 00 00 - 00 99 31 03 df 0b 00 00  ..-.!.....1.....
0012b65c  00 00 00 00 74 7c 2d 03 - c8 7c 2d 03 01 00 00 00  ....t|-..|-.....
0012b66c  40 00 00 00 21 00 00 00 - 08 7c 2d 03 21 6e 31 03  @...!....|-.!n1.
0012b67c  64 7b 2d 03 a8 9a 2d 03 - e8 9b 2d 03 e4 be 12 00  d{-...-...-.....
0012b68c  27 e8 51 00 7c 84 92 04 - 6c 33 80 04 4f fb 52 00  '.Q.|...l3..O.R.
0012b69c  98 91 92 04 6c 33 80 04 - 01 d8 12 00 98 91 92 04  ....l3..........
0012b6ac  e4 b6 12 00 53 fa 56 00 - 01 d8 12 00 17 d8 12 00  ....S.V.........
0012b6bc  10 b7 12 00 68 fa 56 00 - 70 fa 56 00 98 91 92 04  ....h.V.p.V.....
0012b6cc  6c 33 80 04 7c 84 92 04 - 00 00 00 00 dd 92 1c 5b  l3..|..........[
0012b6dc  98 91 92 04 7c 84 92 04 - 00 b7 12 00 32 9b 5e 00  ....|.......2.^.

disassembling:
[...]
007cab14       push    ebp
007cab15       push    $7cb85b                ; System.@HandleFinally
007cab1a       push    dword ptr fs:[eax]
007cab1d       mov     fs:[eax], esp
007cab20 485   mov     eax, [ebx+$390]
007cab26     > call    -$2b2d37 ($517df4)     ; DB.TDataSet.Refresh
007cab2b 486   mov     eax, [ebx+$454]
007cab31       call    -$2b55b2 ($515584)     ; DB.TDataSet.Close
007cab36 487   mov     eax, [ebx+$454]
007cab3c       call    -$2b55c9 ($515578)     ; DB.TDataSet.Open
007cab41 488   mov     eax, [ebx+$458]
[...]

error details:
Módulo de venda - cadastro do processo


JoaoMarcos
Posts: 26
Joined: Fri 28 Jun 2013 20:26

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by JoaoMarcos » Thu 08 Aug 2013 15:31

Alex,

I have sent an application as well as the steps for reproducing the error!

Thanks in advance!!!

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by AlexP » Fri 09 Aug 2013 11:07

Hello,

I have received your letter, however, this will not help find and solve the problem. Please create a small simple application reproducing the problem and send me its sources.

JoaoMarcos
Posts: 26
Joined: Fri 28 Jun 2013 20:26

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by JoaoMarcos » Mon 12 Aug 2013 15:29

It seems setting Options.AutoClose to True solves this issue!

I just don't how this is related.

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by AlexP » Tue 13 Aug 2013 07:49

Hello,

The AutoClose option is responsible for closing the OCI cursor after fetching all records. Unfortunately, we cannot define the reason for such behaviour, therefore please create a demo application and send it to me

JoaoMarcos
Posts: 26
Joined: Fri 28 Jun 2013 20:26

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by JoaoMarcos » Tue 22 Oct 2013 16:38

After a long time, since we could not really solve, even by setting Options.AutoClose = True all of TOraDataSet components in our application, there is a way to reproduce the problem:

-> have a TSmartQuery, TOraTable, ToraQuery.. in your form, selecting and returning updatable result set

-> make sure that the table in your select statement has a trigger (row level) referencing it

-> Open the Dataset and you may use freely

-> recompile the trigger on oracle

-> try to do anything with the dataset (refresh, navigate.. whatever)

-> you get access violation 0000000 read of address 000000000

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Re: Access violation at 00000000 read of address 00000000 when navigating through records in TSmartQuery

Post by AlexP » Wed 23 Oct 2013 08:23

Hello,

We cannot reproduce the problem using the provided algorithm. Please execute the below application, and if the problem doesn't repeat - modify the code so that the problem repeats and send it to us.

Code: Select all

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Ora,
  OraSmart;

var
  OraSession: TOraSession;
  SmartQuery: TSmartQuery;

begin
  OraSession := TOraSession.Create(nil, 'login/passwd@SID');
  try
    OraSession.Connect;
    OraSession.ExecSQL('CREATE TABLE T_TEST(F_ID NUMBER, F_TEXT VARCHAR2(10))');
    OraSession.ExecSQL('CREATE SEQUENCE SEQ_T_TEST START WITH 1 INCREMENT BY 1');
    OraSession.ExecSQL('CREATE OR REPLACE TRIGGER TR_BI_T_TEST BEFORE INSERT ON T_TEST FOR EACH ROW BEGIN SELECT SEQ_T_TEST.NEXTVAL INTO :new.F_ID FROM DUAL; END;');
    OraSession.ExecSQL('INSERT INTO T_TEST (F_TEXT) VALUES(''test1'')');
    OraSession.ExecSQL('INSERT INTO T_TEST (F_TEXT) VALUES(''test2'')');
    OraSession.ExecSQL('INSERT INTO T_TEST (F_TEXT) VALUES(''test3'')');
    SmartQuery := TSmartQuery.Create(nil);
    try
      SmartQuery.Session := OraSession;
      SmartQuery.SQL.Text := 'SELECT * FROM T_TEST';
      SmartQuery.Open;
      OraSession.ExecSQL('ALTER TRIGGER TR_BI_T_TEST COMPILE');
      while not SmartQuery.Eof do begin
        SmartQuery.RefreshRecord;
        SmartQuery.Next;
      end;
      SmartQuery.Close;
      OraSession.ExecSQL('DROP TRIGGER TR_BI_T_TEST');
      OraSession.ExecSQL('DROP SEQUENCE SEQ_T_TEST');
      OraSession.ExecSQL('DROP TABLE T_TEST');
    finally
      SmartQuery.Free;
    end;
  finally
    OraSession.Free;
  end;
end.

Post Reply