网络驱动器启动应用程序在 Windows 10 (1703/1809) 上随机崩溃,报告 0xc0000006 异常或错误“无法处理错误”

网络驱动器启动应用程序在 Windows 10 (1703/1809) 上随机崩溃,报告 0xc0000006 异常或错误“无法处理错误”

介绍

Windows 10(更新 1703 或 1809),从网络驱动器启动的应用程序在一段时间后崩溃6095分钟。在 Windows 7 上应用程序运行完美。

数周来,实验室一直在对其行为进行监控,涉及多个 32 位和 16 位应用程序。

症状

  • 从网络驱动器启动应用程序的所有尝试都成功;
  • 所有受影响的 32 位应用程序 EXE/DLL(电力建设者) 记录了0xc0000006例外情况事件查看器
  • 在 16 位应用程序上(MS-DOS 版 Foxpro 2.6)发生错误“无法处理错误“或者干脆中断并退出。
  • 偶尔”尝试报告错误 104 时发生致命错误 104“发生。
  • 即使在连续使用过程中也会发生故障(没有发生明显的不活动期);
  • 故障仅发生在Windows 10运行更新 1703 或更新 1809 的 32 位/64 位工作站。Windows 7 工作站很好。
  • 收集到的分析表明,从6095首次发射和休息之间的时间间隔为几分钟;
  • 使用Wireshark, 错误状态_网络_会话_已过期在某些情况下发生故障时会持续记录。
  • 当在不同时间启动多个实例时,它们都在同一秒失败;
  • 即使网络驱动器启动的实例最终失败,从本地驱动器启动的实例仍运行良好;
  • 所有受影响的站点服务器均运行Windows 2016 服务器
  • 网络驱动器在失败后似乎可以正常运行;
  • 在应用程序中断之前、期间或之后,网络连接似乎从未失败过(连续 PING);

测试实验室系统配置

  • Windows Server 2016 基本版 (1607)
  • Windows 10 32 位 / 64 位(更新 1703 / 1809)
  • Windows 7(仅 32 位)
  • 电缆
  • 转变

服务器网络配置

Powershell命令的结果Get-SMBServerConfiguration

AnnounceComment                 : 
AnnounceServer                  : False
AsynchronousCredits             : 512
AuditSmb1Access                 : False
AutoDisconnectTimeout           : 999999
AutoShareServer                 : True
AutoShareWorkstation            : True
CachedOpenLimit                 : 10
DurableHandleV2TimeoutInSeconds : 180
EnableAuthenticateUserSharing   : False
EnableDownlevelTimewarp         : False
EnableForcedLogoff              : True
EnableLeasing                   : False
EnableMultiChannel              : True
EnableOplocks                   : True
EnableSecuritySignature         : True
EnableSMB1Protocol              : True
EnableSMB2Protocol              : True
EnableStrictNameChecking        : True
EncryptData                     : False
IrpStackSize                    : 15
KeepAliveTime                   : 2
MaxChannelPerSession            : 32
MaxMpxCount                     : 50
MaxSessionPerConnection         : 16384
MaxThreadsPerQueue              : 20
MaxWorkItems                    : 1
NullSessionPipes                : netlogon,samr,lsarpc
NullSessionShares               : 
OplockBreakWait                 : 35
PendingClientTimeoutInSeconds   : 120
RejectUnencryptedAccess         : True
RequireSecuritySignature        : True
ServerHidden                    : True
Smb2CreditsMax                  : 8192
Smb2CreditsMin                  : 512
SmbServerNameHardeningLevel     : 0
TreatHostAsStableStorage        : False
ValidateAliasNotCircular        : True
ValidateShareScope              : True
ValidateShareScopeNotAliased    : True
ValidateTargetName              : True

工作站网络配置

Powershell命令的结果Get-SMBClientConfiguration

ConnectionCountPerRssNetworkInterface : 4
DirectoryCacheEntriesMax              : 16
DirectoryCacheEntrySizeMax            : 65536
DirectoryCacheLifetime                : 0
DormantFileLimit                      : 1023
EnableBandwidthThrottling             : True
EnableByteRangeLockingOnReadOnlyFiles : True
EnableInsecureGuestLogons             : True
EnableLargeMtu                        : True
EnableLoadBalanceScaleOut             : True
EnableMultiChannel                    : True
EnableSecuritySignature               : False
ExtendedSessionTimeout                : 1000
FileInfoCacheEntriesMax               : 64
FileInfoCacheLifetime                 : 0
FileNotFoundCacheEntriesMax           : 128
FileNotFoundCacheLifetime             : 5
KeepConn                              : 65535
MaxCmds                               : 50
MaximumConnectionCountPerServer       : 32
OplocksDisabled                       : False
RequireSecuritySignature              : False
SessionTimeout                        : 65535
UseOpportunisticLocking               : False
WindowSizeThreshold                   : 8

我们已经做了什么

  • 已检查事件查看器,甚至在 SMBCLIENT 和 SMBSERVER 子事件上,但无法找到事件和应用程序故障之间的关联。
  • 尝试设置 SMB会话超时设置为65535在工作站上重新启动,如所指出的哈里克
  • 尝试设置 SMB凯普康设置为65535在工作站上重新启动;
  • 禁用自动断开连接(将其更改为 -1)然后重新启动;
  • 尝试启用1. SMB1(超级存储模块)在服务器/工作站上然后重新启动;
  • 尝试在服务器/工作站上禁用防病毒软件(ESET),然后重新启动;
  • 禁用服务器/工作站卡上的省电网络,然后重新启动;
  • 尝试禁用服务器/工作站上的防火墙;
  • 该案件已接受实验室监视数周,但无果。

还有其他人遇到过这些症状并能提供替代解决方案吗?

感谢您的关注

答案1

总的来说,Windows 10 1809 中引入了一个新的错误,微软在文章中承认了这一点
在 Windows 10 版本 1809 中映射的网络驱动器可能无法重新连接

虽然微软已经意识到了这个问题,但预计要到 2019 年的某个时候才能永久修复。与此同时,如果这确实是你遇到的问题,你可以使用文章中提供的解决方法来缓解这个错误。

下面我列出了一些用户在互联网论坛上提出的其他解决方法。


尝试在客户端上将值设置为SessionTimeout65535 秒。可以使用 PowerShell 命令完成此操作 设置 SmbClientConfiguration -SessionTimeout

它也可能位于注册表中
HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\SERVICES\ LANMANWORKSTATION\PARAMETERS\SESSTIMEOUT
(请参阅此旧链接)。

我建议随后重新启动。


其他可能的解决方法:

  • 将组策略更改为更新而不是代替组策略对象 (GPO) 中的驱动器映射: 用户配置 > 首选项 > Windows 设置 > 驱动器映射。 看关联有人报告说可以设置为刷新

  • 在提升的 cmd 中在服务器和客户端上运行以下命令:

    net config server /autodisconnect:-1
    
  • 设置网络适配器的电源选项以禁用“允许计算机关闭此设备以节省电源”。

  • 有些人报告说,在登录时重新映射网络共享可以解决问题,有些人为此添加了登录脚本。

  • 其他报告建议禁用 Windows 10 快速启动。

答案2

  1. 如果任何服务器/客户端机箱在 VMWare 上运行,请将 VMware 工具更新至 9.0.13 或更高版本。作为 VMware 工具包的一部分,vmxnet3 以太网驱动程序应为 1.5.2 或更高版本,否则可能会无缘无故地随机丢弃软件包。
  2. 中间是否有防火墙或负载均衡器?请绕过它,然后看看效果如何。
  3. harrymc 提到的增加 SESSIONTIMEOUT 是一个好方法。我也会这么做。但我也会出于测试目的这样做:

下载 TCP Optimizer 4.0,在客户端和服务器端更改这些设置,然后重新启动两个框:将 MaxConnectionsPer1_0Server 和 MaxConnectionPerServer 都增加到 240,将 Max SYNC Retransmissions 增加到 7,将 MaxUserPort 增加到 65534,将 TCPTimedWaitDelay 增加到 180

登录客户端,通过其 IP 地址将网络驱动器挂载为 \192.168.100.xxx\Source_folder,然后运行相同的应用程序进行测试。

如果问题仍然存在,请分享您正在运行的应用程序。如果是 Java 应用程序,则可能需要进行一些调整。祝您好运,并期待知道进展如何。

相关内容