access violation at address in module ntdll.dll - RtlEnterCriticalSection with TCanvas.Lock

自闭症网瘾萝莉.ら 提交于 2019-12-11 07:18:18

问题


I have a random rare AV in my application, which I cannot reproduce unfortunately.

exception message : Access violation at address 76FFD968 in module 'ntdll.dll'. Write of address 00000014.

main thread ($11a0):
76ffd968 +00099 ntdll.dll
76ffd872 +1b572 ntdll.dll                          RtlEnterCriticalSection
00470dca +0001e app.exe      Graphics              TCanvas.Lock
0047116b +0002f app.exe      Graphics              TCanvas.TryLock
00489cbd +00041 app.exe      Controls              FreeDeviceContexts
0048ea80 +0003c app.exe      Controls              TWinControl.MainWndProc
004a241c +00014 app.exe      Forms                 StdWndProc
75a50d48 +00016 user32.dll                         CallWindowProcW
004ff768 +00048 app.exe      TntControls   617 +12 TWinControlTrap.Win32Proc
004a241c +00014 app.exe      Forms                 StdWndProc
76fd0107 +0002b ntdll.dll                          KiUserCallbackDispatcher
0048d463 +0005f app.exe      Controls              TWinControl.Destroy
00493049 +0001d app.exe      Controls              TCustomControl.Destroy
0040332c +00008 app.exe      System                TObject.Free
004ac369 +00035 app.exe      Forms                 ValidateHintWindow
004ac5b8 +00230 app.exe      Forms                 TApplication.ActivateHint
004ac161 +00029 app.exe      Forms                 TApplication.HintTimerExpired
004a9fb6 +00022 app.exe      Forms                 HintTimerProc
75a47bc5 +0000a user32.dll                         DispatchMessageA
004ab4fb +00083 app.exe      Forms                 TApplication.ProcessMessage
004ab532 +0000a app.exe      Forms                 TApplication.HandleMessage
004a8137 +00147 app.exe      Forms                 TCustomForm.ShowModal

I'm using Tnt Unicode controls. from the error log I can tell that the cause of the problem is a Unicode hint window, and an invalid device context (?). I'm quit sure the Hint window Canvas is being Locked/Unlocked properly in the TCustomControl.WMPaint ancestor. But still I assume the DC is not valid, and can't figure out why - who is messing with the DC.

I am not looking you to debug my program. But maybe an idea on how to approach the issue. Has anyone had this issue with Tnt Unicode controls?

Any help would be much appreciated.

来源:https://stackoverflow.com/questions/40863225/access-violation-at-address-in-module-ntdll-dll-rtlentercriticalsection-with-t

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!