Help on Assertion failure D:\Projects\Delphi\Dac\Source\MemData.pas, line 6243

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
paolo
Posts: 27
Joined: Wed 06 Apr 2005 12:24

Help on Assertion failure D:\Projects\Delphi\Dac\Source\MemData.pas, line 6243

Post by paolo » Tue 20 Sep 2005 10:55

Hi i have the last version of odac , but i've got this error already with previous version

this is the stack trace by madexcept :
  • date/time : 2005-09-20, 10:51:13, 750ms
    computer name :
    user name : Administrator
    operating system : Windows 2000 Service Pack 4 build 2195
    system language : Italian
    system up time : 1 hour 26 minutes
    program up time : 5 minutes 56 seconds
    processor : Intel(R) Pentium(R) 4 CPU 3.00GHz
    physical memory : 342/503 MB (free/total)
    free disk space : (C:) 62,66 GB (E:) 81,43 MB
    display mode : 1280x1024, 32 bit
    process id : $620
    allocated memory : 5,30 MB
    executable : ExportWizard.exe
    exec. date/time : 2005-09-19 08:59
    version : 3.0.0.12
    madExcept version : 2.7g
    exception class : EAssertionFailed
    exception message : DisposeBuf failed (D:\Projects\Delphi\Dac\Source\MemData.pas, line 6243).

    main thread ($600):
    004f7c33 +03f ExportWizard.exe MemData TStringHeap.DisposeBuf
    004f1f04 +134 ExportWizard.exe MemData TData.FreeComplexFields
    0053f79a +09e ExportWizard.exe OraClasses TOCIRecordSet.FreeComplexFields
    004f5fce +056 ExportWizard.exe MemData TMemData.FreeData
    004ef403 +03f ExportWizard.exe MemData TData.Close
    004fdd80 +000 ExportWizard.exe CRAccess TCRRecordSet.Close
    0053e27f +00f ExportWizard.exe OraClasses TOCIRecordSet.Destroy
    00403c3c +008 ExportWizard.exe System 3530 +4 TObject.Free
    004fa1c2 +006 ExportWizard.exe MemDS TMemDataSet.FreeIRecordSet
    004fa187 +023 ExportWizard.exe MemDS TMemDataSet.Destroy
    005076d4 +08c ExportWizard.exe DBAccess TCustomDADataSet.Destroy
    0055832d +01d ExportWizard.exe Ora TCustomOraQuery.Destroy
    0044c1ea +05a ExportWizard.exe Classes 7599 +9 TComponent.DestroyComponents
    0044befd +075 ExportWizard.exe Classes 7505 +12 TComponent.Destroy
    0048b67b +05b ExportWizard.exe Forms 5111 +5 TDataModule.Destroy
    0044c1ea +05a ExportWizard.exe Classes 7599 +9 TComponent.DestroyComponents
    0048347a +036 ExportWizard.exe Forms 1255 +3 DoneApplication
    004355d3 +03b ExportWizard.exe SysUtils 2242 +6 DoExitProc
    0040497f +027 ExportWizard.exe System 5488 +7 @Halt0
    00798ada +102 ExportWizard.exe ExportWizard 56 +26 initialization

    thread $604:
    796bb700 kernel32.dll

    thread $278:
    77e41eb3 +0b user32.dll
    77e27978 +39 user32.dll GetMessageA
    00431840 +18 ExportWizard.exe madExcept GetMessageCallbackA
    00588376 +52 ExportWizard.exe RESILog 693 +9 TThreadLog.Execute
    0044bb1c +1c ExportWizard.exe Classes 7370 +2 ThreadProc
    00404b18 +28 ExportWizard.exe System 5606 +17 ThreadWrapper

    thread $274:
    78468b37 +0b ntdll.dll NtReplyWaitReceivePortEx
    004312f7 +27 ExportWizard.exe madExcept ThreadExceptFrame
    >> created by thread $5fc at:
    7713b047 +00 RPCRT4.dll

    modules:
    00230000 haspbc32.dll 0.7.5.0 C:\WINNT\system32
    00400000 ExportWizard.exe 3.0.0.12 E:\Export\ExportWizard 3.0.0.12
    01c50000 Ingenium.dll C:\Documents and Settings\Administrator\Desktop\Ingenium
    41000000 borlndmm.dll 5.0.6.18 C:\WINNT\system32
    65140000 appwiz.cpl 5.0.2195.6624 C:\WINNT\system32
    65450000 wtsapi32.dll 5.0.2134.1 C:\WINNT\system32
    655f0000 WINSTA.dll 5.0.2195.6701 C:\WINNT\system32
    664e0000 UTILDLL.dll 5.0.2195.6701 C:\WINNT\system32
    68950000 REGAPI.dll 5.0.2195.6602 C:\WINNT\system32
    694b0000 olepro32.dll 5.0.4522.0 C:\WINNT\system32
    6bd00000 SYNCOR11.DLL 0.1.2.3 C:\WINNT\system32
    70a70000 SHLWAPI.dll 6.0.2800.1612 C:\WINNT\system32
    71710000 comctl32.dll 5.81.4916.400 C:\WINNT\system32
    72c90000 CLBCATQ.DLL 2000.2.3511.0 C:\WINNT\system32
    74f80000 msafd.dll 5.0.2195.6602 C:\WINNT\system32
    74fd0000 WS2HELP.DLL 5.0.2134.1 C:\WINNT\system32
    74fe0000 WS2_32.DLL 5.0.2195.6601 C:\WINNT\system32
    75000000 wsock32.dll 5.0.2195.6603 C:\WINNT\system32
    75100000 SAMLIB.dll 5.0.2195.6944 C:\WINNT\system32
    75110000 ntlanman.dll 5.0.2195.6824 C:\WINNT\System32
    75170000 NETRAP.dll 5.0.2134.1 C:\WINNT\system32
    75180000 NETUI1.dll 5.0.2134.1 C:\WINNT\System32
    751c0000 NETUI0.dll 5.0.2195.6601 C:\WINNT\System32
    75980000 LZ32.DLL 5.0.2195.6611 C:\WINNT\system32
    75e30000 imm32.dll 5.0.2195.6655 C:\WINNT\system32
    76b10000 comdlg32.dll 5.0.3700.6693 C:\WINNT\system32
    77120000 RPCRT4.dll 5.0.2195.7020 C:\WINNT\system32
    77300000 MPRAPI.dll 5.0.2181.1 C:\WINNT\system32
    77360000 ADSLDPC.DLL 5.0.2195.6993 C:\WINNT\system32
    77390000 ACTIVEDS.DLL 5.0.2195.6601 C:\WINNT\system32
    77510000 TAPI32.dll 5.0.2195.6664 C:\WINNT\system32
    77550000 winmm.dll 5.0.2161.1 C:\WINNT\system32
    77800000 winspool.drv 5.0.2195.6659 C:\WINNT\system32
    77820000 version.dll 5.0.2195.6623 C:\WINNT\system32
    77830000 RTUTILS.DLL 5.0.2168.1 C:\WINNT\system32
    77950000 WLDAP32.DLL 5.0.2195.7017 C:\WINNT\system32
    77980000 DNSAPI.dll 5.0.2195.7003 C:\WINNT\system32
    779b0000 oleaut32.dll 2.40.4522.0 C:\WINNT\system32
    77bf0000 NTDSAPI.dll 5.0.2195.6666 C:\WINNT\system32
    77e10000 user32.dll 5.0.2195.7032 C:\WINNT\system32
    77f40000 GDI32.dll 5.0.2195.7011 C:\WINNT\system32
    78000000 msvcrt.dll 6.1.9844.0 C:\WINNT\system32
    783c0000 SETUPAPI.dll 5.0.2195.6622 C:\WINNT\system32
    78460000 ntdll.dll 5.0.2195.7006 C:\WINNT\system32
    79060000 USERENV.DLL 5.0.2195.7002 C:\WINNT\system32
    79260000 advapi32.dll 5.0.2195.7038 C:\WINNT\system32
    79340000 SECUR32.DLL 5.0.2195.6695 C:\WINNT\system32
    796b0000 kernel32.dll 5.0.2195.7006 C:\WINNT\system32
    79780000 mpr.dll 5.0.2195.6824 C:\WINNT\system32
    7ce00000 NETAPI32.dll 5.0.2195.7038 C:\WINNT\system32
    7ce60000 ole32.dll 5.0.2195.7034 C:\WINNT\system32
    7cf70000 shell32.dll 5.0.3900.7032 C:\WINNT\system32

    disassembling:
    [...]
    004f7bfa mov ebp, eax
    004f7bfc test edi, edi
    004f7bfe jz loc_4f7cba
    004f7bfe
    004f7c04 mov esi, edi
    004f7c06 sub esi, 2
    004f7c09 xor ecx, ecx
    004f7c0b mov edx, esi
    004f7c0d mov eax, [$4e9a28]
    004f7c12 call -$ddfb ($4e9e1c) ; Marshal.ReadInt16
    004f7c12
    004f7c17 mov ebx, eax
    004f7c19 cmp bx, $65
    004f7c1d jnb loc_4f7c33
    004f7c1d
    004f7c1f mov ecx, $1863
    004f7c24 mov edx, $4f7cc8 ; 'D:\Projects\Delphi\Dac\Source\MemData.pas'
    004f7c29 mov eax, $4f7cfc ; 'DisposeBuf failed'
    004f7c2e call -$f315f ($404ad4) ; @Assert

    004f7c2e
    004f7c33 loc_4f7c33:
    004f7c33 > cmp bx, $65
    004f7c37 jnz loc_4f7cab
    004f7c37
    004f7c39 mov ecx, ebx
    004f7c3b dec ecx
    004f7c3c mov edx, esi
    004f7c3e mov eax, [$4e9a28]
    004f7c43 call -$de24 ($4e9e24) ; Marshal.WriteInt16
    004f7c43
    004f7c48 mov edx, esi
    004f7c4a sub edx, 4
    004f7c4d xor ecx, ecx
    004f7c4f mov eax, [$4e9a28]
    004f7c54 call -$de21 ($4e9e38) ; Marshal.ReadInt32
    004f7c54
    004f7c59 lea ebx, [eax+8]
    004f7c5c dec ebx
    004f7c5d test ebx, ebx
    004f7c5f jns loc_4f7c64
    004f7c5f
    [...]

    date/time : 2005-09-20, 11:03:06, 78ms
    computer name :
    user name : Administrator
    operating system : Windows 2000 Service Pack 4 build 2195
    system language : Italian
    system up time : 1 hour 38 minutes
    program up time : 3 minutes 37 seconds
    processor : Intel(R) Pentium(R) 4 CPU 3.00GHz
    physical memory : 340/503 MB (free/total)
    free disk space : (C:) 62,66 GB (E:) 78,33 MB
    display mode : 1280x1024, 32 bit
    process id : $1a0
    allocated memory : 5,14 MB
    executable : ExportWizard.exe
    exec. date/time : 2005-09-20 10:58
    version : 3.0.0.13
    madExcept version : 2.7g
    exception class : EAssertionFailed
    exception message : DisposeBuf failed (D:\Projects\Delphi\Dac\Source\MemData.pas, line 6243).

    main thread ($1bc):
    004f7c33 +03f ExportWizard.exe MemData TStringHeap.DisposeBuf
    004f1f04 +134 ExportWizard.exe MemData TData.FreeComplexFields
    0053f79a +09e ExportWizard.exe OraClasses TOCIRecordSet.FreeComplexFields
    004f5fce +056 ExportWizard.exe MemData TMemData.FreeData
    004ef403 +03f ExportWizard.exe MemData TData.Close
    004fdd80 +000 ExportWizard.exe CRAccess TCRRecordSet.Close
    0053e27f +00f ExportWizard.exe OraClasses TOCIRecordSet.Destroy
    00403c3c +008 ExportWizard.exe System 3530 +4 TObject.Free
    004fa1c2 +006 ExportWizard.exe MemDS TMemDataSet.FreeIRecordSet
    004fa187 +023 ExportWizard.exe MemDS TMemDataSet.Destroy
    005076d4 +08c ExportWizard.exe DBAccess TCustomDADataSet.Destroy
    0055832d +01d ExportWizard.exe Ora TCustomOraQuery.Destroy
    0044c1ea +05a ExportWizard.exe Classes 7599 +9 TComponent.DestroyComponents
    0044befd +075 ExportWizard.exe Classes 7505 +12 TComponent.Destroy
    0048b67b +05b ExportWizard.exe Forms 5111 +5 TDataModule.Destroy
    0044c1ea +05a ExportWizard.exe Classes 7599 +9 TComponent.DestroyComponents
    0048347a +036 ExportWizard.exe Forms 1255 +3 DoneApplication
    004355d3 +03b ExportWizard.exe SysUtils 2242 +6 DoExitProc
    0040497f +027 ExportWizard.exe System 5488 +7 @Halt0
    00798a62 +102 ExportWizard.exe ExportWizard 56 +26 initialization

    thread $628 (TDummyThread):
    796bb700 +00 kernel32.dll
    >> created by main thread ($1bc) at:
    005cbc60 +f8 ExportWizard.exe GIFImage 12426 +29 initialization

    thread $630 (TThreadLog):
    77e41eb3 +0b user32.dll
    77e27978 +39 user32.dll GetMessageA
    00588376 +52 ExportWizard.exe RESILog 693 +9 TThreadLog.Execute
    00431362 +16 ExportWizard.exe madExcept HookedTThreadExecute
    0044bb1c +1c ExportWizard.exe Classes 7370 +2 ThreadProc
    00404b18 +28 ExportWizard.exe System 5606 +17 ThreadWrapper
    004312f7 +27 ExportWizard.exe madExcept ThreadExceptFrame
    >> created by main thread ($1bc) at:
    00588206 +32 ExportWizard.exe RESILog 648 +2 TThreadLog.Create

    thread $470:
    78468b37 +0b ntdll.dll NtReplyWaitReceivePortEx
    004312f7 +27 ExportWizard.exe madExcept ThreadExceptFrame
    >> created by thread $584 at:
    7713b047 +00 RPCRT4.dll

    modules:
    00230000 haspbc32.dll 0.7.5.0 C:\WINNT\system32
    00400000 ExportWizard.exe 3.0.0.13 E:\Export\ExportWizard 3.0.0.12
    01c50000 Ingenium.dll C:\Documents and Settings\Administrator\Desktop\Ingenium
    41000000 borlndmm.dll 5.0.6.18 C:\WINNT\system32
    65140000 appwiz.cpl 5.0.2195.6624 C:\WINNT\system32
    65450000 wtsapi32.dll 5.0.2134.1 C:\WINNT\system32
    655f0000 WINSTA.dll 5.0.2195.6701 C:\WINNT\system32
    664e0000 UTILDLL.dll 5.0.2195.6701 C:\WINNT\system32
    68950000 REGAPI.dll 5.0.2195.6602 C:\WINNT\system32
    694b0000 olepro32.dll 5.0.4522.0 C:\WINNT\system32
    6bd00000 SYNCOR11.DLL 0.1.2.3 C:\WINNT\system32
    70a70000 SHLWAPI.dll 6.0.2800.1612 C:\WINNT\system32
    71710000 comctl32.dll 5.81.4916.400 C:\WINNT\system32
    72c90000 CLBCATQ.DLL 2000.2.3511.0 C:\WINNT\system32
    74f80000 msafd.dll 5.0.2195.6602 C:\WINNT\system32
    74fd0000 WS2HELP.DLL 5.0.2134.1 C:\WINNT\system32
    74fe0000 WS2_32.DLL 5.0.2195.6601 C:\WINNT\system32
    75000000 wsock32.dll 5.0.2195.6603 C:\WINNT\system32
    75100000 SAMLIB.dll 5.0.2195.6944 C:\WINNT\system32
    75110000 ntlanman.dll 5.0.2195.6824 C:\WINNT\System32
    75170000 NETRAP.dll 5.0.2134.1 C:\WINNT\system32
    75180000 NETUI1.dll 5.0.2134.1 C:\WINNT\System32
    751c0000 NETUI0.dll 5.0.2195.6601 C:\WINNT\System32
    75980000 LZ32.DLL 5.0.2195.6611 C:\WINNT\system32
    75e30000 imm32.dll 5.0.2195.6655 C:\WINNT\system32
    76b10000 comdlg32.dll 5.0.3700.6693 C:\WINNT\system32
    77120000 RPCRT4.dll 5.0.2195.7020 C:\WINNT\system32
    77300000 MPRAPI.dll 5.0.2181.1 C:\WINNT\system32
    77360000 ADSLDPC.DLL 5.0.2195.6993 C:\WINNT\system32
    77390000 ACTIVEDS.DLL 5.0.2195.6601 C:\WINNT\system32
    77510000 TAPI32.dll 5.0.2195.6664 C:\WINNT\system32
    77550000 winmm.dll 5.0.2161.1 C:\WINNT\system32
    77800000 winspool.drv 5.0.2195.6659 C:\WINNT\system32
    77820000 version.dll 5.0.2195.6623 C:\WINNT\system32
    77830000 RTUTILS.DLL 5.0.2168.1 C:\WINNT\system32
    77950000 WLDAP32.DLL 5.0.2195.7017 C:\WINNT\system32
    77980000 DNSAPI.dll 5.0.2195.7003 C:\WINNT\system32
    779b0000 oleaut32.dll 2.40.4522.0 C:\WINNT\system32
    77bf0000 NTDSAPI.dll 5.0.2195.6666 C:\WINNT\system32
    77e10000 user32.dll 5.0.2195.7032 C:\WINNT\system32
    77f40000 GDI32.dll 5.0.2195.7011 C:\WINNT\system32
    78000000 msvcrt.dll 6.1.9844.0 C:\WINNT\system32
    783c0000 SETUPAPI.dll 5.0.2195.6622 C:\WINNT\system32
    78460000 ntdll.dll 5.0.2195.7006 C:\WINNT\system32
    79060000 USERENV.DLL 5.0.2195.7002 C:\WINNT\system32
    79260000 advapi32.dll 5.0.2195.7038 C:\WINNT\system32
    79340000 SECUR32.DLL 5.0.2195.6695 C:\WINNT\system32
    796b0000 kernel32.dll 5.0.2195.7006 C:\WINNT\system32
    79780000 mpr.dll 5.0.2195.6824 C:\WINNT\system32
    7ce00000 NETAPI32.dll 5.0.2195.7038 C:\WINNT\system32
    7ce60000 ole32.dll 5.0.2195.7034 C:\WINNT\system32
    7cf70000 shell32.dll 5.0.3900.7032 C:\WINNT\system32

    disassembling:
    004f7bf4 public TStringHeap.DisposeBuf: ; function entry point
    004f7bf4 push ebx
    004f7bf5 push esi
    004f7bf6 push edi
    004f7bf7 push ebp
    004f7bf8 mov edi, edx
    004f7bfa mov ebp, eax
    004f7bfc test edi, edi
    004f7bfe jz loc_4f7cba
    004f7bfe
    004f7c04 mov esi, edi
    004f7c06 sub esi, 2
    004f7c09 xor ecx, ecx
    004f7c0b mov edx, esi
    004f7c0d mov eax, [$4e9a28]
    004f7c12 call -$ddfb ($4e9e1c) ; Marshal.ReadInt16
    004f7c12
    004f7c17 mov ebx, eax
    004f7c19 cmp bx, $65
    004f7c1d jnb loc_4f7c33
    004f7c1d
    004f7c1f mov ecx, $1863
    004f7c24 mov edx, $4f7cc8 ; 'D:\Projects\Delphi\Dac\Source\MemData.pas'
    004f7c29 mov eax, $4f7cfc ; 'DisposeBuf failed'
    004f7c2e call -$f315f ($404ad4) ; @Assert
    004f7c2e
    004f7c33 loc_4f7c33:
    004f7c33 > cmp bx, $65
    004f7c37 jnz loc_4f7cab
    004f7c37
    004f7c39 mov ecx, ebx
    004f7c3b dec ecx
    004f7c3c mov edx, esi
    004f7c3e mov eax, [$4e9a28]
    004f7c43 call -$de24 ($4e9e24) ; Marshal.WriteInt16
    004f7c43
    004f7c48 mov edx, esi
    004f7c4a sub edx, 4
    004f7c4d xor ecx, ecx
    004f7c4f mov eax, [$4e9a28]
    004f7c54 call -$de21 ($4e9e38) ; Marshal.ReadInt32
    004f7c54
    004f7c59 lea ebx, [eax+8]
    004f7c5c dec ebx
    004f7c5d test ebx, ebx
    004f7c5f jns loc_4f7c64
    004f7c5f
    004f7c61 add ebx, 7
    004f7c5f
    004f7c64 loc_4f7c64:
    004f7c64 sar ebx, 3
    004f7c67 test ebx, ebx
    004f7c69 jnz loc_4f7c7f
    004f7c69
    004f7c6b mov ecx, $1868
    004f7c70 mov edx, $4f7cc8 ; 'D:\Projects\Delphi\Dac\Source\MemData.pas'
    004f7c75 mov eax, $4f7d18 ; 'SmallTab in DisposeBuf failed'
    004f7c7a call -$f31ab ($404ad4) ; @Assert

    004f7c7a
    004f7c7f loc_4f7c7f:
    004f7c7f cmp ebx, $fa
    004f7c85 jg loc_4f7c9d
    004f7c85
    004f7c87 mov ecx, [ebp+ebx*4]
    004f7c8b mov edx, edi
    004f7c8d mov eax, [$4e9a28]
    004f7c92 call -$ddf7 ($4e9ea0) ; Marshal.WriteIntPtr
    004f7c92
    004f7c97 mov [ebp+ebx*4], edi
    004f7c9b jmp loc_4f7cba
    004f7c9b
    004f7c9b ; ---------------------------------------------------------
    004f7c9b
    004f7c9d loc_4f7c9d:
    004f7c9d mov edx, esi
    004f7c9f mov eax, [$4e9a28]
    004f7ca4 call -$deb5 ($4e9df4) ; Marshal.FreeHGlobal
    004f7ca4
    004f7ca9 jmp loc_4f7cba
    004f7ca9
    004f7ca9 ; ---------------------------------------------------------
    004f7ca9
    004f7cab loc_4f7cab:
    004f7cab mov ecx, ebx
    004f7cad dec ecx
    004f7cae mov edx, esi
    004f7cb0 mov eax, [$4e9a28]
    004f7cb5 call -$de96 ($4e9e24) ; Marshal.WriteInt16
    004f7cb5
    004f7cba loc_4f7cba:
    004f7cba pop ebp
    004f7cbb pop edi
    004f7cbc pop esi
    004f7cbd pop ebx
    004f7cbe ret
Tanks in advance Paolo

Alex
Posts: 655
Joined: Mon 08 Nov 2004 08:39

Post by Alex » Wed 21 Sep 2005 07:02

Please specify your exact ODAC version (such problem was fixed in the last build), and if it is possible send us small demo sample to demonstrate your problem and script to create server objects.
Send a message to our ODAC support e-mail address.

Post Reply