dokan-dev/dokan-dotnet

[Help wanted] Random unmounts after updating from 1.5.0.0 to 2.0.5.1

pj-r opened this issue · 2 comments

pj-r commented

Would someone have hints how to investigate the issue of random unmount that started to happen after updating the driver to latest?

Wondering if this could be the keyword or phrase from logs: Starting FCB garbage collector with 2000 ms interval.
( But all the requests are well under the defined 30sek timeout. More like under 1sek in worst case. )

Enabled flags for the driver: var options = DokanOptions.RemovableDrive | DokanOptions.EnableNotificationAPI | DokanOptions.CurrentSession | DokanOptions.DebugMode (happens also without Debug mode enabled)

Initialization is made by:

.ConfigureOptions((instanceOptions) =>
{
  instanceOptions.Options = options;
  instanceOptions.SingleThread = false;
  instanceOptions.TimeOut = TimeSpan.FromSeconds(30);
  instanceOptions.MountPoint = this.MountPath;
});

So far this has happened when I copy/paste bunch of files and folders from native drive to a dokan mounted drive what then gets unmounted randomly.

There is some logs from event viewer:

## Mount
Entered event start.
Finding mount entry; lockGlobal = 0; mount point = \DosDevices\Z:\.
No mount entry found.
Creating disk device; mount point = Z:\; mount ID = 9l
disk device name: "\Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}"; symbolic link name: "\DosDevices\Global\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}"; mount point: "\DosDevices\Z:"; type: 8
SymbolicLink: "\DosDevices\Global\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}" -> "\Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}" created
Inserted new mount entry.
Event start using mount ID: 9; device name: \Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}.
Mounting volume using MountPoint "\DosDevices\Z:" device "\Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}"
Finding mount entry; lockGlobal = 1; mount point = .
Found entry with matching device name: \Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}
Mount entry found: \DosDevices\Z: -> \Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}
Starting FCB garbage collector with 2000 ms interval.
Not using Mount Manager.
Mounting successfully done.
Finished event start with status 1 and flags: 0
Opened file with user mode dispatch blocked: "\__drive_fs_keepalive"
Opened keepalive file from process 10244.
Activating keepalive handle from process 10244.
Opened file with user mode dispatch blocked: "\drive_fs_notification"

## Random dismount happens
Finding mount entry; lockGlobal = 1; mount point = \DosDevices\Z:.
Found entry with matching mount point.
Mount entry found: \DosDevices\Z: -> \Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}
Entered event release.
Starting unmount for device "\Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}"
Stopping FCB garbage collector.
Cleaning up all change notification waiters.
Deleting device object.
Finding mount entry; lockGlobal = 1; mount point = .
Found entry with matching device name: \Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}
Mount entry found: \DosDevices\Z: -> \Device\Volume{d6cc17c5-173c-4085-bce7-964f1e9f5de9}
Removing mount entry.
Deleting volume device object.
Finished deleting device.
Finished event release.
There is snip of the debug log just before the unmount happens

The log

[Debug] [FSDriver] - CreateFileProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	Normal
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 	Length	0
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	Normal
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 	Length	0
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - CreateFileProxy : \
[Debug] [FSDriver] - 	CreationDisposition	Open
[Debug] [FSDriver] - 	FileAccess	Synchronize
[Debug] [FSDriver] - 	FileShare	ReadWrite
[Debug] [FSDriver] - 	FileOptions	None
[Debug] [FSDriver] - 	FileAttributes	0
[Debug] [FSDriver] - 	Context	{<null>, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CreateFileProxy : \ Return : Success
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - 	Attributes	Normal
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 	Length	0
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - CleanupProxy : \
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CleanupProxy : \
[Debug] [FSDriver] - CloseFileProxy : \
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CloseFileProxy : \
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	Normal
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 	Length	0
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	Normal
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 	Length	0
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	Normal
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 	Length	0
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	Normal
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 	Length	0
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - SetEndOfFileProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	ByteOffset	8240
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - SetEndOfFileProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
[Debug] [FSDriver] - WriteFileProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	NumberOfBytesToWrite	8240
[Debug] [FSDriver] - 	Offset	0
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, True, False}
[Debug] [FSDriver] - Buffer size 8240 not power of 2 or too large, returning unpooled buffer.
[Debug] [FSDriver] - -1 (size 8240) outside pool range, discarding buffer.
[Debug] [FSDriver] - WriteFileProxy : \Subfolder1\project.ini Return : Success NumberOfBytesWritten : 8240
[Debug] [FSDriver] - SetFileAttributesProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Attributes	0
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - SetFileAttributesProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - SetFileTimeProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	CreateTime	
[Debug] [FSDriver] - 	AccessTime	
[Debug] [FSDriver] - 	WriteTime	31.1.2023 7.45.16
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - SetFileTimeProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	0
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	31.1.2023 7.45.16
[Debug] [FSDriver] - 	Length	8240
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	0
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	31.1.2023 7.45.16
[Debug] [FSDriver] - 	Length	8240
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	project.ini
[Debug] [FSDriver] - 	Attributes	0
[Debug] [FSDriver] - 	CreationTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastAccessTime	8.2.2023 19.06.37
[Debug] [FSDriver] - 	LastWriteTime	31.1.2023 7.45.16
[Debug] [FSDriver] - 	Length	8240
[Debug] [FSDriver] - GetFileInformationProxy : \Subfolder1\project.ini Return : Success
[Debug] [FSDriver] - GetFileSecurityProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	FileSystemSecurity	All
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - GetFileSecurityProxy : \Subfolder1\project.ini Return : NotImplemented
[Debug] [FSDriver] - GetFileSecurityProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	FileSystemSecurity	All
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - GetFileSecurityProxy : \Subfolder1\project.ini Return : NotImplemented
[Debug] [FSDriver] - CleanupProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - CleanupProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - CloseFileProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.FileWriteContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - CreateFileProxy : \
[Debug] [FSDriver] - 	CreationDisposition	Open
[Debug] [FSDriver] - 	FileAccess	ReadData, Synchronize
[Debug] [FSDriver] - 	FileShare	ReadWrite, Delete
[Debug] [FSDriver] - 	FileOptions	None
[Debug] [FSDriver] - 	FileAttributes	Normal
[Debug] [FSDriver] - 	Context	{<null>, False, True, False, False, #9256, False, False}
[Debug] [FSDriver] - CreateFileProxy : \ Return : Success
[Debug] [FSDriver] - FindFilesWithPatternProxy : \
[Debug] [FSDriver] - 	rawSearchPattern	LVI
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #9256, False, False}
[Debug] [FSDriver] - 	FileName	LVI
[Debug] [FSDriver] - 		Attributes	Directory
[Debug] [FSDriver] - 		CreationTime	8.2.2023 19.06.23
[Debug] [FSDriver] - 		LastAccessTime	8.2.2023 19.06.23
[Debug] [FSDriver] - 		LastWriteTime	1.1.0001 0.00.00
[Debug] [FSDriver] - 		Length	0
[Debug] [FSDriver] - FindFilesWithPatternProxy : \ Return : Success
[Debug] [FSDriver] - CleanupProxy : \
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #4, False, False}
[Debug] [FSDriver] - CleanupProxy : \
FileWriteContext(23)(project.ini): writer count now good 1
[Debug] [FSDriver] - CloseFileProxy : \
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #9256, False, False}
[Debug] [FSDriver] - CloseFileProxy : \
[Debug] [FSDriver] - CreateFileProxy : \Subfolder1
[Debug] [FSDriver] - 	CreationDisposition	Open
[Debug] [FSDriver] - 	FileAccess	ReadAttributes, Synchronize
[Debug] [FSDriver] - 	FileShare	ReadWrite, Delete
[Debug] [FSDriver] - 	FileOptions	None
[Debug] [FSDriver] - 	FileAttributes	0
[Debug] [FSDriver] - 	Context	{<null>, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - CreateFileProxy : \Subfolder1 Return : Success
[Debug] [FSDriver] - CreateFileProxy : \
[Debug] [FSDriver] - 	CreationDisposition	Open
[Debug] [FSDriver] - CleanupProxy : \Subfolder1
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - CleanupProxy : \Subfolder1
[Debug] [FSDriver] - 	FileAccess	Synchronize
[Debug] [FSDriver] - 	FileShare	ReadWrite
[Debug] [FSDriver] - 	FileOptions	None
[Debug] [FSDriver] - 	FileAttributes	0
[Debug] [FSDriver] - 	Context	{<null>, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CreateFileProxy : \ Return : Success
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
FileWriteContext(23)(project.ini): All ok :)
[Debug] [FSDriver] - CloseFileProxy : \Subfolder1
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContext, False, False, False, False, #9256, False, False}
[Debug] [FSDriver] - CloseFileProxy : \Subfolder1
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
[Debug] [FSDriver] - CloseFileProxy : \Subfolder1\project.ini
[Debug] [FSDriver] - CleanupProxy : \
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CleanupProxy : \
[Debug] [FSDriver] - CloseFileProxy : \
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CloseFileProxy : \
[Debug] [FSDriver] - CreateFileProxy : \Subfolder1
[Debug] [FSDriver] - 	CreationDisposition	Open
[Debug] [FSDriver] - 	FileAccess	ReadData, Synchronize
[Debug] [FSDriver] - 	FileShare	ReadWrite, Delete
[Debug] [FSDriver] - 	FileOptions	None
[Debug] [FSDriver] - 	FileAttributes	Normal
[Debug] [FSDriver] - 	Context	{<null>, False, True, False, False, #9256, False, False}
[Debug] [FSDriver] - CreateFileProxy : \Subfolder1 Return : Success
[Debug] [FSDriver] - FindFilesWithPatternProxy : \Subfolder1
FileWriteContext(26)(project.ini): Task started
[Debug] [FSDriver] - 	rawSearchPattern	definitions.xml
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContext, False, True, False, False, #9256, False, False}
[Debug] [FSDriver] - FindFilesWithPatternProxy : \Subfolder1 Return : Success
[Debug] [FSDriver] - CleanupProxy : \Subfolder1
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContext, False, True, False, False, #4, False, False}
[Debug] [FSDriver] - CleanupProxy : \Subfolder1
[Debug] [FSDriver] - CloseFileProxy : \Subfolder1
[Debug] [FSDriver] - CreateFileProxy : \Subfolder1\definitions.xml
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContext, False, True, False, False, #9256, False, False}
[Debug] [FSDriver] - CloseFileProxy : \Subfolder1
[Debug] [FSDriver] - 	CreationDisposition	CreateNew
[Debug] [FSDriver] - 	FileAccess	ReadData, WriteData, AppendData, ReadExtendedAttributes, WriteExtendedAttributes, ReadAttributes, WriteAttributes, Delete, ReadPermissions, ChangePermissions, Synchronize
[Debug] [FSDriver] - 	FileShare	None
[Debug] [FSDriver] - 	FileOptions	SequentialScan
[Debug] [FSDriver] - 	FileAttributes	Archive
[Debug] [FSDriver] - 	Context	{<null>, False, False, False, False, #9256, False, False}
FileWriteContext(26)(project.ini): Saying, source we have updated content!
[Debug] [FSDriver] - CreateFileProxy : \
[Debug] [FSDriver] - 	CreationDisposition	Open
[Debug] [FSDriver] - 	FileAccess	Synchronize
[Debug] [FSDriver] - 	FileShare	ReadWrite
[Debug] [FSDriver] - 	FileOptions	None
[Debug] [FSDriver] - 	FileAttributes	0
[Debug] [FSDriver] - 	Context	{<null>, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CreateFileProxy : \ Return : Success
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
[Debug] [FSDriver] - GetVolumeInformationProxy:
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - 	VolumeNameBuffer	TestASD\testi09872\Kaikki
[Debug] [FSDriver] - 	FileSystemNameBuffer	NTFS
[Debug] [FSDriver] - 	VolumeSerialNumber	2933762
[Debug] [FSDriver] - 	FileSystemFlags	CasePreservedNames, UnicodeOnDisk, SupportsRemoteStorage
[Debug] [FSDriver] - 	MaximumComponentLength	256
[Debug] [FSDriver] - GetVolumeInformationProxy Return : Success
[Debug] [FSDriver] - CleanupProxy : \
[Debug] [FSDriver] - 	Context	{TheApp.FileSystemDriver.Contexts.DirectoryContextRoot, False, True, False, False, #5852, False, False}
[Debug] [FSDriver] - CleanupProxy : \
[Debug] [FSDriver] - CreateFileProxy : \Subfolder1\definitions.xml Return : Success
[Debug] [FSDriver] - UnmountedProxy:
[Debug] [FSDriver] - 	Context	{<null>, False, False, False, False, #0, False, False}
[Debug] [FSDriver] - UnmountedProxy Return : Success

Hi @pj-r ,

Can you try to run Procmon and see if all the requests inside the device have a responds ?
Does it always dismount after the same elapse time ? Can you reproduce with the native or C# samples ?

pj-r commented

Finally found it. It was about GC disposing the dokanInstance.

With previous version the Mount(...) method was "a long running task" and with the latest driver version, mount method of our wrapper class did return immediately what caused "releasing" of the driver instance for mercy of GC. It did dispose what triggered the unmount.

It works now 👍