Case of the Outlook 2010 Crash on Startup … even Outlook /Safe

One thing I’ve found with Outlook 2010 the hard way is if settings are corrupted or not what Outlook is expecting it will crash on start-up. People who know me know I hate to rebuild a PC to fix a problem…so here we go. Last time had Outlook issues it was possible to rapidly find a solution without any logging tools as documented here Troubleshooting 101

This case I’m not so lucky.

Immediately after launching we see this – Microsoft Outlook has stopped working:

image

Launching Outlook /safe we get the same thing. If we do this twice we then get this message

image

Repair does not fix the problem. New user logging onto machine, same issue.image

Initially I used ProcMon (http://live.sysinternals.com/ProcMon.exe) to look for any obvious causes of an app crash (i.e. missing DLLs, ACCESS DENIED events, etc)

This didn’t get me anywhere so I brought out WinDbg. To start ensure you’ve set up access to public Microsoft Symbols by running the following command from an administrative command prompt:

setx _NT_SYMBOL_PATH “srv*c:\symbols*http://msdl.microsoft.com/download/symbols” /M

image

You can get WinDbg from the Microsoft Windows SDK (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en)

You can start by opening the executable using Ctrl+E or File | Open Executable…

image

So immediately I break into the debugger and in the command line i hit g [enter] where g is for GO.

image

I get warning of another first chance exception. These are OK if the program handles them. Only when these are unhandled do we get a crash. I hit g to go again, and we can see the status is *BUSY* so we know outlook is still running.

image

Then we break into our exception. First chance I hit g, second chance. Hmm. This is bad, lots of exclamation marks.

image

If you’ve ever tried analysing system crashes, in the application crash you can also use !analyze –v command, but here the information is often less useful then when dealing with system crashes.

image

I used .restart command in debugger to restart Outlook. This time before we hit “g” for go we enable API logging with the following command:

!logexts.loge

API logging will give information about what Windows API are called with what parameters and the return codes, etc.

image

Now we can “g” for GO to start logging. However for some reason API logging didn’t work on Outlook.exe, I don’t know if this is some kind of protection built into the program or what, as using this same processes on other machines has worked fine. Instead whenever logging was enabled I just got errors Access violation – code c0000005

image

EDIT: Thanks Takashi Toyota from Japan (http://www.ttoyota.com/) pointing out the reason for this error is that I was using AMD64 version of WinDbg on a 32-bit process. To do API logging of 32-bit process in 64-bit Windows I must also install the x86 version of the Windows Debugging Tools. From the WinDbg docoumentation when using x64 host:

  • If you are analyzing a dump file, and if the dump file was made on Windows XP or a later version of Windows, you can use either the 32-bit package or the x64 package. (It is not important whether the dump file is a user-mode dump file or a kernel-mode dump file, and it is not important whether the dump file was made on an x86-based or an x64-based platform.)
  • If you are analyzing a dump file, and if the dump file was made on Windows 2000 operating system, you should use the 32-bit package. (It is not important whether the dump file is a user-mode dump file or a kernel-mode dump file)
  • If you are performing live kernel-mode debugging, and if the target computer is running Windows XP or a later version of Windows, you can use either the 32-bit package or the x64 package. (This situation applies to both x86-based and x64-based targets.)
  • If you are performing live kernel-mode debugging, and if the target computer is running Windows 2000, you should use the 32-bit package.
  • If you are performing live user-mode debugging, use the x64 package for debugging WOW64 with both 64-bit and 32-bit code. To debug other targets, use a 32-bit debugger to debug 32-bit code. ]

To install all versions of Debugging Tools when installing Windows SDK select “Debugging Tools” under Redistributable Packages

image

If this had worked you would have seen a folder called LogExts on your Desktop and inside it two new files from this trace – in this case Outlook.exe.lgv and Outlook.exe.txt. The .lgv file is opened using logviewer.exe from the Debugging tools. You can use logger.exe from Debugging tools to generate these logs as well.

With not much luck going on here I launched the Mail Setup control panel applet. In this case I launched it from C:\Program Files (x86)\Microsoft Office\Office14\mlcfg32.cpl

This time when clicking E-mail Accounts… I got an error message box:

This application has requested the Runtime to terminate it in an unusual way. Please contact the application’s support team for more information.

image

 

Now this time I used the simple feature of ProcMon to find the process ID of the process. One of my favourite inbuilt features of ProcMon/ProcExp is the Window Finder. I just click and drag this over the message box to set a filter on that process. I then looked in the PID column to find the relevant process ID.

image

With the Process ID in hand I then went back into WinDbg and hit F6 to attach to a Process. I specified the Process ID I  found in ProcMon and clicked OK.

image

Now debugger is attached, the program execution has stopped until I hit “g” to go again. However this case I didn’t want to go, but I ran the classic analyze –v again.

0:000:x86> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\olmapi32.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\MLCFG32.CPL –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\olmapi32.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Microsoft Office\Office14\MLCFG32.CPL –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Common Files\Microsoft Shared\office14\mso.dll –
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for C:\Program Files (x86)\Common Files\Microsoft Shared\office14\mso.dll –
GetPageUrlData failed, server returned HTTP status 404
URL requested:
http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1
GetPageUrlData failed, server returned HTTP status 404
URL requested:
http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1

FAULTING_IP:
KERNELBASE!RaiseException+58
FAULTING_IP:
KERNELBASE!RaiseException+58

7524b727 c9              leave
7524b727 c9              leave

EXCEPTION_RECORD:
EXCEPTION_RECORD:  ffffffffffffffff — (.exr 0xffffffffffffffff)
ffffffffffffffff — (.exr 0xffffffffffffffff)
ExceptionAddress: 000000007524b727 (KERNELBASE!RaiseException+0x0000000000000058)
   ExceptionCode: e06d7363 (C++ EH exception)
  ExceptionFlags: 00000001
NumberParameters: 3
   Parameter[0]: 0000000019930520
   Parameter[1]: 00000000000de190
   Parameter[2]: 000000006bc6054c
ExceptionAddress: 000000007524b727 (KERNELBASE!RaiseException+0x0000000000000058)
   ExceptionCode: e06d7363 (C++ EH exception)
  ExceptionFlags: 00000001
NumberParameters: 3
   Parameter[0]: 0000000019930520
   Parameter[1]: 00000000000de190
   Parameter[2]: 000000006bc6054c
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: msvcrt!EHExceptionRecord                      ***
***                                                                   ***
*************************************************************************

FAULTING_THREAD:  0000000000001a7c

DEFAULT_BUCKET_ID:  ZEROED_STACK

PROCESS_NAME:  rundll32.exe

ERROR_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>

EXCEPTION_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>

EXCEPTION_PARAMETER1:  0000000019930520

EXCEPTION_PARAMETER2:  00000000000de190

EXCEPTION_PARAMETER3:  000000006bc6054c

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  70

APPLICATION_VERIFIER_FLAGS:  0

PRIMARY_PROBLEM_CLASS:  ZEROED_STACK

BUGCHECK_STR:  APPLICATION_FAULT_ZEROED_STACK

LAST_CONTROL_TRANSFER:  from 0000000073bfdf60 to 000000007524b727

STACK_TEXT: 
FAULTING_THREAD:  0000000000001a7c

DEFAULT_BUCKET_ID:  ZEROED_STACK

PROCESS_NAME:  rundll32.exe

ERROR_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>

EXCEPTION_CODE: (NTSTATUS) 0xe06d7363 – <Unable to get error code text>

EXCEPTION_PARAMETER1:  0000000019930520

EXCEPTION_PARAMETER2:  00000000000de190

EXCEPTION_PARAMETER3:  000000006bc6054c

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  70

APPLICATION_VERIFIER_FLAGS:  0

PRIMARY_PROBLEM_CLASS:  ZEROED_STACK

BUGCHECK_STR:  APPLICATION_FAULT_ZEROED_STACK

LAST_CONTROL_TRANSFER:  from 0000000073bfdf60 to 000000007524b727

STACK_TEXT: 
000de148 73bfdf60 e06d7363 00000001 00000003 KERNELBASE!RaiseException+0x58
000de180 6bc4b93e 000de190 6bc6054c 6bc3296c MSVCR90!_CxxThrowException+0x48 [f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp @ 161]
WARNING: Stack unwind information not available. Following frames may be wrong.
000de1a0 6bc4b484 93e042cf 00000000 029b1528 omsxp32!XPProviderInit+0x45f0
000de1c8 6bc4b960 000de1e4 93e04107 00000000 omsxp32!XPProviderInit+0x4136
000de200 6bc4870b 65746b33 6bc44aff 00000028 omsxp32!XPProviderInit+0x4612
000de208 6bc44aff 00000028 93e04137 00010010 omsxp32!XPProviderInit+0x13bd
000de230 5f080b36 6bc30000 76c266bc 5f07a6ee omsxp32!ABProviderInit+0x39
000de294 5f08067e 029b0d48 029b1290 029213a8 olmapi32!ScCopyProps+0x965
000de334 5f07fbb8 029b0d48 3d010102 5f100ea0 olmapi32!ScCopyProps+0x4ad
000de3d4 5f07bac1 029b0d48 00000000 00000000 olmapi32!Ordinal297+0x82b
000de43c 5f07b54b 00000000 02920b58 00000000 olmapi32!MAPILogonEx+0x6b8
000de484 6fad2779 00000000 0238a104 00000000 olmapi32!MAPILogonEx+0x142
000de4a0 6fad5245 0238a104 0238a1c8 00128022 MLCFG32!DllMain+0x557
000de4c8 5f099f52 0238a100 0238a1d0 0238a100 MLCFG32!CPlApplet+0x28d
000dea4c 6fad563d 009a6268 0238a100 00000000 olmapi32!RPCTRACE+0x4ae
000dea70 6fad44dc 003514ae 02920e48 00000000 MLCFG32!CPlApplet+0x685
000deb0c 759f62fa 003514ae 00000111 00000454 MLCFG32!DllMain+0x22ba
000deb38 75a1f943 6fad442f 003514ae 00000111 USER32!InternalCallWinProc+0x23
000debb4 75a1f784 0051d4fc 6fad442f 003514ae USER32!UserCallDlgProcCheckWow+0x10f
000dec04 75a1f889 00e52e90 00000000 00000111 USER32!DefDlgProcWorker+0xb7
000dec24 759f62fa 003514ae 00000111 00000454 USER32!DefDlgProcW+0x29
000dec50 759f6d3a 75a1f860 003514ae 00000111 USER32!InternalCallWinProc+0x23
000decc8 759f965e 0051d4fc 776d4684 003514ae USER32!UserCallWinProcCheckWow+0x109
000ded0c 759f96c5 00e52e90 00000000 776d4684 USER32!SendMessageWorker+0x581
000ded30 75a35fbb 003514ae 00000111 00000454 USER32!SendMessageW+0x7f
000ded48 75a360fc 00e94570 00000000 00000000 USER32!xxxButtonNotifyParent+0x66
000ded70 75a2312e 0055cac8 00000000 00000001 USER32!xxxBNReleaseCapture+0x138
000dee0c 75a370b2 00e94570 00000000 00000202 USER32!ButtonWndProcWorker+0xa07
000dee34 759f62fa 00441602 00000202 00000000 USER32!ButtonWndProcW+0x54
000dee60 759f6d3a 75a3705e 00441602 00000202 USER32!InternalCallWinProc+0x23
000deed8 759f77c4 0051d4fc 7773819c 00441602 USER32!UserCallWinProcCheckWow+0x109
000def38 759f788a 7773819c 00000000 000def74 USER32!DispatchMessageWorker+0x3bc
000def48 75a1c81f 000def90 00000001 00e52e90 USER32!DispatchMessageW+0xf
000def74 75a1cde7 003514ae 00000000 0038156c USER32!IsDialogMessageW+0x5f6
000defb8 75a1cf5c 003514ae 0038156c 00000000 USER32!DialogBox2+0x15f
000defe4 75a1ce8a 68cb0000 68d6c174 0038156c USER32!InternalDialogBox+0xe5
000df004 75a1d009 68cb0000 68d6c174 0038156c USER32!DialogBoxIndirectParamAorW+0x37
000df028 6fad5add 68cb0000 0000044d 0038156c USER32!DialogBoxParamW+0x3f
000df074 6fad455a 68cb0000 0000044d 0038156c MLCFG32!CPlApplet+0xb25
000df09c 6fad463f 0038156c 00000000 02920e48 MLCFG32!DllMain+0x2338
000df0b8 6fad4e52 0038156c 02920dd8 0038156c MLCFG32!DllMain+0x241d
000df158 6fad4ef6 0038156c 0051dfb8 00000000 MLCFG32!DllMain+0x2c30
000df16c 75f69e2e 0038156c 00000005 00000000 MLCFG32!DllMain+0x2cd4
000df194 75f55fc1 0051dfb8 0038156c 00000005 SHELL32!CPL_CallEntry+0x3d
000dfa14 760c563e 0038156c 00170000 00515fec SHELL32!CPL_SwitchToOrLaunch+0x44c
000dfa30 0017137d 0038156c 00170000 00515fec SHELL32!Control_RunDLLNoFallback+0x18
000dfaa8 00171326 760c5626 0038156c 00170000 rundll32!CallRunDllFunction+0x22
000dfaf4 00171901 00515fa2 00000000 00515fec rundll32!wWinMain+0x122
000dfb88 75cf33ca 7efde000 000dfbd4 778c9ed2 rundll32!_initterm_e+0x1b1
000dfb94 778c9ed2 7efde000 7fac1d4b 00000000 kernel32!BaseThreadInitThunk+0xe
000dfbd4 778c9ea5 0017178c 7efde000 00000000 ntdll32!__RtlUserThreadStart+0x70
000dfbec 00000000 0017178c 7efde000 00000000 ntdll32!_RtlUserThreadStart+0x1b

000de148 73bfdf60 e06d7363 00000001 00000003 KERNELBASE!RaiseException+0x58
000de180 6bc4b93e 000de190 6bc6054c 6bc3296c MSVCR90!_CxxThrowException+0x48 [f:\dd\vctools\crt_bld\self_x86\crt\prebuild\eh\throw.cpp @ 161]
WARNING: Stack unwind information not available. Following frames may be wrong.
000de1a0 6bc4b484 93e042cf 00000000 029b1528 omsxp32!XPProviderInit+0x45f0
000de1c8 6bc4b960 000de1e4 93e04107 00000000 omsxp32!XPProviderInit+0x4136
000de200 6bc4870b 65746b33 6bc44aff 00000028 omsxp32!XPProviderInit+0x4612
000de208 6bc44aff 00000028 93e04137 00010010 omsxp32!XPProviderInit+0x13bd
000de230 5f080b36 6bc30000 76c266bc 5f07a6ee omsxp32!ABProviderInit+0x39
000de294 5f08067e 029b0d48 029b1290 029213a8 olmapi32!ScCopyProps+0x965
000de334 5f07fbb8 029b0d48 3d010102 5f100ea0 olmapi32!ScCopyProps+0x4ad
000de3d4 5f07bac1 029b0d48 00000000 00000000 olmapi32!Ordinal297+0x82b
000de43c 5f07b54b 00000000 02920b58 00000000 olmapi32!MAPILogonEx+0x6b8
000de484 6fad2779 00000000 0238a104 00000000 olmapi32!MAPILogonEx+0x142
000de4a0 6fad5245 0238a104 0238a1c8 00128022 MLCFG32!DllMain+0x557
000de4c8 5f099f52 0238a100 0238a1d0 0238a100 MLCFG32!CPlApplet+0x28d
000dea4c 6fad563d 009a6268 0238a100 00000000 olmapi32!RPCTRACE+0x4ae
000dea70 6fad44dc 003514ae 02920e48 00000000 MLCFG32!CPlApplet+0x685
000deb0c 759f62fa 003514ae 00000111 00000454 MLCFG32!DllMain+0x22ba
000deb38 75a1f943 6fad442f 003514ae 00000111 USER32!InternalCallWinProc+0x23
000debb4 75a1f784 0051d4fc 6fad442f 003514ae USER32!UserCallDlgProcCheckWow+0x10f
000dec04 75a1f889 00e52e90 00000000 00000111 USER32!DefDlgProcWorker+0xb7
000dec24 759f62fa 003514ae 00000111 00000454 USER32!DefDlgProcW+0x29
000dec50 759f6d3a 75a1f860 003514ae 00000111 USER32!InternalCallWinProc+0x23
000decc8 759f965e 0051d4fc 776d4684 003514ae USER32!UserCallWinProcCheckWow+0x109
000ded0c 759f96c5 00e52e90 00000000 776d4684 USER32!SendMessageWorker+0x581
000ded30 75a35fbb 003514ae 00000111 00000454 USER32!SendMessageW+0x7f
000ded48 75a360fc 00e94570 00000000 00000000 USER32!xxxButtonNotifyParent+0x66
000ded70 75a2312e 0055cac8 00000000 00000001 USER32!xxxBNReleaseCapture+0x138
000dee0c 75a370b2 00e94570 00000000 00000202 USER32!ButtonWndProcWorker+0xa07
000dee34 759f62fa 00441602 00000202 00000000 USER32!ButtonWndProcW+0x54
000dee60 759f6d3a 75a3705e 00441602 00000202 USER32!InternalCallWinProc+0x23
000deed8 759f77c4 0051d4fc 7773819c 00441602 USER32!UserCallWinProcCheckWow+0x109
000def38 759f788a 7773819c 00000000 000def74 USER32!DispatchMessageWorker+0x3bc
000def48 75a1c81f 000def90 00000001 00e52e90 USER32!DispatchMessageW+0xf
000def74 75a1cde7 003514ae 00000000 0038156c USER32!IsDialogMessageW+0x5f6
000defb8 75a1cf5c 003514ae 0038156c 00000000 USER32!DialogBox2+0x15f
000defe4 75a1ce8a 68cb0000 68d6c174 0038156c USER32!InternalDialogBox+0xe5
000df004 75a1d009 68cb0000 68d6c174 0038156c USER32!DialogBoxIndirectParamAorW+0x37
000df028 6fad5add 68cb0000 0000044d 0038156c USER32!DialogBoxParamW+0x3f
000df074 6fad455a 68cb0000 0000044d 0038156c MLCFG32!CPlApplet+0xb25
000df09c 6fad463f 0038156c 00000000 02920e48 MLCFG32!DllMain+0x2338
000df0b8 6fad4e52 0038156c 02920dd8 0038156c MLCFG32!DllMain+0x241d
000df158 6fad4ef6 0038156c 0051dfb8 00000000 MLCFG32!DllMain+0x2c30
000df16c 75f69e2e 0038156c 00000005 00000000 MLCFG32!DllMain+0x2cd4
000df194 75f55fc1 0051dfb8 0038156c 00000005 SHELL32!CPL_CallEntry+0x3d
000dfa14 760c563e 0038156c 00170000 00515fec SHELL32!CPL_SwitchToOrLaunch+0x44c
000dfa30 0017137d 0038156c 00170000 00515fec SHELL32!Control_RunDLLNoFallback+0x18
000dfaa8 00171326 760c5626 0038156c 00170000 rundll32!CallRunDllFunction+0x22
000dfaf4 00171901 00515fa2 00000000 00515fec rundll32!wWinMain+0x122
000dfb88 75cf33ca 7efde000 000dfbd4 778c9ed2 rundll32!_initterm_e+0x1b1
000dfb94 778c9ed2 7efde000 7fac1d4b 00000000 kernel32!BaseThreadInitThunk+0xe
000dfbd4 778c9ea5 0017178c 7efde000 00000000 ntdll32!__RtlUserThreadStart+0x70
000dfbec 00000000 0017178c 7efde000 00000000 ntdll32!_RtlUserThreadStart+0x1b

FOLLOWUP_IP:

FOLLOWUP_IP:
omsxp32!XPProviderInit+45f0
omsxp32!XPProviderInit+45f0

6bc4b93e cc              int     3
6bc4b93e cc              int     3

SYMBOL_STACK_INDEX:  2

SYMBOL_NAME:  omsxp32!XPProviderInit+45f0

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME:
SYMBOL_STACK_INDEX:  2

SYMBOL_NAME:  omsxp32!XPProviderInit+45f0

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: omsxp32
omsxp32

IMAGE_NAME:  omsxp32.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  4abf1222

STACK_COMMAND:  ~0s ; kb

FAILURE_BUCKET_ID:  ZEROED_STACK_e06d7363_omsxp32.dll!XPProviderInit

BUCKET_ID:  X64_APPLICATION_FAULT_ZEROED_STACK_omsxp32!XPProviderInit+45f0

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1

Followup: MachineOwner
———

IMAGE_NAME:  omsxp32.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  4abf1222

STACK_COMMAND:  ~0s ; kb

FAILURE_BUCKET_ID:  ZEROED_STACK_e06d7363_omsxp32.dll!XPProviderInit

BUCKET_ID:  X64_APPLICATION_FAULT_ZEROED_STACK_omsxp32!XPProviderInit+45f0

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/rundll32_exe/6_1_7600_16385/4a5bc637/KERNELBASE_dll/6_1_7601_17514/4ce7bafa/e06d7363/0000b727.htm?Retriage=1

Followup: MachineOwner
———

Looking above we were getting crash pointing to a function omsxp32.dll. I then clicked the hyperlink of this dll name, which caused WinDbg to automatically run command lmvm omsxp32 which lists details of this module. I highlight a key thing:

0:000:x86> lmvm omsxp32
0:000:x86> lmvm omsxp32
start             end                 module name
6bc30000 6bc69000   omsxp32    (export symbols)       C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
    Loaded symbol image file: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
    Image path: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
    Image name: omsxp32.dll
    Timestamp:        Sun Sep 27 17:20:02 2009 (4ABF1222)
    CheckSum:         0003B96E
    ImageSize:        00039000
    File version:     14.0.4514.1004
    Product version: 14.0.4514.0
    File flags:       22 (Mask 3F) Pre-release Special
    File OS:          40004 NT Win32
    File type:        1.0 App
    File date:        00000000.00000000
    Translations:     0000.04e4
    CompanyName:      Microsoft Corporation
    ProductName:      Microsoft Office 2010
    InternalName:     OMS
    OriginalFilename: OMSXP32.DLL
    ProductVersion:   14.0.4514.1004
    FileVersion:      14.0.4514.1004
start             end                 module name
6bc30000 6bc69000   omsxp32    (export symbols)       C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
    Loaded symbol image file: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
    Image path: C:\Program Files (x86)\Microsoft Office\Office14\omsxp32.dll
    Image name: omsxp32.dll
    Timestamp:        Sun Sep 27 17:20:02 2009 (4ABF1222)
    CheckSum:         0003B96E
    ImageSize:        00039000
    File version:     14.0.4514.1004
    Product version:  14.0.4514.0
    File flags:       22 (Mask 3F) Pre-release Special
    File OS:          40004 NT Win32
    File type:        1.0 App
    File date:        00000000.00000000
    Translations:     0000.04e4
    CompanyName:      Microsoft Corporation
    ProductName:      Microsoft Office 2010
    InternalName:     OMS
    OriginalFilename: OMSXP32.DLL
    ProductVersion:   14.0.4514.1004
    FileVersion:      14.0.4514.1004
    FileDescription:  Microsoft Outlook Mobile Service Provider
    LegalCopyright:   © 2009 Microsoft Corporation.  All rights reserved.
    FileDescription:  Microsoft Outlook Mobile Service Provider
    LegalCopyright:   © 2009 Microsoft Corporation.  All rights reserved.

If we look at Outlook.exe product version, doesn’t look like a match:

image

 

So I renamed omsxp32.dll to omsxp32.dll.bak and restarted Outlook:

image

OK so Outlook is running again. In this case the machine had previously had a beta version of Office 2010 thus the out-dated DLL file. The uninstall of beta mustn’t have worked properly, and this file wasn’t updated/replaced by the RTM version. Outlook still tried to load it though and didn’t have much luck with it.

Microsoft has an automated ‘Fix-It’ utility when versions of Office do not properly uninstall located here. http://support.microsoft.com/kb/290301

Because there was potential to be other issues with beta left overs I used the Fix-It utility to completely remove Office 2010, then re-install.

About chentiangemalc

specializes in end-user computing technologies. disclaimer 1) use at your own risk. test any solution in your environment. if you do not understand the impact/consequences of what you're doing please stop, and ask advice from somebody who does. 2) views are my own at the time of posting and do not necessarily represent my current view or the view of my employer and family members/relatives. 3) over the years Microsoft/Citrix/VMWare have given me a few free shirts, pens, paper notebooks/etc. despite these gifts i will try to remain unbiased.
This entry was posted in Debugging, Office, ProcMon, Troubleshooting and tagged . Bookmark the permalink.

1 Response to Case of the Outlook 2010 Crash on Startup … even Outlook /Safe

  1. pieterwi says:

    Great troubleshooting! Thanks for documenting it, still useful with office 2016 issues.

Leave a comment