由于tsafedoc处理慢导致explorer无响应

本文描述了在Windows环境下,当在Explorer目录上右键操作时出现无响应问题,通过保存dump文件并分析堆栈跟踪,发现涉及多个模块如tsafedoc64、PathCvrt64.dll等,同时提到VS2019的UI线程也被影响。

现象:

windows上在exporer目录上右键,出现explorer无响应,保存dump观察线程,发现:

 86  Id: 2aa8.28e8 Suspend: 0 Teb: 00000000`007b0000 Unfrozen
 # RetAddr           : Args to Child                                                           : Call Site
00 00007ffc`c81094e7 : 00000000`00000002 00000000`30eacc70 00000000`30eae890 00000000`30eae890 : ntdll!NtOpenFile+0x14
01 00007ffc`c812f4c0 : 00000000`30eae8c0 00000000`30eacba0 00000000`00010000 00007ffc`d716fd1c : tsafedoc64+0xd94e7
02 00007ffc`c80bcffd : 00000000`026312b0 00000000`30eae8c0 ffffffff`fffffffe 00007ffc`bc863d3c : tsafedoc64+0xff4c0

*** ERROR: Module load completed but symbols could not be loaded for PathCvrt64.dll
03 00007ffc`bc8452f2 : 00000000`00000000 00000000`30eae7f0 00000000`30eae330 00007ffc`00000000 : tsafedoc64+0x8cffd

04 00007ffc`bc8410e0 : 00000000`30eae7f0 00000000`00000000 0000b196`5aa509e3 00000000`00000000 : PathCvrt64+0x52f2
05 00007ffc`c75c544a : 00000000`02637ee0 00007ffc`da6ddd83 00000000`30eae960 00000000`00000000 : PathCvrt64+0x10e0
06 00007ffc`d7126d1a : 00000000`30eaedd0 00000000`00000000 00000000`30eae960 00000000`00000003 : DtFrame64!EATUninstallRaw+0x53b4a
07 00000000`5541feb5 : 00000000`30eaedf2 00000000`00000001 00000000`090344d0 00007ffc`a63f1d50 : KERNELBASE!GetDriveTypeW+0x23a
08 00000000`5541a006 : 00000000`00000000 00000000`00000001 00000000`30eaf110 00000000`00000001 : TortoiseSVN+0x1feb5
09 00007ffc`ab2a1666 : 00000000`06843548 00007ffc`a9e8c548 00000000`066a6e00 00000000`0000000b : TortoiseSVN+0x1a006
0a 00007ffc`d7988845 : 00000000`08d1d5c0 00000000`066f9968 00000000`0000000b 00000000`066f9950 : TortoiseOverlays+0x1666
0b 00007ffc`d7988716 : 00000000`30eaf4a8 00007ffc`d6af996c 00000000`00000001 00000000`30eaf6c8 : shell32!CFSIconOverlayManager::_GetFileOverlayInfo+0x111
0c 00007ffc`d6af8a58 : 00000000`090349d0 00000000`30eaf4a8 00000000`2776b500 00000000`30eaf4d0 : shell32!CFSIconOverlayManager::GetFileOverlayInfo+0x46
0d 00007ffc`d69ce226 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : windows_storage!CFSFolder::_GetOverlayInfo+0x170
0e 00007ffc`d6afab23 : 00000000`00000000 00007ffc`c80ab6b7 00000000`00000000 00007ffc`ac4970a0 : windows_storage!CAutoDestItemsFolder::GetOverlayIndex+0xb6
0f 00007ffc`d6a99fc7 : 00006d92`2589dbe5 00000000`30eaf6f8 00000000`2461cb94 00000000`00000000 : windows_storage!CRegFolder::_GetOverlayInfo+0xbf
10 00007ffc`ac32d451 : 00000000`277c0de0 00000000`00000000 00000000`00000000 00000000`2461cb94 : windows_storage!CRegFolder::GetOverlayIndex+0x47
11 00007ffc`ac34f2f5 : 00000000`277c0de0 00000000`ffffffff 00000000`00000000 00000000`28062fd0 : explorerframe!CNscOverlayTask::_Extract+0x51
12 00007ffc`ac328042 : 00000000`28062fa8 00000000`2461cb94 00000000`00000000 00000000`30eaf790 : explorerframe!CNscOverlayTask::InternalResumeRT+0x45
13 00007ffc`d6b2374c : 00000000`00000000 00000000`00000000 00000000`280d7790 00000000`0000000a : explorerframe!CRunnableTask::Run+0xb2
14 00007ffc`d6b23405 : 00000000`283a9870 ffffffff`fffffffe 00000000`280d7c10 ffffffff`fffffffe : windows_storage!CShellTask::TT_Run+0x3c
15 00007ffc`d6b232e5 : 00000000`283a9870 00000000`283a9870 00000000`00000000 00000000`00000000 : windows_storage!CShellTaskThread::ThreadProc+0xdd
16 00007ffc`d99e1ce6 : 00007ffc`d99b0000 00000000`7ffe0386 0000b196`5aa51a93 00000000`04614838 : windows_storage!CShellTaskThread::s_ThreadProc+0x35
17 00007ffc`da7121c5 : 00000000`275047f0 00000000`7ffe0386 00000000`00000000 00000000`00000008 : SHCore!ExecuteWorkItemThreadProc+0x16
18 00007ffc`da6f05d4 : 00000000`00000000 00000000`15441a00 00007ffc`d99e1cd0 00000000`04614838 : ntdll!RtlpTpWorkCallback+0x165
19 00007ffc`d8ef7974 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!TppWorkerThread+0x644
1a 00007ffc`da70a271 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
1b 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21

 

  89  Id: 2aa8.6f6c Suspend: 0 Teb: 00000000`0061e000 Unfrozen
 # RetAddr           : Args to Child                                                           : Call Site
00 00007ffc`d96a6bf8 : 48d3df96`5e591a74 ba28eebc`3317678d 00006d92`2614dec5 00000000`00000000 : win32u!NtUserMessageCall+0x14
01 00007ffc`d96a6908 : 00000000`00110aac 00007ffc`da6f9800 00000000`00000000 00000000`01023af0 : user32!SendMessageWorker+0x288
02 00007ffc`c80bedcb : 00007ffc`597a0038 00000000`3377f520 00000000`00000000 00007ffc`c7696d9b : user32!SendMessageW+0xf8
03 00007ffc`c75e7fe0 : 00000000`00000000 00007ffc`c80bece0 00000000`00110aac 00007ffc`597a0038 : tsafedoc64+0x8edcb

04 00007ffc`d7997f65 : 00000000`27572950 00000000`00000000 00000000`3377f5f9 00000000`275729d8 : DtFrame64!EATUninstallRaw+0x766e0
05 00007ffc`d7992ee1 : 00000000`00000001 00000000`27572950 00000000`27e48b00 00000000`02636510 : shell32!CShellFolderSetEnumTask::InternalResumeRT+0x105
06 00007ffc`d6b2374c : 00000000`00002aa8 00000000`27e48b20 00000000`27e48b10 00000000`0000000b : shell32!CRunnableTask::Run+0xc1
07 00007ffc`d6b23405 : 00000000`27740650 ffffffff`fffffffe 00000000`00000000 ffffffff`fffffffe : windows_storage!CShellTask::TT_Run+0x3c
08 00007ffc`d6b232e5 : 00000000`27740650 00000000`27740650 00000000`00000000 00000000`00000000 : windows_storage!CShellTaskThread::ThreadProc+0xdd
09 00007ffc`d99e1ce6 : 00007ffc`d99b0000 00000000`7ffe0386 0000b196`59381a13 00000000`04614838 : windows_storage!CShellTaskThread::s_ThreadProc+0x35
0a 00007ffc`da7121c5 : 00000000`2485b4e0 00000000`7ffe0386 00000000`0089e460 00000000`00000027 : SHCore!ExecuteWorkItemThreadProc+0x16
0b 00007ffc`da6f05d4 : 00000000`00000000 00000000`1566d930 00007ffc`d99e1cd0 00000000`04614838 : ntdll!RtlpTpWorkCallback+0x165
0c 00007ffc`d8ef7974 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!TppWorkerThread+0x644
0d 00007ffc`da70a271 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14
0e 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21
 

vs 2019 的UI线程也被卡住。。。

.  0  Id: 8338.8218 Suspend: 0 Teb: 006e7000 Unfrozen
 # ChildEBP RetAddr  Args to Child              
WARNING: Frame IP not in any known module. Following frames may be wrong.
00 008f9ab0 11056786 008f9b6c 00120089 008f9b70 0x10f013bc
01 008f9afc 1207b15d 008f9b14 12316d92 008f9b4c dtframe32!EATUninstallRaw+0x54ff6
02 008f9b34 00120089 008f9b70 008f9b64 00000000 tsafedoc2!UninitCodeProtectMem+0xb999a
03 008f9b6c 00000000 00000000 008f9b8c 00000040 0x120089
 

Windows系统中,`explorer.exe`(即Windows资源管理器)无响应是一个常见问题,可能导致任务栏、桌面、文件管理器等功能无法正常使用。以下是一些高效的解决方法: ### 1. 重启 `explorer.exe` 进程 最直接的方法是通过任务管理器或命令行重启 `explorer.exe` 进程。打开任务管理器(Ctrl + Shift + Esc),找到“Windows资源管理器”进程,右键选择“重新启动”。如果任务管理器也无法操作,可以使用命令行: ```cmd taskkill /f /im explorer.exe start explorer.exe ``` 该方法可以快速恢复资源管理器的正常运行[^2]。 ### 2. 检查第三方软件冲突 某些第三方软件(如杀毒软件、桌面美化工具等)可能会与资源管理器发生冲突,导致无响应。尝试卸载或禁用这些软件,特别是最近安装的程序,以排除其影响。 ### 3. 更新或回滚显卡驱动 显卡驱动不兼容也可能导致资源管理器卡顿或崩溃。可以通过设备管理器检查显卡驱动的更新,或者尝试回滚到之前的版本,看看是否能解决问题。 ### 4. 检查系统文件完整性 系统文件损坏可能是导致资源管理器无响应的潜在原因。可以通过系统文件检查工具(SFC)和部署映像服务与管理工具(DISM)来修复系统文件: ```cmd sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth ``` 这些命令可以帮助检测并修复系统文件中的问题,从而恢复资源管理器的正常功能。 ### 5. 清理临时文件和缓存 过多的临时文件或缓存可能会影响系统的性能,导致资源管理器无响应。可以使用磁盘清理工具或第三方清理软件来清除这些文件。 ### 6. 检查系统更新 确保系统已安装最新的Windows更新,因为微软经常会通过更新修复已知的问题和漏洞。打开“设置” -> “Windows 更新”,检查并安装所有可用的更新。 ### 7. 检查硬件问题 如果以上方法都无法解决问题,可能是硬件问题(如硬盘故障)导致的。可以使用硬盘检测工具(如CrystalDiskInfo)检查硬盘状态,确保硬件没有问题。 ### 8. 系统还原或重置 如果所有其他方法都无效,最后的选择是进行系统还原或重置。可以通过“设置” -> “系统” -> “恢复” -> “重置此电脑”来重置系统,但这将清除所有个人文件和安装的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值