CEdit -> Exception is a heap and access violation

-4

Our application has been used in Windows XP Embedded 32Bit and Windows 7 Embedded 32Bit.

Since last year, the source of the application has been changed and used for Windows 10 IOT 64bit Ver 1809.

Often, when CEdit is inherited and created in the wrapper class used, or when ShowWindow is opened (WM_PAINT, WM_SETTEXT), the application is terminated.

Exception is a heap and access violation.

It occurs about 30 or more during the development period of about 7 to 8 months.

Error Dump Call Stack

1. the assembly instruction at uxtheme!BeginBufferedPaint+84 in C:\Windows\System32\uxtheme.dll has caused an access violation exception (0xC0000005) when trying to read from memory location 0x23000000 on thread 0

2. uxtheme.dll!BeginBufferedPaint(HDC__ * hdcTarget, const tagRECT * prcTarget, _BP_BUFFERFORMAT dwFormat, _BP_PAINTPARAMS * pPaintParams, HDC__ * * phdc) 줄 4053 C++
      comctl32.dll!CCompositedDraw::BeginDoubleBuffer(struct HDC__ *,struct tagRECT const *) 
     comctl32.dll!CCompositedDraw::BeginCompositedPaint(struct HWND__ *,struct HDC__ *,struct tagPAINTSTRUCT *,int) 
     comctl32.dll!EditSL_WndProc() 
     comctl32.dll!Edit_WndProc()
     user32.dll!UserCallWinProcCheckWow()
     user32.dll!CallWindowProcW()
> mfc120u.dll!CWnd::DefWindowProcW(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) 줄 1117 C++
      mfc120u.dll!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) 줄 2095 C++
      CEdit::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) 

3. uxtheme.dll!CPaintBufferPool::Impl::BeginAnimation(HWND__ * hwnd, HDC__ * hdcTarget, const tagRECT * prcTarget, _BP_BUFFERFORMAT dwFormat, const _BP_PAINTPARAMS * pPaintParams, const _BP_ANIMATIONPARAMS * pAnimationParams, HDC__ * * phdcFrom, HDC__ * * phdcTo) 줄 2410 C++
      uxtheme.dll!BeginBufferedPaint(HDC__ * hdcTarget, const tagRECT * prcTarget, _BP_BUFFERFORMAT dwFormat, _BP_PAINTPARAMS * pPaintParams, HDC__ * * phdc) 줄 4053 C++
      comctl32.dll!CCompositedDraw::BeginDoubleBuffer(struct HDC__ *,struct tagRECT const *)
     comctl32.dll!CCompositedDraw::BeginCompositedPaint(struct HWND__ *,struct HDC__ *,struct tagPAINTSTRUCT *,int) 
     comctl32.dll!EditSL_WndProc() 
     comctl32.dll!Edit_WndProc()
     user32.dll!UserCallWinProcCheckWow()
     user32.dll!CallWindowProcW()
     mfc120u.dll!CWnd::DefWindowProcW(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) 줄 1117 C++
      mfc120u.dll!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) 줄 2095 C++
        
4.  ntdll.dll!RtlReportFatalFailure() 
     ntdll.dll!RtlReportCriticalFailure() 
     ntdll.dll!RtlpHeapHandleError()
     ntdll.dll!RtlpHpHeapHandleError()
     ntdll.dll!RtlpLogHeapFailure() 
     ntdll.dll!RtlpReAllocateHeapInternal()
     ntdll.dll!RtlReAllocateHeap() 
     uxtheme.dll!CThemeMap<void * __ptr64,CPaintBuffer * __ptr64,CThemeMapEqualHelper<void * __ptr64,CPaintBuffer * __ptr64> >::Add(void * const & key, CPaintBuffer * const & val) 줄 419 C++
      uxtheme.dll!CPaintBufferPool::Impl::BeginAnimation(HWND__ * hwnd, HDC__ * hdcTarget, const tagRECT * prcTarget, _BP_BUFFERFORMAT dwFormat, const _BP_PAINTPARAMS * pPaintParams, const _BP_ANIMATIONPARAMS * pAnimationParams, HDC__ * * phdcFrom, HDC__ * * phdcTo) 줄 2431 C++
      uxtheme.dll!BeginBufferedPaint(HDC__ * hdcTarget, const tagRECT * prcTarget, _BP_BUFFERFORMAT dwFormat, _BP_PAINTPARAMS * pPaintParams, HDC__ * * phdc) 줄 4053 C++
      comctl32.dll!CCompositedDraw::BeginDoubleBuffer(struct HDC__ *,struct tagRECT const *) 
     comctl32.dll!CCompositedDraw::BeginCompositedPaint(struct HWND__ *,struct HDC__ *,struct tagPAINTSTRUCT *,int)
     comctl32.dll!EditSL_WndProc()
     comctl32.dll!Edit_WndProc()
     user32.dll!UserCallWinProcCheckWow()
     user32.dll!CallWindowProcW() 
> mfc120u.dll!CWnd::DefWindowProcW(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) 줄 1117 C++
      mfc120u.dll!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) 줄 2095 C++
      0x00007FF8DC47B049(ntdll.dll)에(STATUS_HEAP_CORRUPTION_-20210325-171251.dmp의) 처리되지 않은 예외가 있습니다. 0xC0000374: A heap has been corrupted(매개 변수: 0x00007FF8DC4E27F0). 
      

Windows 10 IOT 1809, AccessDatabaseEngine_X64, vcredist_x64_2013, vcredist_x64_2010, vs2005_redistributable_x64.

I've tried to delete the Point object that creates New in the wrapper class, create a new wrapper class, change Wrapper Class Location, Windows Update, etc.

c++
c
mfc
asked on Stack Overflow May 28, 2021 by junebeom.kim • edited May 28, 2021 by Remy Lebeau

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0