Issue

Christopher
Technical Support
StableBit CloudDrive
1.0.0.721
Windows 10 (64 bit)
Public
Alex

It's a KERNEL_DATA_INPAGE_ERROR on the local Read Map.

So just to explain what the read map is... In the cloud part folder we have the following files:
  • CacheN - One or more cache files that contain the encrypted locally cached data for the cloud drive.
  • ReadMap - A data structure that tells us which parts of the cloud drive are cached locally vs. stored in the provider.
  • WriteMapN - 2 write maps that tell us which parts of the local cache need to be uploaded.
  • PinMap - Which parts of the local cached cannot be trimmed.
CloudDrive accesses all of the maps by using memory mapping, which means that they are all accessed in the same way that the Windows page file is accessed. If the data can't be read from a page file, Windows will BSOD with KERNEL_DATA_INPAGE_ERROR, which is what's happening here. There is no way to protect against this error with exception handling, which is another way of saying that there is no way to recover from this error in code. Windows simply does not allow it.

The exact cause of the error is 0xc000026e (STATUS_VOLUME_DISMOUNTED - An operation was attempted to a volume after it was dismounted.)

Basically, you have to think about the CloudPart folder like the Windows page file. If you placed the Windows page file on a drive that was suddenly disconnected, the same crash would happen.

I suppose I can code around this by not using memory mapping here, but I'm not sure that's necessary. I think you have to troubleshoot as to why the cache drive is dismounting.