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"));
}
User contributions licensed under CC BY-SA 3.0