Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mounting exits successfully on x86 Tablet when modern standby activated #692

Closed
5 tasks done
kenjiuno opened this issue May 22, 2018 · 4 comments
Closed
5 tasks done

Comments

@kenjiuno
Copy link

Environment

  • Windows version: Windows 10 32-bit 1709
  • Processor architecture: x86
  • Dokany version: DokanSetup-1.1.0.2428.exe
  • Library type (Dokany/FUSE): Dokany, mirror.exe

Check List

  • I checked my issue doesn't exist yet
  • My issue is valid with mirror default sample and not specific to my user-mode driver implementation
  • I can always reproduce the issue with the provided description below.
  • I have updated Dokany to the latest version and have reboot my computer after.
  • I tested one of the last snapshot from appveyor CI

Description

  • Mounting quits successfully on x86 Windows 10 Tablet, when modern standby (called as Connected standby, InstantGo, Intel S0ix and so) activated.
  • Here is demo capture of mirror.exe exits with Success status on modern standby (LICEcap):
    standby
  1. Check explorer. There is only C: drive.
  2. Run mirror.exe /r %USERPROFILE%\Desktop /l M:
  3. Check explorer again. M: is mounted and accessible.
  4. Press device's power button.
  5. Enter modern standby 0:17-0:39
  6. mirror.exe exits with Success message.
  7. There is only C: drive.

Logs

noop

@Liryna
Copy link
Member

Liryna commented May 22, 2018

Hi @kenjiuno ,

Thank you for the report.
This seems to be duplicate with #634
But really interesting about modern standby, that something we never heard for now.
We need kernel logs or hardware to be able to reproduce the issue.

@kenjiuno
Copy link
Author

We need kernel logs or hardware to be able to reproduce the issue.

Thanks for reply! I'll check kernel log if there is useful information of this issue...

@kenjiuno
Copy link
Author

Here is mirror's log:

C:\Program Files\Dokan\Dokan Library-1.1.0\sample\mirror>mirror.exe /r %USERPROFILE%\Desktop /l M: /d /s
## Attempting to add SE_SECURITY_NAME privilege to process token ##
  success: privilege already present
Dokan: debug mode on
Dokan: use stderr
AllocationUnitSize: 512 SectorSize: 512
device opened
###QueryVolumeInfo -001
GetVolumeInformation: max component length 255
GetVolumeInformation: file system name NTFS
GetVolumeInformation: got file system flags 0x03e706ff, returning 0x0004000f
mounted: M: -> \Volume{d6cc17c5-1736-4085-bce7-964f1e9f5de9}
Mounted

The above one is booting part of mirror.exe.

The below part is displayed after resuming from standby.

Ioctl failed for wait with code 995.
Ioctl failed for wait with code 995.
Ioctl failed for wait with code 995.
Ioctl failed for wait with code 995.
Ioctl failed for wait with code 995.
Thread will be terminated
Thread will be terminated
Thread will be terminated
Thread will be terminated
Dokan Error: DokanKeepAlive CreateFile failed \\.\Volume{d6cc17c5-1736-4085-bce7-964f1e9f5de9}: 2
Thread will be terminated
Unmounted

unload
Success

C:\Program Files\Dokan\Dokan Library-1.1.0\sample\mirror>

I need to try debug version (from Releases) in order to capture kernel log. I'll post it when it is captured!

DbgView captured something. But no kernel output seems to be included:

00000001	0.00000000	[804] NPGetCaps 2	
00000002	0.00010598	[804]   WNNC_NET_TYPE	
00000003	0.00030029	[804] NPGetCaps 4	
00000004	0.00051149	[804]   WNNC_USER	
00000005	0.00063590	[804] NPGetCaps 6	
00000006	0.00067123	[804]   WNC_CONNECTION	
00000007	0.00078029	[804] NPGetCaps 13	
00000008	0.00097690	[804]   default	
00000009	0.00105446	[804] NPGetCaps 11	
00000010	0.00114202	[804]   WNNC_ENUMERATION	
00000011	0.00124954	[804] NPGetCaps 9	
00000012	0.00133939	[804]   WNNC_ADMIN	
00000013	0.00163123	[804] NPGetCaps 8	
00000014	0.00167731	[804]   WNNC_DIALOG	
00000015	0.00828288	[804] NPGetCaps 2	
00000016	0.00837504	[804]   WNNC_NET_TYPE	
00000017	0.00847488	[804] NPGetCaps 4	
00000018	0.00857011	[804]   WNNC_USER	
00000019	0.00866842	[804] NPGetCaps 6	
00000020	0.00876672	[804]   WNC_CONNECTION	
00000021	0.00898483	[804] NPGetCaps 11	
00000022	0.00908775	[804]   WNNC_ENUMERATION	
00000023	0.00919373	[804] NPGetCaps 9	
00000024	0.00928973	[804]   WNNC_ADMIN	
00000025	0.00939034	[804] NPGetCaps 8	
00000026	0.00948941	[804]   WNNC_DIALOG	
00000027	0.04530663	[804] NPOpenEnum: dwScope 0x00000001, dwType 0x00000001, dwUsage 0x00000000, lpNetResource 00000000	
00000028	0.04542644	[804] NPOpenEnum: pCtx 011DC928	
00000029	0.04552552	[804] NPOpenEnum	
00000030	0.04583886	[804] NPEnumResource: hEnum 011DC928, lpcCount 0332EE44, lpBuffer 011B8898, lpBufferSize 0332EE48.	
00000031	0.04594945	[804] NPEnumResource: *lpcCount 0xffffffff, *lpBufferSize 0x4000, pCtx->index 0	
00000032	0.04625435	[804] NPEnumResource CurrentSesstionID:1	
00000033	0.04635649	[804] NPEnumResource nbRead:0	
00000034	0.04646401	[804] NPEnumResource: Entries returned 0, dwStatus 0x00000103	
00000035	0.04662376	[804] NPCloseEnum: hEnum 011DC928	
00000036	0.04759758	[804] NPCloseEnum: returns	
00000037	343.99642944	[5044] NPGetCaps 2	
00000038	343.99700928	[5044]   WNNC_NET_TYPE	
00000039	343.99725342	[5044] NPGetCaps 4	
00000040	343.99737549	[5044]   WNNC_USER	
00000041	343.99749756	[5044] NPGetCaps 6	
00000042	343.99758911	[5044]   WNC_CONNECTION	
00000043	343.99771118	[5044] NPGetCaps 13	
00000044	343.99780273	[5044]   default	
00000045	343.99789429	[5044] NPGetCaps 11	
00000046	343.99801636	[5044]   WNNC_ENUMERATION	
00000047	343.99813843	[5044] NPGetCaps 9	
00000048	343.99822998	[5044]   WNNC_ADMIN	
00000049	343.99832153	[5044] NPGetCaps 8	
00000050	343.99841309	[5044]   WNNC_DIALOG	
00000051	344.00558472	[5044] NPGetCaps 2	
00000052	344.00570679	[5044]   WNNC_NET_TYPE	
00000053	344.00582886	[5044] NPGetCaps 4	
00000054	344.00592041	[5044]   WNNC_USER	
00000055	344.00622559	[5044] NPGetCaps 6	
00000056	344.00634766	[5044]   WNC_CONNECTION	
00000057	344.00646973	[5044] NPGetCaps 11	
00000058	344.00656128	[5044]   WNNC_ENUMERATION	
00000059	344.00665283	[5044] NPGetCaps 9	
00000060	344.00674438	[5044]   WNNC_ADMIN	
00000061	344.00686646	[5044] NPGetCaps 8	
00000062	344.00698853	[5044]   WNNC_DIALOG	
00000063	344.14599609	[5044] NPOpenEnum: dwScope 0x00000001, dwType 0x00000001, dwUsage 0x00000000, lpNetResource 00000000	
00000064	344.14608765	[5044] NPOpenEnum: pCtx 06EFE940	
00000065	344.14627075	[5044] NPOpenEnum	
00000066	344.14639282	[5044] NPEnumResource: hEnum 06EFE940, lpcCount 0329C2C4, lpBuffer 07298F80, lpBufferSize 0329C2C8.	
00000067	344.14651489	[5044] NPEnumResource: *lpcCount 0xffffffff, *lpBufferSize 0x4000, pCtx->index 0	
00000068	344.14688110	[5044] NPEnumResource CurrentSesstionID:1	
00000069	344.14697266	[5044] NPEnumResource nbRead:0	
00000070	344.14709473	[5044] NPEnumResource: Entries returned 0, dwStatus 0x00000103	
00000071	344.14724731	[5044] NPCloseEnum: hEnum 06EFE940	
00000072	344.14730835	[5044] NPCloseEnum: returns	
00000073	354.97479248	[5044] NPGetResourceInformation: NetResource 091EE84C, Buffer 06EE0DA8, BufferSize 091EE7C8, System 091EE7C4	
00000074	354.97491455	[5044] NPGetResourceInformation: lpRemoteName \\dd36\*.txt, *BufferSize 0x820	
00000075	354.97506714	[5044] parseServerName: cLeadingBackslashes 2	
00000076	354.97515869	[5044] NPGetResourceInformation: lpServerName dd36\*.txt - 4	
00000077	354.97528076	[5044] NPGetResourceInformation: lpAfterName \*.txt	
00000078	354.97540283	[5044] NPGetResourceInformation: type 2	
00000079	354.97552490	[5044] NPGetResourceInformation: lpRemoteName: \\dd36\*.txt, strings 06EE15C8/06EE15C8	

@kenjiuno
Copy link
Author

I have captured kernel log for future reference: DbgView+mirror.zip

In DbgView.log this is interesting part:

00001503	50.97924805	[DokanFS]   Timeout reached so perform an umount	

For now I don't find the way / API to detect go this standby mode.
About resume timing, it can be detected by setting Timer. Interval is much longer if suspension occurs.

Since my customer will be happy if this problem is solved, I'll cooperate with you by testing new binaries / supplying info for this issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants