none
PowerPoint 2013 crashes on exit if to subscribe on any event RRS feed

  • Question

  • Hello All,

         I'm developing VSTO adding for PowerPoint 2013. Several days ago I found crash of PowerPoint with my addin in following case:

    1. Open PowerPoint
    2. Create new presentation and save it.
    3. Make some changes in saved presentation (e.g. type any text in shape)
    4. Close PowerPoint
    5. PowerPoint will ask about saving changes before closing - click [Save]
    6. PowerPoint crashes.

    After investigation I localized issue (example of code presented below) - it happens if to subscribe any application event. I tried different versions PIA/.NET - result is the same. This issue reproduces even in Shared Add-in.

    As I found, on the moment of crash CLR is still loaded in process, but almost modules are unloaded (PIA and my addin)   

    public partial class ThisAddIn
    {
    	private void ThisAddIn_Startup(object sender, System.EventArgs e)
    	{
    		Application.PresentationClose += Application_PresentationClose;
    	}
    
    	private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
    	{
    		Application.PresentationClose -= Application_PresentationClose;
    	}
    
    	private void Application_PresentationClose(PowerPoint.Presentation Pres)
    	{
    	}
    	
    	private void InternalStartup()
    	{
    		this.Startup += new System.EventHandler(ThisAddIn_Startup);
    		this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
    	}
    }

    PowerPoint version: 15.0.4454.1000
    OS version: 6.1.7601.2.1.0.246.4 (Win7 x64 EN)   

    Output of WINDBG !analyze -v:

    FAULTING_IP: 
    +8fa6
    c04d8d00 ??              ???

    EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
    ExceptionAddress: c04d8d00
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 00000008
       Parameter[1]: c04d8d00
    Attempt to execute non-executable address c04d8d00

    PROCESS_NAME:  POWERPNT.EXE

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

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

    EXCEPTION_PARAMETER1:  00000008

    EXCEPTION_PARAMETER2:  c04d8d00

    WRITE_ADDRESS:  c04d8d00 

    FOLLOWUP_IP: 
    PPCORE!PPMain+8fa6
    0f85e61d 5e              pop     esi

    FAILED_INSTRUCTION_ADDRESS: 
    +486952f00cade08
    c04d8d00 ??              ???

    NTGLOBALFLAG:  0

    APPLICATION_VERIFIER_FLAGS:  0

    IP_ON_HEAP:  c04d8d00
    The fault address in not in any loaded module, please check your build's rebase
    log at <releasedir>\bin\build_logs\timebuild\ntrebase.log for module which may
    contain the address if it were loaded.

    FAULTING_THREAD:  00000f30

    BUGCHECK_STR:  APPLICATION_FAULT_SOFTWARE_NX_FAULT_INVALID

    PRIMARY_PROBLEM_CLASS:  SOFTWARE_NX_FAULT_INVALID

    DEFAULT_BUCKET_ID:  SOFTWARE_NX_FAULT_INVALID

    LAST_CONTROL_TRANSFER:  from 0f85e61d to c04d8d00

    STACK_TEXT:  
    WARNING: Frame IP not in any known module. Following frames may be wrong.
    0045fa48 0f85e61d 00000001 00000000 0f965f1c 0xc04d8d00
    0045fa6c 0f8d5142 00000001 1cc3aab0 00000000 PPCORE!PPMain+0x8fa6
    0045fa80 0f91c3f2 1cc3aab0 0f91c3cd 1cc3aab0 PPCORE!DllGetLCID+0x43028
    0045fa94 0f86292f 00000001 b95dcfed 100fd81c PPCORE!DllGetLCID+0x8a2d8
    0045fac4 0f862888 0f86273f 00000000 0045fd30 PPCORE!PPMain+0xd2b8
    0045fad4 0f8624aa 00000000 b95dc819 00ce3038 PPCORE!PPMain+0xd211
    0045fd30 0f8556c8 0045fd4c b95dc889 00ce3038 PPCORE!PPMain+0xce33
    0045fda0 00ce156a 004b250e 0045fe40 00ce1531 PPCORE!PPMain+0x51
    0045fdac 00ce1531 00ce0000 00000000 004b250e POWERPNT+0x156a
    0045fe40 770933aa 7efde000 0045fe8c 77bd9f72 POWERPNT+0x1531
    0045fe4c 77bd9f72 7efde000 77b68930 00000000 kernel32!BaseThreadInitThunk+0xe
    0045fe8c 77bd9f45 00ce10bc 7efde000 ffffffff ntdll!__RtlUserThreadStart+0x70
    0045fea4 00000000 00ce10bc 7efde000 00000000 ntdll!_RtlUserThreadStart+0x1b


    STACK_COMMAND:  ~0s; .ecxr ; kb

    SYMBOL_STACK_INDEX:  1

    SYMBOL_NAME:  PPCORE!PPMain+8fa6

    FOLLOWUP_NAME:  MachineOwner

    MODULE_NAME: PPCORE

    IMAGE_NAME:  PPCORE.DLL

    DEBUG_FLR_IMAGE_TIMESTAMP:  51a6f6a5

    FAILURE_BUCKET_ID:  SOFTWARE_NX_FAULT_INVALID_c0000005_PPCORE.DLL!PPMain

    BUCKET_ID:  APPLICATION_FAULT_SOFTWARE_NX_FAULT_INVALID_BAD_IP_PPCORE!PPMain+8fa6

    WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/POWERPNT_EXE/15_0_4454_1000/509a3abf/unknown/0_0_0_0/bbbbbbb4/c0000005/c04d8d00.htm?Retriage=1

    Followup: MachineOwner

    Is there any workarounds for this issue?



    Wednesday, August 28, 2013 8:11 AM

All replies

  • Do you find the same issue if you open and save a new PPT file without add-in by manually?

    If yes, please try to repair Office product.

    It might be a product issue.

    Wednesday, September 4, 2013 2:47 AM
  • No, everything works fine without add-in. Crash appears only when add-in is enabled.
    Wednesday, September 4, 2013 7:43 AM
  • No, everything works fine without add-in. Crash appears only when add-in is enabled.

    So, any solution?

    I'm facing similar problem on PowerPoint exit. My Addin is using a COM DLL and the MODULE_NAME: myCOMDLL.dll_unloaded

    Tuesday, August 26, 2014 8:10 AM