Depurando uma falha no Windows 8.1 File Explorer

0

Desde a atualização para o Windows 8.1, experimentei falhas frequentes do Windows Explorer. Ele irá travar por 10 a 30 segundos, depois será encerrado e reiniciado. Isso acontece muitas vezes ao dia e não vejo um gatilho consistente - às vezes acontece se eu nem estou interagindo com o Explorer.

Extensões do shell que eu instalei:

  • Notepad ++
  • TortoiseSVN
  • Dropbox
  • 7-Zip

Tentei desativar todas as extensões acima, mas as falhas continuavam acontecendo.

Capturei um minidump usando procdump e tentei analisá-lo com o WinDbg, mas como sou desenvolvedor de .NET, não sei muito bem o que estou vendo. :) O arquivo de despejo está aqui: https://dl.dropboxusercontent.com/u/407740/explorer.exe_150122_113351.dmp

Quando carrego o arquivo de despejo pela primeira vez, vejo o seguinte:

This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(3cf0.1284): Stack overflow - code c00000fd (first/second chance not available)

Eu costumava .ecxrmudar para o thread travado. Isso também gera algumas informações com as quais não sei o que fazer.

Eu costumava knmostrar o rastreamento da pilha e obtive o seguinte:

 # Child-SP          RetAddr           Call Site
00 00000000`19ef4000 00007ffb`d917184a ntdll!RtlAllocateHeap+0xd2
01 00000000`19ef4110 00007ffb`d55b16cb combase!CoTaskMemAlloc+0x3a
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for shell32.dll - 
02 00000000`19ef4140 00007ffb`d7738d98 SHCore!SHStrDupW+0x4b
03 00000000`19ef4170 00007ffb`d90e1906 shell32!SHCreateItemFromIDList+0x2d8
04 00000000`19ef5410 00007ffb`d77f0b46 shlwapi!IShellFolder_GetDisplayNameOf+0x46
05 00000000`19ef5460 00007ffb`d7764733 shell32!SHRestricted+0x8f6
06 00000000`19ef6760 00007ffb`d7764b2a shell32!Shell_GetCachedImageIndexW+0x146d3
07 00000000`19ef6840 00007ffb`d7764a46 shell32!Shell_GetCachedImageIndexW+0x14aca
08 00000000`19ef6890 00007ffb`d776495c shell32!Shell_GetCachedImageIndexW+0x149e6
09 00000000`19ef6920 00007ffb`d776144d shell32!Shell_GetCachedImageIndexW+0x148fc
0a 00000000`19ef69f0 00007ffb`d7814b1e shell32!Shell_GetCachedImageIndexW+0x113ed
0b 00000000`19ef6b20 00007ffb`d77438ce shell32!SHChangeNotifyDeregister+0xb7e
0c 00000000`19ef8860 00007ffb`d7735f55 shell32!PathIsExeWorker+0x717e
0d 00000000`19ef9040 00007ffb`d77efe5b shell32!SHBindToObject+0x1705
0e 00000000`19ef95b0 00007ffb`d777853f shell32!Ordinal866+0x105b
0f 00000000`19ef9920 00007ffb`d7764c22 shell32!Ordinal880+0x1df
10 00000000`19ef9990 00007ffb`d780299c shell32!Shell_GetCachedImageIndexW+0x14bc2
11 00000000`19efaa80 00007ffb`d7735f55 shell32!Ordinal922+0x166c
12 00000000`19efb260 00007ffb`d77efe5b shell32!SHBindToObject+0x1705
13 00000000`19efb7d0 00007ffb`b7da1097 shell32!Ordinal866+0x105b
14 00000000`19efbb40 00007ffb`b7da035a SearchFolder!CScope::Load+0x377
15 00000000`19efbc80 00007ffb`b7d9ffb2 SearchFolder!CBinaryAutoList::Load+0x2ea
16 00000000`19efbef0 00007ffb`b7d46f4b SearchFolder!CAutoListCache::GetListDescriptionFromPropertyBag+0x4be
17 00000000`19efc050 00007ffb`d780065a SearchFolder!CDelegateFolderBase::BindToObject+0x3f2
18 00000000`19efc150 00007ffb`d77347c8 shell32!ILCloneFirst+0x4a2a
19 00000000`19efc230 00007ffb`d781792e shell32!ILCombine+0x468
1a 00000000`19efcba0 00007ffb`d77f56a8 shell32!Ordinal95+0x32e
1b 00000000`19efcf10 00007ffb`d7905cb6 shell32!SHBindToFolderIDListParentEx+0x338
1c 00000000`19efcff0 00007ffb`d78ca13b shell32!DriveType+0x386
1d 00000000`19efd2b0 00007ffb`d78bea34 shell32!Ordinal833+0x83b
1e 00000000`19efd310 00007ffb`d78beadc shell32!Ordinal825+0x20a4
1f 00000000`19efd370 00007ffb`d7a1d29f shell32!Ordinal825+0x214c
20 00000000`19efd3a0 00007ffb`d7a99f9e shell32!ReadCabinetState+0x205f
21 00000000`19efd3e0 00007ffb`d790eaa7 shell32!ILCreateFromPathW+0x58bbe
22 00000000`19efd490 00007ffb`d7a99fd3 shell32!SHBindToParent+0xa27
23 00000000`19efd750 00007ffb`d790eaa7 shell32!ILCreateFromPathW+0x58bf3
24 00000000`19efd490 00007ffb`d7a99fd3 shell32!SHBindToParent+0xa27
25 00000000`19efd750 00007ffb`d790eaa7 shell32!ILCreateFromPathW+0x58bf3
26 00000000`19efd490 00007ffb`d7a99fd3 shell32!SHBindToParent+0xa27
27 00000000`19efd750 00007ffb`d790eaa7 shell32!ILCreateFromPathW+0x58bf3
...
fe 00000000`19f14eb0 00007ffb`d7a99fd3 shell32!SHBindToParent+0xa27
ff 00000000`19f15170 00007ffb`d790eaa7 shell32!ILCreateFromPathW+0x58bf3

Se eu uso !analyze -v, recebo outras informações, mas nada que eu saiba usar.

Carreguei o último quadro fazendo .frame ffe tentei usar dvpara examinar as variáveis, mas isso deu um erro " Private symbols (symbols.pri) are required for locals". Não tenho certeza do que fazer a partir daqui. Como posso obter mais informações sobre o que o Explorer estava tentando fazer quando falhou?

Jon sem um h
fonte
Seu HDD relata seu status como íntegro, correto?
Ramhound 22/01
Apenas uma possibilidade: você tem uma unidade de rede mapeada que às vezes pode não estar disponível, particularmente seu repositório Subversion? O TortoiseSVN instala algumas extensões de shell do Windows e eu tenho um sistema travado há algum tempo (apesar de não travar) quando o repositório está inoperante.
DrMoishe Pippik
desativar a sysfer.dll , engancha na busca
magicandre1981
@ Ramhound O HDD (SSD, na verdade) é novo - minha instalação do Windows tem apenas um mês. Corri o chkdsk e ele não relata problemas.
jon sem um h
@DrMoishePippik As falhas parecem acontecer mais quando estou fazendo coisas com o Tortoise, mas mesmo depois de desativá-las, eu ainda as tinha. Eu tenho algumas unidades de rede, vou tentar desconectá-las e ver se isso faz alguma coisa.
jon sem um h

Respostas:

0

Joguei a pilha na pilha e vi que a sysfer.dll(Symantec DLL) está envolvida quando o Explorer tenta executar operações de pesquisa C:\Windows\System32\connectedsearch-appcmd.searchconnector-ms, que é a pesquisa que exibe os resultados do Bing na Pesquisa do Windows:

0x0000000019ef98c8 : 0x00007ffbd7778a80 : shell32!CSearchConnectorFolder::v_InternalQueryInterface+0x30
0x0000000019ef98d8 : 0x00007ffbd7949030 :  !du "ParentFolder"
0x0000000019ef98f8 : 0x00007ffbd77f0fb0 : shell32!CShellItem::BindToHandler
0x0000000019ef9918 : 0x00007ffbd777853f : shell32!CSearchConnectorFolder::Initialize+0xcf
0x0000000019ef9938 : 0x00007ffbd7739590 : shell32!CShellItem::GetAttributes
0x0000000019ef9948 : 0x00007ffbd7732330 : shell32!CFSFolder::Release
0x0000000019ef9978 : 0x00007ffbd7778460 : shell32!CSearchConnectorFolder::InitializeEx
0x0000000019ef9980 : 0x0000000019ef9a90 :  !du "earchconnector-ms"
0x0000000019ef9988 : 0x00007ffbd7764c22 : shell32!CFSFolder::_InitFolder+0xe1b
0x0000000019ef9990 : 0x00007ffbd75972c0 : ole32!CBindCtx::RegisterObjectParam
0x0000000019ef9a38 : 0x0057005c003a0043 :  !du "C:\Windows\System32\connectedsearch-appcmd.searchconnector-ms"
0x0000000019ef9a40 : 0x006f0064006e0069 :  !du "indows\System32\connectedsearch-appcmd.searchconnector-ms"
0x0000000019ef9a48 : 0x0053005c00730077 :  !du "ws\System32\connectedsearch-appcmd.searchconnector-ms"
0x0000000019ef9a50 : 0x0065007400730079 :  !du "ystem32\connectedsearch-appcmd.searchconnector-ms"
0x0000000019ef9a58 : 0x005c00320033006d :  !du "m32\connectedsearch-appcmd.searchconnector-ms"
0x0000000019ef9a60 : 0x006e006e006f0063 :  !du "connectedsearch-appcmd.searchconnector-ms"
0x0000000019ef9a68 : 0x0065007400630065 :  !du "ectedsearch-appcmd.searchconnector-ms"
0x0000000019ef9a70 : 0x0061006500730064 :  !du "dsearch-appcmd.searchconnector-ms"
0x0000000019ef9a78 : 0x002d006800630072 :  !du "rch-appcmd.searchconnector-ms"
0x0000000019ef9a80 : 0x0063007000700061 :  !du "appcmd.searchconnector-ms"
0x0000000019ef9a88 : 0x0073002e0064006d :  !du "md.searchconnector-ms"
0x0000000019ef9a90 : 0x0063007200610065 :  !du "earchconnector-ms"
0x0000000019ef9a98 : 0x006e006f00630068 :  !du "hconnector-ms"
0x0000000019ef9aa0 : 0x007400630065006e :  !du "nector-ms"
0x0000000019ef9aa8 : 0x006d002d0072006f :  !du "or-ms"
*** WARNING: Unable to verify timestamp for sysfer.dll
*** ERROR: Module load completed but symbols could not be loaded for sysfer.dll
0x0000000019ef9e78 : 0x00007ffbd9bebb95 : ntdll!RtlpLowFragHeapAllocFromContext+0x355
0x0000000019ef9ed0 : 0x00007ffbd7952a90 :  dt shell32!CFileExtension
0x0000000019ef9ef0 : 0x00007ffbd7957960 : shell32!CLSID_LibraryFolder
0x0000000019ef9f28 : 0x00007ffbd917c922 : combase!CComActivator::DoCreateInstance+0x162
0x0000000019ef9f38 : 0x00007ffbd7731f9e : shell32!CAggregatedUnknown::AddRef+0x1e
0x0000000019ef9f48 : 0x00007ffbd9beb6f7 : ntdll!RtlAllocateHeap+0xd7
0x0000000019ef9f68 : 0x00007ffbd6de24b1 : KERNELBASE!QISearch+0x91
0x0000000019ef9f70 : 0x00007ffbd7732ae0 : shell32!CCommonPlaceFolder::AddRef
0x0000000019ef9f98 : 0x00007ffbd7800e65 : shell32!CAggregatedUnknown::CUnkInner::QueryInterface+0x2cb
0x0000000019ef9fa0 : 0x00007ffbd79556b8 : shell32!GUID_000214e6_0000_0000_c000_000000000046
0x0000000019ef9fa8 : 0x00007ffbd7922480 : shell32!CLibraryFolder::v_InternalQueryInterface
0x0000000019ef9fc0 : 0x00007ffbd79556b8 : shell32!GUID_000214e6_0000_0000_c000_000000000046
0x0000000019ef9fc8 : 0x00007ffbd7778ab4 : shell32!CSearchConnectorFolder::v_InternalQueryInterface+0x64
0x0000000019ef9fd8 : 0x00007ffbd7732110 : shell32!CAggregatedUnknown::CUnkInner::QueryInterface
0x0000000019ef9ff8 : 0x00007ffbd773208d : shell32!CAggregatedUnknown::Release+0x2d
0x0000000019efa000 : 0x00007ffbd79556b8 : shell32!GUID_000214e6_0000_0000_c000_000000000046
0x0000000019efa028 : 0x00007ffbd773208d : shell32!CAggregatedUnknown::Release+0x2d
0x0000000019efa038 : 0x00007ffbd7732110 : shell32!CAggregatedUnknown::CUnkInner::QueryInterface
0x0000000019efa058 : 0x00007ffbd79220bc : shell32!CSearchConnectorFolder::s_CreateInstance+0x14c
0x0000000019efa060 : 0x00007ffbd7777cb0 : shell32!CCommonPlaceFolder::Release
0x0000000019efa0b8 : 0x00007ffbd794f120 : 0x00007ffbd794fa40 : 0x00007ffbd79ecf00 : shell32!ECFQueryInterface
0x0000000019efa0c8 : 0x00007ffbd7733ebe : shell32!_SHCoCreateInstance+0x21b
0x0000000019efa0d0 : 0x00007ffbd7778390 : shell32!CSearchConnectorFolder_CreateInstance
0x0000000019efa0d8 : 0x00007ffbd72c2771 : msvcrt!fputwc_nolock+0x1e0
0x0000000019efa150 : 0x00630065006e006e :  !du "nnectedsearch-appcmd.searchconnector-ms"
0x0000000019efa158 : 0x0073006400650074 :  !du "tedsearch-appcmd.searchconnector-ms"
0x0000000019efa160 : 0x0063007200610065 :  !du "earch-appcmd.searchconnector-ms"
0x0000000019efa168 : 0x00700061002d0068 :  !du "h-appcmd.searchconnector-ms"
0x0000000019efa170 : 0x0064006d00630070 :  !du "pcmd.searchconnector-ms"

Talvez a DLL da symantec tente verificar os resultados da pesquisa para obter resultados ruins e isso pode causar problemas.

magicandre1981
fonte
Obrigado pela sua resposta. Pedi ao nosso departamento de TI que fizesse uma exceção para mim. Vou postar de volta com os resultados assim que receber a alteração.
jon sem um h
remover a Symantec corrige ou não?
magicandre1981
Tentamos algumas coisas, mas não conseguimos impedir o SEP de carregar o sysfer.dll no Explorer. Eu também estava tendo outros problemas com o Windows 8.1, então, no final, voltei ao 7. Desculpe por não conseguir confirmar se essa era a correção.
jon sem h