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]
JoaoMarcos Posts: 26 Joined: Fri 28 Jun 2013 20:26
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
JoaoMarcos Posts: 26 Joined: Fri 28 Jun 2013 20:26
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:
date/time : 2013-08-08, 08:52:57, 49ms
computer name : ANDREA
user name : andrea
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 ThreadExceptFramecreated 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 ThreadExceptFramecreated 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
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
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:
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.