Okay, I've attached VS 2008 as a debugger and loaded my solution. Did a couple of builds then waited ignored it while I did other things. I also set up the symbol server systemso I could get better callstacks. The machine has 8 cores running with 4 GB of ram on the win7 x64 build. Essentially the solution was sitting open with intellisense updating the information about the current configuration (almost all projects are makefile projects but with include paths and preprocessor settings provided to help intellisense).
It finally died with the AV at:
>vcpkg.dll!Ncb::delUnrefMod() + 0x61 bytes
vcpkg.dll!Ncb::delAllUnrefMods() + 0x20c bytes
vcpkg.dll!CUpdateFilesInConfigurationWorkItem::Work() + 0xbd bytes
vcpkg.dll!CVCIDEWorkerQueue::Work() + 0xd9 bytes
vcpkg.dll!CVCIDEWorkerThread::Work() + 0xb9 bytes
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
I had 15 worker threads sitting at:
>
ntdll.dll!_NtRemoveIoCompletion@20() + 0x15 bytes
ntdll.dll!_NtRemoveIoCompletion@20() + 0x15 bytes
msvcr80.dll!750a4c39()
[Frames below may be incorrect and/or missing, no symbols loaded for msvcr80.dll]
msvcr80.dll!750a2e24()
msvcr80.dll!750a2a47()
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
The 16th is at:
>
ntdll.dll!_NtWaitForMultipleObjects@20() + 0x15 bytes
ntdll.dll!_NtWaitForMultipleObjects@20() + 0x15 bytes
ntdll.dll!_ZwContinue@8() + 0x12 bytes
kernel32.dll!_WaitForMultipleObjectsExImplementation@20() + 0x8e bytes
kernel32.dll!_WaitForMultipleObjects@16() + 0x18 bytes
msenv.dll!CVsThreadPoolMgmtObject::DoTask() + 0x54 bytes
msenv.dll!CVsWorkerThread::Execute() + 0x39 bytes
msenv.dll!ATL::CThreadPool<CVsWorkerThread,VsCRTThreadTraitsBelowNormal,CVsCoWaitTraits>::ThreadProc() - 0xc0764 bytes
msenv.dll!ATL::CThreadPool<CVsWorkerThread,VsCRTThreadTraitsBelowNormal,CVsCoWaitTraits>::WorkerThreadProc() + 0xa bytes
msvcr80.dll!750a29bb()
[Frames below may be incorrect and/or missing, no symbols loaded for msvcr80.dll]
msvcr80.dll!750a2a47()
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
I also have three threads in __crtExitProcess with the following callstacks:
>
ntdll.dll!_NtWaitForSingleObject@12() + 0x15 bytes
ntdll.dll!_NtWaitForSingleObject@12() + 0x15 bytes
msvcr71.dll!__crtExitProcess(int status=2796) Line 463 + 0x9 bytesC
kernel32.dll!_WaitForSingleObjectExImplementation@12() + 0x43 bytes
kernel32.dll!_WaitForSingleObject@8() + 0x12 bytes
qt-mt336.dll!39ea8629()
[Frames below may be incorrect and/or missing, no symbols loaded for qt-mt336.dll]
qt-mt336.dll!39ea86b5()
p4scc.dll!0d9c0fad()
qt-mt336.dll!39d1c2b6()
msvcr71.dll!_threadstartex(void * ptd=0x00000000) Line 241 + 0x6 bytesC
ffffffff()
The main thread is in the following callstack:
>
user32.dll!_NtUserWaitMessage@0() + 0x15 bytes
user32.dll!_NtUserWaitMessage@0() + 0x15 bytes
msenv.dll!EnvironmentMsgLoop() + 0x6d8 bytes
msenv.dll!CMsoCMHandler::FPushMessageLoop() + 0x1f bytes
msenv.dll!SCM::FPushMessageLoop() + 0x4d bytes
msenv.dll!SCM_MsoCompMgr::FPushMessageLoop() + 0x27 bytes
msenv.dll!CMsoComponent::PushMsgLoop() + 0x25 bytes
msenv.dll!VStudioMainLogged() + 0x16a bytes
msenv.dll!_VStudioMain() + 0x1c01fe bytes
devenv.exe!util_CallVsMain() + 0x114 bytes
devenv.exe!CDevEnvAppId::Run() + 0x5ad bytes
devenv.exe!_WinMain@16() + 0x54 bytes
devenv.exe!operator new[]() + 0x3f455c bytes
kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes
ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes
ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes