MFC x64 Release Version using MFC DLL (mfc140u.dll 14.24.28127.4) crashes on startup about 30% of the time with Access Violation?

0

I haven't seen any problem using debug version, which uses static linked MFC to be able to step in to debug, but the release version using a DLL crashes on startup at the same place each time about 30% of the time. I confirm after LoadFrame(), OnCreate() is called and completed. It seems like it might be in MFC and the CMFCToolBar? But maybe I have an issue? It's pretty boiler plate, does anyone know of any issues or what may be wrong? Below is the dump and the OnCreate code.

KEY_VALUES_STRING: 1

    Key  : AV.Fault
    Value: Read

    Key  : Timeline.Process.Start.DeltaSec
    Value: 1


PROCESSES_ANALYSIS: 1

SERVICE_ANALYSIS: 1

STACKHASH_ANALYSIS: 1

TIMELINE_ANALYSIS: 1

Timeline: !analyze.Start
    Name: <blank>
    Time: 2020-07-29T02:03:46.947Z
    Diff: 602947 mSec

Timeline: Dump.Current
    Name: <blank>
    Time: 2020-07-29T01:53:44.0Z
    Diff: 0 mSec

Timeline: Process.Start
    Name: <blank>
    Time: 2020-07-29T01:53:43.0Z
    Diff: 1000 mSec


DUMP_CLASS: 2

DUMP_QUALIFIER: 400

CONTEXT:  (.ecxr)
rax=4808588948c48b48 rbx=00007ffaf03576c8 rcx=00007ffaf00d05f0
rdx=00007ffaf03576c8 rsi=0000025741acc480 rdi=00007ffaeff94790
rip=00007ffaf01a9bd1 rsp=0000008d7016ef30 rbp=0000000000000005
 r8=0000025741ac63b0  r9=0000000000000001 r10=000000000000001b
r11=0000008d7016ef00 r12=0000000000000000 r13=0000025741ac7f20
r14=0000025741acce00 r15=0000008d7016f0f8
iopl=0         nv up ei pl nz na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206
mfc140u!CObject::IsKindOf+0x11:
00007ffa`f01a9bd1 488b00          mov     rax,qword ptr [rax] ds:48085889`48c48b48=????????????????
Resetting default scope

FAULTING_IP: 
mfc140u!CObject::IsKindOf+11 [d:\agent\_work\1\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\objcore.cpp @ 45]
00007ffa`f01a9bd1 488b00          mov     rax,qword ptr [rax]

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ffaf01a9bd1 (mfc140u!CObject::IsKindOf+0x0000000000000011)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: ffffffffffffffff
Attempt to read from address ffffffffffffffff

DEFAULT_BUCKET_ID:  INVALID_POINTER_READ

PROCESS_NAME:  myapp.exe

FOLLOWUP_IP: 
mfc140u!CObject::IsKindOf+11 [d:\agent\_work\1\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\objcore.cpp @ 45]
00007ffa`f01a9bd1 488b00          mov     rax,qword ptr [rax]

READ_ADDRESS:  ffffffffffffffff 

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  ffffffffffffffff

WATSON_BKT_PROCSTAMP:  5f20d690

WATSON_BKT_PROCVER:  1.0.0.0

PROCESS_VER_PRODUCT:  My Application Title

WATSON_BKT_MODULE:  mfc140u.dll

WATSON_BKT_MODSTAMP:  5d8e6ad5

WATSON_BKT_MODOFFSET:  239bd1

WATSON_BKT_MODVER:  14.24.28127.4

MODULE_VER_PRODUCT:  Microsoft® Visual Studio®

BUILD_VERSION_STRING:  18362.1.amd64fre.19h1_release.190318-1202

MODLIST_WITH_TSCHKSUM_HASH:  f1db3597ce8bd07729072a74670dd620b5392119

MODLIST_SHA1_HASH:  262e0c46a96b2a522dbec32358acb565913f5adf

NTGLOBALFLAG:  0

PROCESS_BAM_CURRENT_THROTTLED: 0

PROCESS_BAM_PREVIOUS_THROTTLED: 0

APPLICATION_VERIFIER_FLAGS:  0

DUMP_FLAGS:  94

DUMP_TYPE:  1

ANALYSIS_SESSION_HOST:  PC01

ANALYSIS_SESSION_TIME:  07-28-2020 19:03:46.0947

ANALYSIS_VERSION: 10.0.18362.1 amd64fre

THREAD_ATTRIBUTES: 
OS_LOCALE:  ENU

BUGCHECK_STR:  APPLICATION_FAULT_INVALID_POINTER_READ

PRIMARY_PROBLEM_CLASS:  APPLICATION_FAULT

PROBLEM_CLASSES: 

    ID:     [0n313]
    Type:   [@ACCESS_VIOLATION]
    Class:  Addendum
    Scope:  BUCKET_ID
    Name:   Omit
    Data:   Omit
    PID:    [Unspecified]
    TID:    [0x57e0]
    Frame:  [0] : mfc140u!CObject::IsKindOf

    ID:     [0n285]
    Type:   [INVALID_POINTER_READ]
    Class:  Primary
    Scope:  DEFAULT_BUCKET_ID (Failure Bucket ID prefix)
            BUCKET_ID
    Name:   Add
    Data:   Omit
    PID:    [Unspecified]
    TID:    [0x57e0]
    Frame:  [0] : mfc140u!CObject::IsKindOf

LAST_CONTROL_TRANSFER:  from 00007ffaf01a9c19 to 00007ffaf01a9bd1

STACK_TEXT:  
0000008d`7016ef30 00007ffa`f01a9c19 : 00000257`41a62980 00007ffb`1f9214cb 0000008d`7016f0f8 00000257`41a58a60 : mfc140u!CObject::IsKindOf+0x11
0000008d`7016ef60 00007ffa`f00ea366 : 00000000`00000000 00000257`41acbc30 0000008d`7016f0f8 00000257`00000000 : mfc140u!AfxDynamicDownCast+0x19
0000008d`7016ef90 00007ffa`f00cde2b : 00000257`41a62980 00000000`00000000 00000257`41aca230 ffffffff`fffffffe : mfc140u!CMFCToolBarMenuButton::CompareWith+0x76
0000008d`7016efc0 00007ffa`f00ce9c8 : 00000257`00000001 00007ffa`f01a9bda 00000000`00000000 0000008d`7016f130 : mfc140u!CMFCToolBar::SmartUpdate+0x18b
0000008d`7016f0d0 00007ffa`f00c7d71 : 00000257`41a967c8 00000000`0000e806 00000000`ffffffff 00000257`41a58a60 : mfc140u!CMFCToolBar::LoadLastOriginalState+0x88
0000008d`7016f140 00007ffa`efffdd4a : 00000257`41a62980 00000257`41ac4448 00000257`0000e806 00000257`00000000 : mfc140u!CMFCToolBar::LoadState+0x291
0000008d`7016f2d0 00007ffa`f013c236 : 00000257`41ac4448 00000257`41a62980 0000008d`7016f3e9 00000257`41aabda0 : mfc140u!CMFCMenuBar::LoadState+0x21a
0000008d`7016f340 00007ffa`effd3cfb : 0000008d`7016f580 00007ffa`effd61be ffffffff`fffffffe 00000257`41a62480 : mfc140u!CWinAppEx::LoadState+0x236
0000008d`7016f450 00007ffa`effd90ef : 00000257`41a58d48 00000000`00000000 00000257`41a62290 00000000`00000000 : mfc140u!CFrameImpl::OnLoadFrame+0x3b
0000008d`7016f4a0 00007ff6`1b3dd2c5 : 00000257`41a62290 00000000`00000001 00000257`41a31650 00000257`41a62290 : mfc140u!CFrameWndEx::LoadFrame+0x5f
0000008d`7016f4e0 00007ffa`f019b0e9 : 00000257`41a62290 00000257`41961440 00007ff6`1b3d0000 00000257`41960000 : myapp!CMainFrame::LoadFrame+0x35
0000008d`7016f550 00007ffa`f019a760 : 00000000`00000001 00000000`00000000 00000257`419602e0 00007ffb`2257b997 : mfc140u!CDocTemplate::CreateNewFrame+0x89
0000008d`7016f5c0 00007ffa`f019a23d : 00000257`41a58a60 00000000`00000001 00000000`00000000 00000257`00000000 : mfc140u!CSingleDocTemplate::OpenDocumentFile+0xe0
0000008d`7016f630 00007ffa`f0199a9d : 00000257`41a31450 00000257`41960cf0 00000000`00000000 00000000`00000000 : mfc140u!CMultiDocTemplate::OpenDocumentFile+0x1d
0000008d`7016f670 00007ffa`f0142630 : 00000257`41a31650 00000000`00000000 00000000`ffffffff 00007ff6`1b3fd4d0 : mfc140u!CDocManager::OnFileNew+0xbd
0000008d`7016f7f0 00007ffa`f01439bc : 00000257`41a31650 00000000`00000001 00000000`00000000 00007ffa`f01407a2 : mfc140u!CWinApp::OnFileNew+0x20
0000008d`7016f820 00007ff6`1b3d5fd3 : 00000257`41a31650 0000008d`7016f970 0000008d`7016f970 00007ff6`1b3fd4d0 : mfc140u!CWinApp::ProcessShellCommand+0xcc
0000008d`7016f870 00007ffa`f021be44 : 00000000`0000000a 00000000`0000000a 00000000`00000000 00000257`41a233ee : myapp!CmyappApp::InitInstance+0x263
0000008d`7016f990 00007ff6`1b3e5c76 : 00000000`0000000a 00000000`00000000 00000000`00000000 00000000`00000000 : mfc140u!AfxWinMain+0x84
0000008d`7016f9d0 00007ffb`21497bd4 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : myapp!__scrt_common_main_seh+0x106
0000008d`7016fa10 00007ffb`225ace51 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
0000008d`7016fa40 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21


THREAD_SHA1_HASH_MOD_FUNC:  6bacc13238373a060c14bc67a740bf21fb71361d

THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  42267df53d4f066f42a72c9df3477b016ca19f47

THREAD_SHA1_HASH_MOD:  e86ac11f9bd12336a32d7efe6cca58300bbe5b57

FAULT_INSTR_CODE:  ff008b48

FAULTING_SOURCE_LINE:  d:\agent\_work\1\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\objcore.cpp

FAULTING_SOURCE_FILE:  d:\agent\_work\1\s\src\vctools\VC7Libs\Ship\ATLMFC\Src\MFC\objcore.cpp

FAULTING_SOURCE_LINE_NUMBER:  45

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  mfc140u!CObject::IsKindOf+11

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: mfc140u

IMAGE_NAME:  mfc140u.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  5d8e6ad5

STACK_COMMAND:  ~0s ; .ecxr ; kb

FAILURE_BUCKET_ID:  INVALID_POINTER_READ_c0000005_mfc140u.dll!CObject::IsKindOf

BUCKET_ID:  APPLICATION_FAULT_INVALID_POINTER_READ_mfc140u!CObject::IsKindOf+11

FAILURE_EXCEPTION_CODE:  c0000005

FAILURE_IMAGE_NAME:  mfc140u.dll

BUCKET_ID_IMAGE_STR:  mfc140u.dll

FAILURE_MODULE_NAME:  mfc140u

BUCKET_ID_MODULE_STR:  mfc140u

FAILURE_FUNCTION_NAME:  CObject::IsKindOf

BUCKET_ID_FUNCTION_STR:  CObject::IsKindOf

BUCKET_ID_OFFSET:  11

BUCKET_ID_MODTIMEDATESTAMP:  5d8e6ad5

BUCKET_ID_MODCHECKSUM:  594837

BUCKET_ID_MODVER_STR:  14.24.28127.4

BUCKET_ID_PREFIX_STR:  APPLICATION_FAULT_INVALID_POINTER_READ_

FAILURE_PROBLEM_CLASS:  APPLICATION_FAULT

FAILURE_SYMBOL_NAME:  mfc140u.dll!CObject::IsKindOf

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/myapp.exe/1.0.0.0/5f20d690/mfc140u.dll/14.24.28127.4/5d8e6ad5/c0000005/00239bd1.htm?Retriage=1

TARGET_TIME:  2020-07-29T01:53:44.000Z

OSBUILD:  18363

OSSERVICEPACK:  959

SERVICEPACK_NUMBER: 0

OS_REVISION: 0

SUITE_MASK:  256

PRODUCT_TYPE:  1

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

OSEDITION:  Windows 10 WinNt SingleUserTS

USER_LCID:  0

OSBUILD_TIMESTAMP:  unknown_date

BUILDDATESTAMP_STR:  190318-1202

BUILDLAB_STR:  19h1_release

BUILDOSVER_STR:  10.0.18362.1.amd64fre.19h1_release.190318-1202

ANALYSIS_SESSION_ELAPSED_TIME:  136fc

ANALYSIS_SOURCE:  UM

FAILURE_ID_HASH_STRING:  um:invalid_pointer_read_c0000005_mfc140u.dll!cobject::iskindof

FAILURE_ID_HASH:  {b66afce4-253d-15db-23aa-3b09d40d1c37}

Followup:     MachineOwner
---------

Here's the OnCreate function:

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
  if (CFrameWndEx::OnCreate(lpCreateStruct) == -1)
    return -1;

  if (!m_wndMenuBar.Create(this)) {
    TRACE0("Failed to create menubar\n");
    false;      
  }

  m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC | CBRS_TOOLTIPS | CBRS_FLYBY);

  // prevent the menu bar from taking the focus on activation
  CMFCPopupMenu::SetForceMenuFocus(FALSE);

  if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC)) {
    TRACE0("Failed to create toolbar\n");
    return false;
  }
  if (!m_wndToolBar.LoadToolBar(IDR_MAINFRAME)) {
    TRACE0("Failed to load toolbar\n");
    return false;
  }

  CString strToolBarName;
  BOOL bNameValid=strToolBarName.LoadString(IDS_TOOLBAR_STANDARD);
  ASSERT(bNameValid);
  m_wndToolBar.SetWindowText(strToolBarName);

  CString strCustomize;
  bNameValid=strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
  ASSERT(bNameValid);
  m_wndToolBar.EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);

  // Allow user-defined toolbars operations:
  InitUserToolbars(nullptr, uiFirstUserToolBarId, uiLastUserToolBarId);

  // TODO: Delete these five lines if you don't want the toolbar and menubar to be dockable
  m_wndMenuBar.EnableDocking(CBRS_ALIGN_ANY);
  m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);


  if (CMFCToolBar::GetUserImages() != nullptr) {
    m_UserImages.Clear();
  }

  EnableDocking(CBRS_ALIGN_ANY);
  DockPane(&m_wndMenuBar);
  DockPane(&m_wndToolBar);


  // enable Visual Studio 2005 style docking window behavior
  CDockingManager::SetDockingMode(DT_SMART);
  // enable Visual Studio 2005 style docking window auto-hide behavior
  EnableAutoHidePanes(CBRS_ALIGN_ANY);

  // set the visual manager and style based on persisted value
  OnApplicationLook(theApp.m_nAppLook);

  // Enable toolbar and docking window menu replacement
  EnablePaneMenu(TRUE, ID_VIEW_CUSTOMIZE, strCustomize, ID_VIEW_TOOLBAR);

  // enable quick (Alt+drag) toolbar customization
  CMFCToolBar::EnableQuickCustomization();

  // load user-defined toolbar images
  if (m_UserImages.Load(_T(".\\UserImages.bmp"))) {
    CMFCToolBar::SetUserImages(&m_UserImages);
  }
  
  this->SetWindowText(_T("My Application Title"));
}
winapi
mfc
asked on Stack Overflow Jul 29, 2020 by user3161924

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0