GCP只读FAT32磁盘上C#应用导致Windows VM崩溃问题求助
问题描述
在GCP环境中,将存储文件的FAT32格式持久磁盘以只读模式挂载到Windows虚拟机(VM)后,运行基于.NET 6.0的C#应用读取磁盘文件时,VM发生崩溃;但将磁盘以读写模式挂载时,应用运行无异常。由于该磁盘需要被多台VM共享访问,必须使用只读模式。
环境信息
- 操作系统:Windows
- .NET版本:6.0
崩溃转储分析
错误代码详情
CACHE_MANAGER (34) See the comment for FAT_FILE_SYSTEM (0x23) Arguments: Arg1: 0000000000000551 Arg2: ffffffffc0000420 Arg3: 0000000000000000 Arg4: 0000000000000000 Debugging Details: ------------------ KEY_VALUES_STRING: 1 Key : Analysis.CPU.mSec Value: 2296 Key : Analysis.DebugAnalysisManager Value: Create Key : Analysis.Elapsed.mSec Value: 5020 Key : Analysis.Init.CPU.mSec Value: 3827 Key : Analysis.Init.Elapsed.mSec Value: 68539 Key : Analysis.Memory.CommitPeak.Mb Value: 87 Key : Dump.Attributes.InsufficientDumpfileSize Value: 1 Key : Dump.Attributes.RequiredDumpfileSize Value: 0x4f031cd8
进程与堆栈信息
PROCESS_NAME: dotnet.exe STACK_TEXT: ffffb808c3d4f108 fffff8066d89cf73 : 0000000000000034 0000000000000551 ffffffff c0000420 0000000000000000 : nt!KeBugCheckEx ffffb808c3d4f110 fffff8066dc88254 : 0000000000000000 ffff950b00000001 ffffb808c3d4f220 ffffb808c3d4f238 : nt!CcGetVirtualAddress+0x196103 ffffb808c3d4f1b0 fffff80c7373779c : ffffb80800000000 ffff950b89906a40 ffffb808c3d4f338 ffffb808c3d4f2a0 : nt!CcMapData+0x74 ffffb808c3d4f220 fffff80c73736422 : 0000000000445000 ffffb808c3d4f2c0 00000000fffffffe fffff80c7375181d : fastfat!FatReadVolumeFile+0x4c ffffb808c3d4f260 fffff80c7373498d : ffff950b89906a40 0000001746ea0000 0000000000000020 ffff838c032a7010 : fastfat!FatLookupFatEntry+0x16e ffffb808c3d4f2c0 fffff80c73735112 : ffff950b89906a40 0000000000000000 ffff838c032a7028 ffffb808c3d4f3f8 : fastfat!FatLookupFileAllocation+0x1d5 ffffb808c3d4f390 fffff80c73737c12 : ffff838c032a7010 ffff950b85799b00 ffff838c00000000 0000000000000000 : fastfat!FatLookupFileAllocationSize+0x3e ffffb808c3d4f3e0 fffff80c73737887 : ffff838c032a7010 ffff838c032a7010 ffff838c12655e01 0000000000000000 : fastfat!FatOpenDirectoryFile+0x26 ffffb808c3d4f430 fffff80c73745268 : ffffb808c3d4f500 fffff8066d863644 0000000000000504 0000000000000000 : fastfat!FatReadDirectoryFile+0x23 ffffb808c3d4f480 fffff80c7375c5ea : ffff838c12655d70 ffffb808c3d4f678 ffff838c12655e24 ffff950b84dc7740 : fastfat!FatGetDirentFromFcbOrDcb+0x4c ffffb808c3d4f4d0 fffff80c7375c1ce : ffff838c12655d70 ffff838c12655d70 ffff838c12655d70 0000000000000000 : fastfat!FatDetermineAndMarkFcbCondition+0x66 ffffb808c3d4f550 fffff80c73758624 : 0000000000000000 0000000000000000 ffff950b85799b80 ffff950b89906a40 : fastfat!FatVerifyFcb+0xea ffffb808c3d4f590 fffff80c73715978 : ffff950b89906a40 ffff950b85799b80 ffff950b85799b00 ffff838c12655d00 : fastfat!FatCommonRead+0x584 ffffb808c3d4f700 fffff8066d6d5209 : ffff950b8840f920 ffff950b85799b80 ffffb808c3d50000 ffffb808c3d4a000 : fastfat!FatFsdRead+0x1b8 ffffb808c3d4f790 fffff80c712d77c9 : ffff950b84dc0001 0000000000000000 ffff950b8fb21a90 0000000000000000 : nt!IofCallDriver+0x59 ffffb808c3d4f7d0 fffff80c712d6146 : ffffb808c3d4f860 ffff950b8489b2c0 0000000000000000 000001a639325750 : FLTMGR!FltpLegacyProcessingAfterPreCallbacksCompleted+0x289 ffffb808c3d4f840 fffff8066d6d5209 : ffff950b85799b80 ffff950b8840f920 ffff950b8840f920 fffff80c712d5faf : FLTMGR!FltpDispatch+0xb6 ffffb808c3d4f8a0 fffff8066dc83841 : ffffb808c3d4fb80 ffff950b8fb21a90 0000000000000000 ffff950b8fb21a90 : nt!IofCallDriver+0x59 ffffb808c3d4f8e0 fffff8066dc468e8 : ffff950b00000000 ffff950b8fb21a90 ffffb808c3d4fb80 ffffb808c3d4fb80 : nt!IopSynchronousServiceTail+0x1b1 ffffb808c3d4f990 fffff8066d8740f5 : 0000000000000b34 0000000000000000 0000000000000000 0000000000000000 : nt!NtReadFile+0x688 ffffb808c3d4fa90 00007ffd61cb08b4 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : nt!KiSystemServiceCopyEnd+0x25 00000020caef2038 0000000000000000 : 0000000000000000 0000000000000000 0000000000000000 0000000000000000 : 0x00007ffd`61cb08b4
符号与故障摘要
SYMBOL_NAME: nt!CcGetVirtualAddress+196103 MODULE_NAME: nt IMAGE_NAME: ntkrnlmp.exe IMAGE_VERSION: 10.0.17763.3650 STACK_COMMAND: .cxr; .ecxr ; kb BUCKET_ID_FUNC_OFFSET: 196103 FAILURE_BUCKET_ID: 0x34_nt!CcGetVirtualAddress OSPLATFORM_TYPE: x64 OSNAME: Windows 10 FAILURE_ID_HASH: {5b536b15-f12a-f73d-c33a-a39c3658f8ee} Followup: MachineOwner
补充信息
- 磁盘以读写模式挂载时,应用运行完全正常。
- 崩溃发生前,VM的内存、CPU和IO使用率均为10%;VM配置为4核心CPU、8GB内存,磁盘容量100GB。
- 应用未对该持久磁盘执行任何写入操作。
内容的提问来源于stack exchange,提问作者Vinay Mysore
相关产品推荐
相关产品推荐

