terça-feira, 4 de agosto de 2009

Troubleshooting Word e PowerPoint 2007 - ntdll.dll Exception c0000374

Com o tempo você vai ficando mais safo com algumas coisas...
Recentemente o Word e PowerPoint pararam de funcionar no meu notebook, era só abrir o distinto e CRASH! Depois de achar que era algum problema do Win7 ou um update com defeito (sempre tentamos culpar a Microsoft) eu resolvi lagar de ser usuário final e pensar como um desenvolvedor (já ia reinstalar o Office = solução padrão para atendimento de suporte primeiro nível - ARGH!).

Em primeiro lugar eu tentei me lembrar de quando o problema tinha começado a acontecer, mas minha memória fraca não conseguiu relacionar nenhum evento ao início do problema, então tive que partir para outra abordagem...

Fui lá no Event Viewer e vi alguns erros do Word, apontando para o módulo ntdll.dll. Será mesmo o SO me atrapalhando aqui? Continuei minha pesquisa e vi em alguns fóruns problemas relacionados a add-ins, o que me parecia mais provável. Porém como eu listo os add-ins instalados se eu não consigo abrir o Word? O help do Office me mostra como fazer isso com o aplicativo aberto, o que não era o meu caso. Bosta. Olhei o que eu tinha instalado através do Program and Features, mas não achei nada que me parecesse a causa raiz do problema.

Pegando o gancho de uma thread fui até o Control Panel e analisei os erros registrados em "Action Center > Problem Details". Eu nunca tinha entrado aqui, muita informação detalhada dos erros que foram registrados pelo Windows. Melhor até que as informações registradas no Event Viewer, vale a pena conferir. Porém ainda não foi suficiente para me ajudar...

Já sem paciência, apelei, fui atrás do mini-dump (torcendo para que ele fosse gerado). E onde ele fica armazenado? Sei lá. Nesse ponto nem google, bing, yahoo, ninguém me ajudou. Então o jeito foi usar a pesquisa atrás de arquivos gerados no dia de hoje e com extensão *.mdmp. Foi aí que encontrei um infeliz no path: C:\Users\\AppData\Local\Microsoft\Windows\WER\ReportArchive\xxxxxxxxxxxxx.

Bom, WER deve significar Windows Error Reporting. Olhando na pasta você consegui ver uma série de diretórios, como este aqui: AppCrash_WINWORD.EXE_8eff709241d432b140264320415857eabe98afc_114cf43d. Dentro dele infelizmente eu não encontrei nenhum mini-dump, somente o arquivo Report.wer que contém o seguinte:

Version=1
EventType=APPCRASH
EventTime=128935915994653877
ReportType=2
Consent=1
UploadTime=128938579482027367
ReportIdentifier=8d4694e0-7e7b-11de-9515-00125a5afadf
IntegratorReportIdentifier=8d4694df-7e7b-11de-9515-00125a5afadf
Response.BucketId=1327931979
Response.BucketTable=1
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=WINWORD.EXE
Sig[1].Name=Application Version
Sig[1].Value=12.0.6504.5000
Sig[2].Name=Application Timestamp
Sig[2].Value=49e7f5b6
Sig[3].Name=Fault Module Name
Sig[3].Value=StackHash_53ed
Sig[4].Name=Fault Module Version
Sig[4].Value=6.1.7100.0
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=49eea66e
Sig[6].Name=Exception Code
Sig[6].Value=c0000374
Sig[7].Name=Exception Offset
Sig[7].Value=000c2cd3
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7100.2.0.0.256.1
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=53ed
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=53ed4033ea40180f8f410d0cd405d663
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=4707
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=4707150de8f1d59e1fe285ed73ff0945
UI[2]=C:\Program Files\Microsoft Office\Office12\WINWORD.EXE
UI[3]=Microsoft Office Word has stopped working
UI[4]=Windows can check online for a solution to the problem the next time you go online and try to recover your information.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later
UI[7]=Close the program
LoadedModule[0]=C:\Program Files\Microsoft Office\Office12\WINWORD.EXE
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\system32\kernel32.dll
LoadedModule[3]=C:\Windows\system32\KERNELBASE.dll
LoadedModule[4]=C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4918_none_d089094c442eb5ff\MSVCR80.dll
LoadedModule[5]=C:\Windows\system32\msvcrt.dll
LoadedModule[6]=C:\Windows\system32\apphelp.dll
LoadedModule[7]=C:\Windows\AppPatch\AcSpecfc.DLL
LoadedModule[8]=C:\Windows\system32\SspiCli.dll
LoadedModule[9]=C:\Windows\system32\RPCRT4.dll
LoadedModule[10]=C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7100.19_none_fadd78f501c74761\COMCTL32.dll
LoadedModule[11]=C:\Windows\system32\ADVAPI32.dll
LoadedModule[12]=C:\Windows\SYSTEM32\sechost.dll
LoadedModule[13]=C:\Windows\system32\GDI32.dll
LoadedModule[14]=C:\Windows\system32\USER32.dll
LoadedModule[15]=C:\Windows\system32\LPK.dll
LoadedModule[16]=C:\Windows\system32\USP10.dll
LoadedModule[17]=C:\Windows\system32\mscms.dll
LoadedModule[18]=C:\Windows\system32\USERENV.dll
LoadedModule[19]=C:\Windows\system32\profapi.dll
LoadedModule[20]=C:\Windows\system32\SHLWAPI.dll
LoadedModule[21]=C:\Windows\system32\ole32.dll
LoadedModule[22]=C:\Windows\system32\SHELL32.dll
LoadedModule[23]=C:\Windows\system32\WINMM.dll
LoadedModule[24]=C:\Windows\system32\DDRAW.dll
LoadedModule[25]=C:\Windows\system32\DCIMAN32.dll
LoadedModule[26]=C:\Windows\system32\SETUPAPI.dll
LoadedModule[27]=C:\Windows\system32\CFGMGR32.dll
LoadedModule[28]=C:\Windows\system32\OLEAUT32.dll
LoadedModule[29]=C:\Windows\system32\DEVOBJ.dll
LoadedModule[30]=C:\Windows\system32\dwmapi.dll
LoadedModule[31]=C:\Windows\system32\MPR.dll
LoadedModule[32]=C:\Windows\system32\COMDLG32.dll
LoadedModule[33]=C:\Windows\system32\IMM32.dll
LoadedModule[34]=C:\Windows\system32\MSCTF.dll
LoadedModule[35]=C:\Windows\system32\WS2_32.dll
LoadedModule[36]=C:\Windows\system32\NSI.dll
LoadedModule[37]=C:\Windows\system32\msi.dll
LoadedModule[38]=C:\Program Files\Microsoft Office\Office12\wwlib.dll
LoadedModule[39]=C:\Program Files\Microsoft Office\Office12\oart.dll
LoadedModule[40]=C:\Program Files\Common Files\Microsoft Shared\office12\mso.dll
LoadedModule[41]=C:\Program Files\Microsoft Office\Office12\1033\wwintl.dll
LoadedModule[42]=C:\Windows\system32\uxtheme.dll
LoadedModule[43]=C:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSPTLS.DLL
LoadedModule[44]=C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7100.19_none_b6a32c7c247ee542\Comctl32.dll
LoadedModule[45]=C:\Program Files\Common Files\Microsoft Shared\OFFICE12\MSORES.DLL
LoadedModule[46]=C:\Program Files\Common Files\Microsoft Shared\office12\1033\MSOINTL.DLL
LoadedModule[47]=C:\Windows\system32\mscoree.dll
LoadedModule[48]=C:\Windows\Microsoft.NET\Framework\v4.0.20506\mscoreei.dll
LoadedModule[49]=C:\Windows\system32\MSVCR100.dll
LoadedModule[50]=C:\Windows\system32\VERSION.DLL
LoadedModule[51]=C:\Windows\system32\CRYPTBASE.dll
LoadedModule[52]=C:\Windows\system32\Winspool.DRV
LoadedModule[53]=C:\Windows\system32\spool\DRIVERS\W32X86\3\opxfjqiu.dll
LoadedModule[54]=C:\Windows\system32\spool\drivers\w32x86\3\opxfjjdm.dll
LoadedModule[55]=C:\Windows\system32\spool\drivers\w32x86\3\opxfjqir.xrs
State[0].Key=Transport.DoneStage1
State[0].Value=1
State[1].Key=DataRequest
State[1].Value=iData=1/nDumpFile=//Upload//iCab//9AFAA9EED6854B7197F60E80A0DF0380.cab/nDumpServer=Watson103.Watson.microsoft.com/nResponseServer=Watson103.Watson.microsoft.com/nResponseURL=//dw//StageFour.asp?iBucket=1327931979&szCab=9AFAA9EED6854B7197F60E80A0DF0380.cab&MID=E8DD56F3-834A-4D11-B0A0-84D72F5A70AD/nAnalysisServer=oca.microsoft.com/nAnalysisURL=//user//analyze.oca?iBucket=1327931979&iBucketTable=1&EventTypeName=AppCrash32&P1=WINWORD.EXE&P2=12.0.6504.5000&P3=49e7f5b6&P4=StackHash_53ed&P5=6.1.7100.0&P6=49eea66e&P7=c0000374&P8=000c2cd3&OS=6.1.7100.2.00010100.0.0.1.0&MID=E8DD56F3-834A-4D11-B0A0-84D72F5A70AD/nMemoryDump=1/nBucket=1327931979/nBucketTable=1/nResponse=1/n
State[2].Key=Headless.2ndLevelConsentNeeded
State[2].Value=1
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=Microsoft Office Word
AppPath=C:\Program Files\Microsoft Office\Office12\WINWORD.EXE

WTF?! Que nada, foi esse camarada que me ajudou!
Olhando a lista de módulos carregados você consegue ver que o último na listagem é o LoadedModule[55]=C:\Windows\system32\spool\drivers\w32x86\3\opxfjqir.xrs

Supondo que os módulos sejam carregados em ordem, existe uma chance de que o último carregado esteja causando o problema que "crasha" o aplicativo. Vendo esse registro, eu lembrei imediatamente que havia instalado na última quarta uma nova impressora enquanto estava em um cliente.
Calmamente desinstalei a impressora e voilá, tudo voltou a funcionar perfeitamente!

O que quero deixar aqui como lição:

1 - Uma abordagem estruturada e passo a passo para resolução de problemas, sempre ajuda.
2 - Se eu tivesse lembrado o que eu havia instalado na máquina, seria BEM simples descobrir o problema => entreviste o seu cliente antes de sair caçando o problema, pode ser que com um bate-papo você consiga refinar o escopo do seu trobleshooting.
3- Antes de culpar a MS e xingar o "Bill-primo-do-Woldemort-Gates", analise o seu cenário e pare de falar besteira. Muitos problemas são de terceiros e culpamos a pessoa/empresa errada.
4 - Se alguém estiver te pedindo para reinstalar o software sem nenhuma explicação plausível, existe uma grande chance dele estar mais perdido que você. :-)

[]s
Luciano Caixeta Moreira - {Luti}
Chief Innovation Officer
Sr. Nimbus Ltda
E-mail: luciano.moreira@srnimbus.com.br

Um comentário:

  1. Bacana Luti, conseguiu resolver sem formatar a máquina hehehehe.

    Já vi muitas pessoas fazendo isso com um problema entre Power Designer vs Office 2007, que ao minimizar o documento, não é mais possível selecionar nenhum texto dentro dele. Basta desabilitar o add-in do PD dentro do Word e pronto!

    ResponderExcluir