访问冲突注册Canvas类

时间:2014-06-04 19:37:21

标签: delphi delphi-xe3

我收到了一些错误报告,指出在启动时注册Canvas类时发生的访问冲突,更具体地说是在@IntfClear期间执行TCustomDX10Context.CheckDevice

完整的bug报告:

date/time         : 2014-06-04, 18:05:43, 594ms
computer name     : <...>
user name         : <...>
registered owner  : <...>
operating system  : Windows 7 x64 Service Pack 1 build 7601
system language   : English
system up time    : 54 minutes 48 seconds
program up time   : 99 milliseconds
processors        : 4x Intel(R) Core(TM) i5 CPU 661 @ 3.33GHz
physical memory   : 5055/8055 MB (free/total)
free disk space   : (C:) 91.84 GB
display mode      : 1920x1080, 32 bit
process id        : $18c0
allocated memory  : 71.76 MB
executable        : <...>.exe
exec. date/time   : 2014-05-29 22:36
version           : 3.2.1.2
compiled with     : Delphi XE3
madExcept version : 4.0.6
callstack crc     : $077d2d6c, $53160fd9, $53160fd9
exception number  : 1
exception class   : EAccessViolation
exception message : Zugriffsverletzung bei Adresse 077D2D6C. Lesen von Adresse 000000AE.

main thread ($d0):
077d2d6c +000 ???
0040e028 +010 <...>.exe System            191  +0 @IntfClear
0096af25 +0cd <...>.exe FMX.Context.DX10          TCustomDX10Context.CheckDevice
00976559 +005 <...>.exe FMX.Canvas.D2D            RegisterCanvasClasses
00990c6c +000 <...>.exe FMX.Platform.Win 3404  +0 TPlatformWin.RegisterCanvasClasses
009d6312 +056 <...>.exe FMX.Types                 TCanvasManager.GetDefaultCanvas
009d62aa +00e <...>.exe FMX.Types                 TCanvasManager.CreateFromWindow
00a0574e +026 <...>.exe FMX.Forms                 TCustomForm.CreateHandle
009fff91 +0b9 <...>.exe FMX.Forms                 TCommonCustomForm.InitializeNewForm
00a054fa +006 <...>.exe FMX.Forms                 TCustomForm.InitializeNewForm
009ffce4 +094 <...>.exe FMX.Forms                 TCommonCustomForm.Create
00a056c6 +016 <...>.exe FMX.Forms                 TCustomForm.Create
009fb947 +057 <...>.exe FMX.Forms                 TApplication.CreateForm
009fbb0b +05f <...>.exe FMX.Forms                 TApplication.RealCreateForms
00988861 +011 <...>.exe FMX.Platform.Win  461  +1 TPlatformWin.Run
009fe821 +0d1 <...>.exe FMX.Forms                 TApplication.Run
00beccf4 +2c0 <...>.exe <...>             106 +39 initialization
75863388 +010 kernel32.dll                                  BaseThreadInitThunk

thread $186c:
778a0156 +0e ntdll.dll                     NtWaitForMultipleObjects
76e715f1 +fa KERNELBASE.dll                WaitForMultipleObjectsEx
758619f3 +89 kernel32.dll                  WaitForMultipleObjectsEx
75330864 +00 USER32.dll                    MsgWaitForMultipleObjectsEx
75330b64 +1a USER32.dll                    MsgWaitForMultipleObjects
004a42e9 +0d <...>.exe madExcept CallThreadProcSafe
004a434e +32 <...>.exe madExcept ThreadExceptFrame
75863388 +10 kernel32.dll                  BaseThreadInitThunk
>> created by main thread ($d0) at:
734878e1 +00 gdiplus.dll

thread $1288: <priority:1>
7789f8ca +0e ntdll.dll                     NtWaitForSingleObject
76e714a5 +92 KERNELBASE.dll                WaitForSingleObjectEx
7586118f +3e kernel32.dll                  WaitForSingleObjectEx
75861143 +0d kernel32.dll                  WaitForSingleObject
004a42e9 +0d <...>.exe madExcept CallThreadProcSafe
004a434e +32 <...>.exe madExcept ThreadExceptFrame
75863388 +10 kernel32.dll                  BaseThreadInitThunk
>> created by main thread ($d0) at:
54377390 +00 nvwgf2um.dll

thread $28c:
778a1f3f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
75863388 +10 kernel32.dll  BaseThreadInitThunk

thread $1bcc:
778a1f3f +0b ntdll.dll     NtWaitForWorkViaWorkerFactory
75863388 +10 kernel32.dll  BaseThreadInitThunk

modules:
00400000 <...>.exe                                3.2.1.2            C:\<...>
10000000 nvspcap.dll                              10.11.15.0         C:\Windows\system32
53c10000 nvwgf2um.dll                             9.18.13.2723       C:\Windows\system32
603d0000 AcGenral.DLL                             6.1.7601.18128     C:\Windows\AppPatch
606d0000 atkdx11disp.dll                          7.14.10.305        C:\Windows\system32
60700000 d3d10_1core.dll                          6.2.9200.16492     C:\Windows\system32
60750000 d3d10_1.dll                              6.2.9200.16492     C:\Windows\system32
60780000 security.dll                             6.1.7600.16385     C:\Windows\system32
60790000 FaultRep.dll                             6.1.7601.17514     C:\Windows\system32
607f0000 sfc_os.DLL                               6.1.7600.16385     C:\Windows\system32
60800000 sfc.dll                                  6.1.7600.16385     C:\Windows\system32
6ed00000 d3d11.dll                                6.2.9200.16570     C:\Windows\system32
706d0000 dxgi.dll                                 6.2.9200.16492     C:\Windows\system32
70ca0000 propsys.dll                              7.0.7601.17514     C:\Windows\system32
70e00000 d3d9.dll                                 6.1.7601.17514     C:\Windows\system32
70fd0000 nvapi.dll                                9.18.13.2723       C:\Windows\system32
71a50000 comctl32.dll                             6.10.7601.17514    C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2
71bf0000 winmm.dll                                6.1.7601.17514     C:\Windows\system32
72150000 samcli.dll                               6.1.7601.17514     C:\Windows\system32
73210000 MSACM32.dll                              6.1.7600.16385     C:\Windows\system32
73230000 d3d8thk.dll                              6.1.7600.16385     C:\Windows\system32
73440000 gdiplus.dll                              6.1.7601.18120     C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.7601.18120_none_72d2e82386681b36
73890000 apphelp.dll                              6.1.7601.17514     C:\Windows\system32
738e0000 MPR.dll                                  6.1.7600.16385     C:\Windows\system32
73ca0000 wsock32.dll                              6.1.7600.16385     C:\Windows\system32
73f20000 SECUR32.DLL                              6.1.7601.18443     C:\Windows\system32
74090000 dwmapi.dll                               6.1.7600.16385     C:\Windows\system32
74100000 UxTheme.dll                              6.1.7600.16385     C:\Windows\system32
742e0000 comctl32.dll                             5.82.7601.18201    C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.18201_none_ec80f00e8593ece5
74f90000 profapi.dll                              6.1.7600.16385     C:\Windows\system32
74fa0000 USERENV.dll                              6.1.7601.17514     C:\Windows\system32
750b0000 ntmarta.dll                              6.1.7600.16385     C:\Windows\system32
750e0000 sophos_detoured.dll                      10.3.3.128         C:\Program Files (x86)\Sophos\Sophos Anti-Virus
75130000 winspool.drv                             6.1.7601.17514     C:\Windows\system32
75190000 version.dll                              6.1.7600.16385     C:\Windows\system32
752a0000 CRYPTBASE.dll                            6.1.7600.16385     C:\Windows\syswow64
752b0000 SspiCli.dll                              6.1.7601.18443     C:\Windows\syswow64
75310000 USER32.dll                               6.1.7601.17514     C:\Windows\syswow64
75410000 iertutil.dll                             11.0.9600.17041    C:\Windows\syswow64
75630000 SETUPAPI.dll                             6.1.7601.17514     C:\Windows\syswow64
757d0000 PSAPI.DLL                                6.1.7600.16385     C:\Windows\syswow64
757e0000 api-ms-win-downlevel-normaliz-l1-1-0.dll 6.2.9200.16492     C:\Windows\syswow64
757f0000 NSI.dll                                  6.1.7600.16385     C:\Windows\syswow64
75800000 WLDAP32.dll                              6.1.7601.17514     C:\Windows\syswow64
75850000 kernel32.dll                             6.1.7601.18409     C:\Windows\syswow64
759f0000 DEVOBJ.dll                               6.1.7601.17621     C:\Windows\syswow64
75a10000 RPCRT4.dll                               6.1.7601.18205     C:\Windows\syswow64
75b00000 WININET.dll                              11.0.9600.17041    C:\Windows\syswow64
75cc0000 shell32.dll                              6.1.7601.18429     C:\Windows\syswow64
76910000 WS2_32.dll                               6.1.7601.17514     C:\Windows\syswow64
769b0000 api-ms-win-downlevel-advapi32-l1-1-0.dll 6.2.9200.16492     C:\Windows\syswow64
769c0000 MSCTF.dll                                6.1.7600.16385     C:\Windows\syswow64
76a90000 comdlg32.dll                             6.1.7601.17514     C:\Windows\syswow64
76b10000 api-ms-win-downlevel-shlwapi-l1-1-0.dll  6.2.9200.16492     C:\Windows\syswow64
76b50000 msvcrt.dll                               7.0.7601.17744     C:\Windows\syswow64
76c00000 api-ms-win-downlevel-ole32-l1-1-0.dll    6.2.9200.16492     C:\Windows\syswow64
76c10000 ole32.dll                                6.1.7601.17514     C:\Windows\syswow64
76d70000 normaliz.DLL                             6.1.7600.16385     C:\Windows\syswow64
76d80000 CLBCatQ.DLL                              2001.12.8530.16385 C:\Windows\syswow64
76e10000 CFGMGR32.dll                             6.1.7601.17621     C:\Windows\syswow64
76e40000 sechost.dll                              6.1.7600.16385     C:\Windows\SysWOW64
76e60000 KERNELBASE.dll                           6.1.7601.18409     C:\Windows\syswow64
76eb0000 IMM32.DLL                                6.1.7601.17514     C:\Windows\system32
76f10000 USP10.dll                                1.626.7601.18009   C:\Windows\syswow64
76fb0000 WINTRUST.dll                             6.1.7601.18205     C:\Windows\syswow64
76fe0000 api-ms-win-downlevel-version-l1-1-0.dll  6.2.9200.16492     C:\Windows\syswow64
76ff0000 CRYPT32.dll                              6.1.7601.18277     C:\Windows\syswow64
77110000 MSASN1.dll                               6.1.7601.17514     C:\Windows\syswow64
77120000 ADVAPI32.dll                             6.1.7601.18247     C:\Windows\syswow64
771c0000 oleaut32.dll                             6.1.7601.17676     C:\Windows\syswow64
77250000 SHLWAPI.dll                              6.1.7601.17514     C:\Windows\syswow64
772b0000 api-ms-win-downlevel-user32-l1-1-0.dll   6.2.9200.16492     C:\Windows\syswow64
772c0000 GDI32.dll                                6.1.7601.18275     C:\Windows\syswow64
77350000 urlmon.dll                               11.0.9600.17041    C:\Windows\syswow64
77850000 LPK.dll                                  6.1.7601.18177     C:\Windows\syswow64
77880000 ntdll.dll                                6.1.7601.18247     C:\Windows\SysWOW64

processes:
0000 Idle                     0 0   0
0004 System                   0 0   0
0120 smss.exe                 0 0   0
01c8 csrss.exe                0 0   0
0210 wininit.exe              0 0   0
0224 csrss.exe                1 0   0
0250 services.exe             0 0   0
0260 lsass.exe                0 0   0
0268 lsm.exe                  0 0   0
02d4 winlogon.exe             1 0   0
02f4 svchost.exe              0 0   0
0330 ATKFUSService.exe        0 0   0
0344 nvvsvc.exe               0 0   0
0360 nvSCPAPISvr.exe          0 0   0
038c svchost.exe              0 0   0
03c8 atiesrxx.exe             0 0   0
03f8 svchost.exe              0 0   0
014c svchost.exe              0 0   0
0298 svchost.exe              0 0   0
0228 svchost.exe              0 0   0
0454 audiodg.exe              0 0   0
04ac SavService.exe           0 0   0
04b8 atieclxx.exe             1 0   0
04c8 nvxdsync.exe             1 0   0
04d0 nvvsvc.exe               1 0   0
0614 ATKFastUserSwitching.exe 1 18  11  normal
0660 dwm.exe                  1 18  2   high
0678 explorer.exe             1 356 266 normal
0790 svchost.exe              0 0   0
07e4 svchost.exe              0 0   0
0490 spoolsv.exe              0 0   0
082c taskhost.exe             1 25  23  normal
08d0 NvTmru.exe               1 9   4   normal       C:\Program Files (x86)\NVIDIA Corporation\NVIDIA Update Core
0924 NvBackend.exe            1 9   4   normal       C:\Program Files (x86)\NVIDIA Corporation\Update Core
0944 ANIWConnService.exe      0 0   0
0980 ANIWZCSdS.exe            0 0   0
099c RtlService.exe           0 0   0
09dc flux.exe                 1 22  13  normal       C:\Users\<...>\AppData\Local\FluxSoftware\Flux
09f4 SpotifyWebHelper.exe     1 9   3   normal       C:\Users\<...>\AppData\Roaming\Spotify\Data
0a3c nvtray.exe               1 81  5   normal
0a74 BCUService.exe           0 0   0
0aac FABS.exe                 0 0   0
0ae0 RtWLan.exe               1 0   0
0b48 NvNetworkService.exe     0 0   0
0ba8 nvstreamsvc.exe          0 0   0
0610 spotify.exe              1 222 81  normal       C:\Users\<...>\AppData\Roaming\Spotify
046c razerhid.exe             1 9   5   normal       C:\Program Files (x86)\Razer\Arctosa
09c8 BCU.exe                  1 9   4   normal       C:\Program Files (x86)\DeviceVM\Browser Configuration Utility
0b9c jusched.exe              1 9   2   normal       C:\Program Files (x86)\Common Files\Java\Java Update
0b84 PnkBstrA.exe             0 0   0
0910 PnkBstrB.exe             0 0   0
0920 SAVAdminService.exe      0 0   0
09d4 ALsvc.exe                0 0   0
0c70 swc_service.exe          0 0   0
0c98 svchost.exe              0 0   0
0cac swi_service.exe          0 0   0
0cec TurboBoost.exe           0 0   0
0d30 ALMon.exe                1 47  40  normal       C:\Program Files (x86)\Sophos\AutoUpdate
0d60 WLIDSVC.EXE              0 0   0
0e04 WLIDSVCM.EXE             0 0   0
0efc WmiPrvSE.exe             0 0   0
0ff0 SearchIndexer.exe        0 0   0
0af0 svchost.exe              0 0   0
11b8 nvstreamsvc.exe          1 0   0
11cc conhost.exe              1 0   0
127c wmpnetwk.exe             0 0   0
130c svchost.exe              0 0   0
11d0 svchost.exe              0 0   0
1304 SpotifyHelper.exe        1 52  1   normal       C:\Users\<...>\AppData\Roaming\Spotify\Data
1134 SpotifyHelper.exe        1 33  1   normal       C:\Users\<...>\AppData\Roaming\Spotify\Data
15c8 SpotifyHelper.exe        1 13  3   normal       C:\Users\<...>\AppData\Roaming\Spotify\Data
17a8 dllhost.exe              0 0   0
151c LMS.exe                  0 0   0
14b0 svchost.exe              0 0   0
1018 UNS.exe                  0 0   0
059c SpotifyHelper.exe        1 142 1   normal       C:\Users\<...>\AppData\Roaming\Spotify\Data
08d8 SpotifyHelper.exe        1 11  1   normal       C:\Users\<...>\AppData\Roaming\Spotify\Data
0abc chrome.exe               1 375 53  normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
0eb4 chrome.exe               1 12  5   normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
12d8 chrome.exe               1 11  1   normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
0da8 chrome.exe               1 719 1   normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
10bc chrome.exe               1 11  1   normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
1114 chrome.exe               1 9   1   normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
0968 chrome.exe               1 11  1   normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
1220 chrome.exe               1 10  1   normal       C:\Users\<...>\AppData\Local\Google\Chrome\Application
1974 jucheck.exe              1 12  6   normal       C:\Program Files (x86)\Common Files\Java\Java Update
0778 chrome.exe               1 251 1   below normal C:\Users\<...>\AppData\Local\Google\Chrome\Application
1144 WINWORD.EXE              1 474 118 normal       C:\Program Files (x86)\Microsoft Office\Office14
0cc4 OSPPSVC.EXE              0 0   0
17b8 splwow64.exe             1 4   2   normal
1410 SearchProtocolHost.exe   0 0   0
1258 SearchFilterHost.exe     0 0   0   idle
18e0 chrome.exe               1 209 1   below normal C:\Users\<...>\AppData\Local\Google\Chrome\Application
18c0 <...>.exe      1 36  34  normal       C:\<...>

cpu registers:
eax = 00000000
ebx = 00000000
ecx = 00000000
edx = 00000008
esi = 0018fca4
edi = 077d2d6c
eip = 077d2d6c
esp = 0018fc60
ebp = 077d2444

stack dump:
0018fc60  a4 fc 18 00 44 24 7d 07 - 6c 2d 7d 07 44 24 00 06  ....D$}.l-}.D$..
0018fc70  2c 63 de 6e 48 81 7d 07 - 6c 2d 7d 07 00 00 00 00  ,c.nH.}.l-}.....
0018fc80  01 00 00 00 00 00 00 00 - ac fc 18 00 42 00 d2 6e  ............B..n
0018fc90  6c 2d 7d 07 01 00 00 00 - 58 25 7d 07 44 24 7d 07  l-}.....X%}.D$}.
0018fca0  3c 27 7d 07 3c 27 7d 07 - 3c a6 d0 6e c0 fc 18 00  <'}.<'}.<..n....
0018fcb0  1b ff d1 6e 6c 2d 7d 07 - 44 24 7d 07 a0 00 00 00  ...nl-}.D$}.....
0018fcc0  cc fc 18 00 43 25 d1 6e - 3c 27 7d 07 e0 fc 18 00  ....C%.n<'}.....
0018fcd0  6d 6d d1 6e fc 26 7d 07 - 00 00 00 00 3c 24 7d 07  mm.n.&}.....<$}.
0018fce0  ec fc 18 00 f1 26 d1 6e - 10 24 7d 07 f8 fc 18 00  .....&.n.$}.....
0018fcf0  52 c1 d4 6e 3c 24 7d 07 - 14 fd 18 00 5f 39 d1 6e  R..n<$}....._9.n
0018fd00  10 24 7d 07 04 34 d1 6e - 10 24 7d 07 66 38 d1 6e  .$}..4.n.$}.f8.n
0018fd10  10 24 7d 07 28 fd 18 00 - 5f 34 d1 6e 00 00 00 00  .$}.(..._4.n....
0018fd20  16 00 00 00 90 05 00 00 - 34 fd 18 00 c5 25 d1 6e  ........4....%.n
0018fd30  10 24 7d 07 40 fd 18 00 - d1 f5 d4 6e 3c 27 7d 07  .$}.@......n<'}.
0018fd40  84 fd 18 00 2b e0 40 00 - 74 27 7d 07 80 fd 18 00  ....+.@.t'}.....
0018fd50  2a af 96 00 60 fd 18 00 - 9c 98 40 00 84 fd 18 00  *...`.....@.....
0018fd60  6c fd 18 00 9c 98 40 00 - 84 fd 18 00 94 fd 18 00  l.....@.........
0018fd70  9c 98 40 00 84 fd 18 00 - a0 00 00 00 00 00 75 60  ..@...........u`
0018fd80  00 00 00 00 bc fd 18 00 - 5e 65 97 00 71 0c 99 00  ........^e..q...
0018fd90  15 63 9d 00 10 fe 18 00 - 9c 98 40 00 bc fd 18 00  .c........@.....

disassembling:
[...]
0040e01c       jz      loc_40e02c
0040e01e       mov     dword ptr [eax], 0
0040e024       push    eax
0040e025       push    edx
0040e026       mov     eax, [edx]
0040e028     > call    dword ptr [eax+8]
0040e02b       pop     eax
0040e02c       ret

这绝不是在所有机器上发生,但似乎是一个非常罕见的问题。


编辑:

根据@Graymatter的建议,我已经能够建立SSCCE。

program SSCCE;

{$APPTYPE CONSOLE}

{$R *.res}

uses System.SysUtils, FMX.Context.DX10;

begin
  try
    TCustomDX10Context.CheckDevice;
    WriteLn('Everything went fine, guess we have to dig deeper.');
  except
    on E: Exception do Writeln(E.ClassName, ': ', E.Message);
  end;
  Write('Press enter to exit.');
  ReadLn;
end.

产生的输出是Zugriffsverletzung bei Adresse 05C1006C. Lesen von Adresse 06F29ED3有关如何处理的任何建议吗?

0 个答案:

没有答案