Access Violiation when inserting a record

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
jfudickar
Posts: 202
Joined: Fri 10 Mar 2006 13:03
Location: Oberursel / Germany

Access Violiation when inserting a record

Post by jfudickar » Thu 23 Jan 2014 09:33

Hi,

I've received the following error from a user when he tries to create a record on a dataset containing a CLOB field.

Regards
Jens

Code: Select all

exception message  : Access violation at address 0096317C in module 'OraToolStatementRepository.exe'. Read of address 00000018.

main thread ($19d4):
0096317c +030 OraToolStatementRepository.exe OraClasses                       14897  +3 TOraLob.AllocLob
0095d43d +1ed OraToolStatementRepository.exe OraClasses                       12715 +27 TOCIRecordSet.CreateComplexField
00836623 +017 OraToolStatementRepository.exe MemData                           3148  +1 TData.SetEncrypted
008385ff +083 OraToolStatementRepository.exe MemData                           3844  +9 TData.CreateComplexFields
0084e5ea +06a OraToolStatementRepository.exe MemDS                             2528  +7 TMemDataSet.InternalInitRecord
00819ae8 +00c OraToolStatementRepository.exe Data.DB                                    TDataSet.InitRecord
0084e6b6 +012 OraToolStatementRepository.exe MemDS                             2542  +1 TMemDataSet.InitRecord
010c25fd +085 OraToolStatementRepository.exe Ora                               7491 +10 TOraDataSet.InitRecord
01170ec1 +025 OraToolStatementRepository.exe OraSmart                           930  +1 TCustomSmartQuery.InitRecord
0084e698 +014 OraToolStatementRepository.exe MemDS                             2534  +1 TMemDataSet.InitRecord
0081a1d8 +048 OraToolStatementRepository.exe Data.DB                                    TDataSet.Insert
00be2141 +101 OraToolStatementRepository.exe cxDBData                          3300 +25 TcxDBDataProvider.AddNewRecord
00be0981 +039 OraToolStatementRepository.exe cxDBData                          2623  +5 TcxDBDataProvider.Insert
00bdfd1f +073 OraToolStatementRepository.exe cxDBData                          2313 +11 TcxDBDataProvider.CanInitEditing
00bc9e59 +031 OraToolStatementRepository.exe cxCustomData                      9107  +4 TcxCustomDataController.GetEditingRecordIndex
00bc99e7 +083 OraToolStatementRepository.exe cxCustomData                      8972  +5 TcxCustomDataController.CanInitEditing
00d4efa0 +020 OraToolStatementRepository.exe cxGridCustomTableView            10248  +1 TcxCustomGridTableItem.CanInitEditing
00d52cad +011 OraToolStatementRepository.exe cxGridCustomTableView            11819  +1 TcxGridEditingController.CanInitEditing
00e3dc3b +023 OraToolStatementRepository.exe cxGridTableView                   5074  +4 TcxGridTableEditingController.CanInitEditing
00c02fc5 +029 OraToolStatementRepository.exe cxEdit                            7265  +3 TcxCustomEditingController.EditEditing
00c05294 +02c OraToolStatementRepository.exe cxEdit                            8332  +2 DoOnEditing
00c0536a +022 OraToolStatementRepository.exe cxEdit                            8362  +3 InplaceDoEditing
00c05409 +075 OraToolStatementRepository.exe cxEdit                            8384 +16 TcxCustomEdit.DoEditing
00c09f27 +06b OraToolStatementRepository.exe cxEdit                           10327  +8 TcxCustomEdit.ValidateKeyPress
00c07eec +014 OraToolStatementRepository.exe cxEdit                            9473  +1 TcxCustomEdit.DoEditKeyPress
00c60d95 +041 OraToolStatementRepository.exe cxTextEdit                        4844  +2 TcxCustomTextEdit.DoEditKeyPress
00c7aeb7 +023 OraToolStatementRepository.exe cxMaskEdit                        2643  +3 TcxCustomMaskEdit.DoEditKeyPress
00c06808 +048 OraToolStatementRepository.exe cxEdit                            8856 +10 TcxCustomEdit.KeyPress
00c61c04 +04c OraToolStatementRepository.exe cxTextEdit                        5130  +4 TcxCustomTextEdit.KeyPress
00c7b682 +01e OraToolStatementRepository.exe cxMaskEdit                        2811  +2 TcxCustomMaskEdit.KeyPress
00c5a541 +04d OraToolStatementRepository.exe cxTextEdit                        2155  +6 TcxCustomInnerTextEdit.KeyPress
005cb63e +04a OraToolStatementRepository.exe Vcl.Controls                               TWinControl.DoKeyPress
005cb666 +00a OraToolStatementRepository.exe Vcl.Controls                               TWinControl.WMChar
00c5abce +052 OraToolStatementRepository.exe cxTextEdit                        2361  +3 TcxCustomInnerTextEdit.WMChar
005c4ea1 +2bd OraToolStatementRepository.exe Vcl.Controls                               TControl.WndProc
005c99c1 +5c5 OraToolStatementRepository.exe Vcl.Controls                               TWinControl.WndProc
00c5a8a2 +0ce OraToolStatementRepository.exe cxTextEdit                        2259 +42 TcxCustomInnerTextEdit.WndProc
005c9004 +02c OraToolStatementRepository.exe Vcl.Controls                               TWinControl.MainWndProc
00548f6c +014 OraToolStatementRepository.exe System.Classes                             StdWndProc
777acc6b +00a USER32.dll                                                                DispatchMessageW
006bd88f +0f3 OraToolStatementRepository.exe Vcl.Forms                                  TApplication.ProcessMessage
006bd8d2 +00a OraToolStatementRepository.exe Vcl.Forms                                  TApplication.HandleMessage
006bdc0d +0c9 OraToolStatementRepository.exe Vcl.Forms                                  TApplication.Run
0191852d +0c1 OraToolStatementRepository.exe OraToolProStatementRepositoryXE5    50 +13 initialization
7721ed6a +010 kernel32.dll                                                              BaseThreadInitThunk

thread $22a4:
77676a42 +0a ntdll.dll     NtWaitForMultipleObjects
7721ed6a +10 kernel32.dll  BaseThreadInitThunk

thread $1944:
77676a72 +0a ntdll.dll     NtWaitForWorkViaWorkerFactory
7721ed6a +10 kernel32.dll  BaseThreadInitThunk

thread $1558:
77676a72 +0a ntdll.dll     NtWaitForWorkViaWorkerFactory
7721ed6a +10 kernel32.dll  BaseThreadInitThunk

thread $14c0: <priority:2>
777a18d4 +3b USER32.dll                               GetMessageA
004ade81 +0d OraToolStatementRepository.exe madExcept CallThreadProcSafe
004adee6 +32 OraToolStatementRepository.exe madExcept ThreadExceptFrame
7721ed6a +10 kernel32.dll                             BaseThreadInitThunk
>> created by main thread ($19d4) at:
73de6c8b +00 winmm.dll

thread $1f54:
77676a62 +0a ntdll.dll                                NtWaitForSingleObject
759a1796 +66 KERNELBASE.dll                           WaitForSingleObjectEx
7721c30e +3e kernel32.dll                             WaitForSingleObjectEx
004ade81 +0d OraToolStatementRepository.exe madExcept CallThreadProcSafe
004adee6 +32 OraToolStatementRepository.exe madExcept ThreadExceptFrame
7721ed6a +10 kernel32.dll                             BaseThreadInitThunk
>> created by main thread ($19d4) at:
75abda8e +00 ole32.dll

thread $1e4c (TEventSendThread):
77676a42 +0a ntdll.dll                                             NtWaitForMultipleObjects
759a6a88 +00 KERNELBASE.dll                                        WaitForMultipleObjectsEx
7721bd61 +89 kernel32.dll                                          WaitForMultipleObjectsEx
004b87f2 +56 OraToolStatementRepository.exe System.SyncObjs        THandleObject.WaitFor
008b5ed0 +30 OraToolStatementRepository.exe DBMonitorClient 427 +7 TEventSendThread.Execute
004adf9b +2b OraToolStatementRepository.exe madExcept              HookedTThreadExecute
0054541d +49 OraToolStatementRepository.exe System.Classes         ThreadProc
0040b124 +28 OraToolStatementRepository.exe System           39 +0 ThreadWrapper
004ade81 +0d OraToolStatementRepository.exe madExcept              CallThreadProcSafe
004adee6 +32 OraToolStatementRepository.exe madExcept              ThreadExceptFrame
7721ed6a +10 kernel32.dll                                          BaseThreadInitThunk
>> created by main thread ($19d4) at:
008b5d96 +22 OraToolStatementRepository.exe DBMonitorClient 385 +1 TEventSendThread.Create

Odac Global Information:
^Description    Value
Odac-Version    9.2.5
.
OCI-Lite        False
OCI-Events      True
OCI-Threaded    True
OCI-Mutexed     True
OCI-Shared      False
OCI-Unicode     True
.
.
Default Oracle Home     Oracle_Client10g
.
Oracle Home Count       1
Oracle Home Name        [1]     Oracle_Client10g
   Path                 [1]     c:\PROGRA~1\Oracle102
   TNS Path             [1]     c:\PROGRA~1\Oracle102
   OCI-DLL              [1]     c:\PROGRA~1\Oracle102\BIN\oci.dll
   OCI-Client-DLL       [1]     c:\PROGRA~1\Oracle102\BIN\oraclient10.dll
   OCI-Version          [1]     10.2.0.5.0
   OCI-CallStyle        [1]     OCI80
   Possible CallStyles  [1]     OCI73; OCI80
.
Session 1       MainOracleSession (StatementRepositoryMainForm)
   Connect              [email protected]
   HomeName
   OracleVersion        11.2.0.3.0
   InTransaction        False
   Connected            True
   AutoCommit           False
   Pooling              False
   Schema               SERVICE_CATALOG
   Options.CharLength           0
   Options.Charset
   Options.ClientIdentifier
   Options.ConvertEOL           False
   Options.ConnectionTimeOut    0
   Options.DateFormat           DD.MM.RR
   Options.DateLanguage         GERMAN
   Options.DefaultSortType      stBinary
   Options.Direct               False
   Options.EnableBCD            False
   Options.EnableFMTBCD         False
   Options.EnableIntegers       True
   Options.EnableLargeInt       False
   Options.EnableNumbers        False
   Options.LocalFailOver        False
   Options.Net                  False
   Options.NeverConnect         False
   Options.OptimizerMode        omDefault
   Options.StatementCache       False
   Options.StatementCacheSize   20
   Options.SubscriptionPort     0
   Options.UseOCI7              False
   Options.UnicodeEnvironment   True
   Options.UseUnicode           True

cpu registers:
eax = 00000000
ebx = 0093b5f4
ecx = 0b256230
edx = 0093c604
esi = 0ad11460
edi = 0ad11460
eip = 0096317c
esp = 0012f7f8
ebp = 0012f810

stack dump:
0012f7f8  08 f8 12 00 32 00 00 00 - 00 00 00 00 00 00 00 00  ....2...........
0012f808  00 00 00 00 30 62 25 0b - a4 f8 12 00 40 d4 95 00  ....0b%.....@...
0012f818  c0 7b bd 00 b0 06 d4 06 - 19 e1 bd 00 00 00 00 00  .{..............
0012f828  dd 8c 48 07 c0 a6 85 0a - 4c f8 12 00 e6 21 81 00  ..H.....L....!..
0012f838  00 00 00 00 b0 06 d4 06 - 07 00 00 00 00 00 00 00  ................
0012f848  73 97 40 00 78 01 8c 00 - 48 df 52 17 9e 97 40 00  [email protected]...@.
0012f858  60 14 d1 0a f4 b5 93 00 - 48 df 52 17 78 f8 12 00  `.......H.R.x...
0012f868  e2 89 8c 00 ff ff ff ff - 48 df 52 17 40 c7 27 03  ........H.R.@.'.
0012f878  a8 f8 12 00 29 66 83 00 - 41 c6 7a 07 00 00 00 00  ....)f..A.z.....
0012f888  50 b7 22 03 a0 f8 12 00 - 30 62 25 0b 74 19 d1 0a  P.".....0b%.t...
0012f898  b8 db 52 17 60 14 d1 0a - 40 c7 27 03 cc f8 12 00  ..R.`...@.'.....
0012f8a8  05 86 83 00 01 db 52 17 - 00 ad 22 03 07 00 00 00  ......R...".....
0012f8b8  b8 db 52 17 08 00 00 00 - 0f 00 00 01 60 14 d1 0a  ..R.........`...
0012f8c8  40 c7 27 03 dc f8 12 00 - ef e5 84 00 60 14 d1 0a  @.'.........`...
0012f8d8  00 ad 22 03 fc f8 12 00 - ee 9a 81 00 00 ad 22 03  .."...........".
0012f8e8  a0 65 1f 03 bb e6 84 00 - 00 00 00 00 60 14 d1 0a  .e..........`...
0012f8f8  00 ad 22 03 3c f9 12 00 - 02 26 0c 01 44 f9 12 00  ..".<....&..D...
0012f908  dc a7 40 00 3c f9 12 00 - a0 65 1f 03 00 00 00 00  ..@.<....e......
0012f918  00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00  ................
0012f928  00 00 00 00 00 00 00 00 - 00 00 00 00 60 14 d1 0a  ............`...

disassembling:
[...]
00963170         push    $32
00963172         lea     eax, [ebp-8]
00963175         push    eax
00963176         mov     eax, [ebp-4]
00963179         mov     eax, [eax+$20]
0096317c       > mov     eax, [eax+$18]
0096317f         push    eax
00963180         mov     eax, [ebp-4]
00963183         call    -$58 ($963130)         ; OraClasses.TOraLob.GetOCI8
00963188         call    dword ptr [eax+$48]
0096318b         add     esp, $14
[...]

System Information:
^Information
OraTool Pro Version     v0.17.11.232
Registration            UNREGISTERED VERSION
Database Version        Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

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

Re: Access Violiation when inserting a record

Post by AlexP » Thu 23 Jan 2014 09:46

Hello,

Please provide the code abstract that leads to the specified problem.

jfudickar
Posts: 202
Joined: Fri 10 Mar 2006 13:03
Location: Oberursel / Germany

Re: Access Violiation when inserting a record

Post by jfudickar » Thu 23 Jan 2014 13:03

Hi Alex,

there is no specific code.

The SQL is something like "SELECT * FROM <TABLE>"

Then it is a simple Grid from DevExpress which shows the query result.
In this grid the error raises when a new record is created.

Regards
Jens

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

Re: Access Violiation when inserting a record

Post by AlexP » Thu 23 Jan 2014 14:27

Hello,

Please try to reproduce the problem on the standard DBGrid

jfudickar
Posts: 202
Joined: Fri 10 Mar 2006 13:03
Location: Oberursel / Germany

Re: Access Violiation when inserting a record

Post by jfudickar » Fri 24 Jan 2014 09:59

Send by mail.

Regards
Jens

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

Re: Access Violiation when inserting a record

Post by AlexP » Mon 27 Jan 2014 09:37

Thank you for the information. We have reproduced the problem and will fix it in the next build. For the time being, to avoid the problem, you should disable the AutoClose option.

Post Reply