I can't find any kind of documentation on what causes a "non-continuable
exception" during process load, or any hint of how to debug this problem. I
tried loading the application in cordbg (the command-line debugger), and I
turned on a ton of verbose mode options, but when I run it, all it says is
"Process exited."
I do know that mscoree.dll is the unmanaged stub DLL that loads the CLR. I
am curious why comctl32.dll loads next, as well as what syncor11.dll is. I
had thought mscorwks.dll was supposed to be the next thing loaded...? I've
done some reading on DLL loading happening from the PE header and on entry
points, but I still don't consider myself an expert in that area.
Needless to say, this could be a complete showstopper to our deployment of
.NET. If there is any information anyone has, or any suggestions to try,
please pass them on. I have included a cut-down listing of DLLs loading and
unloading in case it helps anyone (it isn't helping me very much).
[app loading lines deleted]
'accwin.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
[app loading lines deleted]
'accwin.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\comdlg32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\winspool.drv', No symbols loaded.
[app loading lines deleted]
'accwin.exe': Loaded 'C:\WINDOWS\system32\Wbtrv32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\mpr.dll', No symbols loaded.
[app loading lines deleted]
'accwin.exe': Loaded 'C:\WINDOWS\system32\mfc42.dll', Symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\msvcp60.dll', Symbols loaded.
[app loading lines deleted]
'accwin.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', No symbols loaded.
[app loading lines deleted]
'accwin.exe': Loaded 'C:\WINDOWS\system32\mfc71d.dll', Symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\msvcr71d.dll', Symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\msvcp71d.dll', Symbols loaded.
[app loading lines deleted]
[loads the mixed-mode DLL]
'accwin.exe': Loaded 'C:\WINDOWS\system32\mscoree.dll', No symbols loaded.
'accwin.exe': Loaded
'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.
0.10.0_x-ww_f7fb5805\comctl32.dll', No symbols loaded.
'accwin.exe': Loaded 'C:\WINDOWS\system32\Syncor11.dll', Symbols loaded.
[unloads app DLLs]
'accwin.exe': Unloaded 'C:\WINDOWS\system32\msvcp71d.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\mfc71d.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\msvcr71d.dll'
[unloads app DLLs]
'accwin.exe': Unloaded 'C:\WINDOWS\system32\msvcp60.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\mfc42.dll'
[unloads app DLLs]
'accwin.exe': Unloaded 'C:\WINDOWS\system32\Wbtrv32.dll'
[unloads app DLLs]
'accwin.exe': Unloaded 'C:\WINDOWS\system32\winspool.drv'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\oleaut32.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\comdlg32.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\shell32.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\mpr.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\ole32.dll'
'accwin.exe': Unloaded 'C:\WINDOWS\system32\mscoree.dll'
[unloads app mixed mode DLL]
Debugger:: An unhandled non-continuable exception was thrown during process
load
The program '[2348] accwin.exe: Native' has exited with code 128 (0x80).
--Todd C. Gleason ( www.cool-man.org )
-------
It looks like this bad behavior is caused by the
winmm.dll which is calling FreeLibrary in its
initialization code. The call stack is very similar to a
bug reported to us about 1 month back. And a hotfix for
that bug will be available soon.
CAUSE
=====
The executable is linked to WINMM, a dependent DLL is
linked to a .NET DLL, loading the .NET DLL results in
running init routines, winmm attempts to load a driver
and fails and calls FreeLibrary, the call to FreeLibrary
results in many DLL's getting unloaded becuase the
LoadCount is not > 0 yet, since this is set later.
-------
The workaround was to force all of our DLLs that loaded
winmm.dll to delay-load using the /DELAYLOAD linker
switch.
This workaround also (for whatever reason) fixed
the "mixed-mode debugger hangs" problem I posted
separately in this group.
Hope this information helps somebody else!
--Todd C. Gleason ( www.cool-man.org )
>..NET. If there is any information anyone has, or any
>.
>
Ferdinand.
"Todd C. Gleason" <to...@ims.com> wrote in message
news:0c5d01c326f7$25ffbb00$a001...@phx.gbl...
> >__crt_ idll_initialize() and so on), and do not enable
Ronald
"ferdinand oeinck" <fe...@home.nl> wrote in message
news:#$8gW7vJD...@TK2MSFTNGP12.phx.gbl...