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

Cannot share one specific drive after updating to 2.2.0 #5567

Closed
2 tasks done
sjdvda opened this issue Jan 23, 2020 · 35 comments
Closed
2 tasks done

Cannot share one specific drive after updating to 2.2.0 #5567

sjdvda opened this issue Jan 23, 2020 · 35 comments

Comments

@sjdvda
Copy link

sjdvda commented Jan 23, 2020

  • I have tried with the latest version of my channel (Stable or Edge)
  • I have uploaded Diagnostics
  • Diagnostics ID: 3AF31CA1-733A-4D1C-972E-46213C91A1AA/20200123114238

Expected behavior

All windows drives can be shared and are accessible from my docker containers.

Actual behavior

Since updating to 2.2.0, I can only share 4/5 of my drives...this would be fine if it wasn't the one drive that contains most of my docker files.

Whenever I try to mount the drive, this dialog box pops up:
image

Pressing "Save" makes the dialog box disappear for a second and then show up again. I have made sure that I'm entering the correct credentials (entering wrong user ID/password gives me an error message anyway).

My user account is the owner of the drive and has full access to it. I suppose I'll just move the files to another drive if this keeps happening, but I would like to find a solution for this issue.

Information

  • Is the problem new? Yes
  • Did the problem appear with an update? Yes, 2.2.0
  • Windows Version: Windows 10 1909 build 18363
  • Docker Desktop Version: 2.2.0
  • Are you running inside a virtualized Windows e.g. on a cloud server or on a mac VM: No
@mat007
Copy link
Member

mat007 commented Jan 23, 2020

Thanks for the report!
There is no more credentials window supposed to pop up in 2.2.0.0 as there is no need for credentials to share files anymore.

For some reason I can’t access the diagnostic you uploaded (maybe the zip is very big, or you are behind a firewall which prevents the upload?), can you post a screenshot of the About box just to confirm your version ?

@vadim-danilchik
Copy link

vadim-danilchik commented Jan 23, 2020

Same issue with disk C.

Diagnostics ID: 803549D7-10AE-4E97-968F-E92FEA5B9AE7/20200123131314
image

image

Added log file
log.txt

@mat007
Copy link
Member

mat007 commented Jan 23, 2020

I still can’t access this new diagnostic…
Could you attach %LOCALAPPDATA%\Docker\log.txt to this issue please?

@simonferquel
Copy link

@mat007 I had a look at @vadim-danilchik logs: the credential prompt seem to appear whenever the mount operation fails.

In lifecycle-server logs there is:

2020-01-23T13:12:12Z lifecycle-server time="2020-01-23T13:12:12Z" level=info msg="/mount -> {\"status\":\"error\",\"message\":\"while removing mountpoint /host_mnt/c: remove /host_mnt/c: directory not empty\"}"

@mrwensveen
Copy link

I have the exact same issue. Also after upgrading. I'm aware of the new Filesharing implementation.

Not sure if related: In the previous version I had to manually set the "vEthernet (DockerNAT)" network to Private to circumvent firewall rules that were added (probably by a company-wide group policy). I did this by issuing this command: Set-NetConnectionProfile -InterfaceAlias "vEthernet (DockerNAT)" -NetworkCategory Private. However, this network no longer seems to exist.

@mrwensveen
Copy link

mrwensveen commented Jan 23, 2020

Possibly relevant info from the logs. Sorry for the Norwegian stack trace (I don't think I can influence this).

[14:56:32.564][NamedPipeServer   ][Info   ] filesharing/get-protocol()
[14:56:32.571][NamedPipeClient   ][Info   ] Received response for filesharing/get-protocol
[14:56:32.564][APIRequestLogger  ][Info   ] [8d929426] <GoBackendClient start> GET http://localhost/features
[14:56:32.566][GoBackendProcess  ][Info   ] time="2020-01-23T14:56:32+01:00" msg="external: GET /features 200 \"\" \"\""
[14:56:32.570][APIRequestLogger  ][Info   ] [8d929426] <GoBackendClient end> GET http://localhost/features -> 200 OK (took 6ms)
[14:56:32.574][NamedPipeClient   ][Info   ] Sending app/version()...
[14:56:32.574][NamedPipeClient   ][Info   ] Received response for app/version
[14:56:32.571][NamedPipeServer   ][Info   ] filesharing/get-protocol done in 00:00:00.0069694.
[14:56:32.574][NamedPipeClient   ][Info   ] Sending filesharing/mount(All, C, , Docker.Core.Settings)...
[14:56:32.574][NamedPipeServer   ][Info   ] app/version()
[14:56:32.574][NamedPipeServer   ][Info   ] app/version done in 00:00:00.
[14:56:32.576][NamedPipeServer   ][Info   ] filesharing/mount(All, C, , Docker.Core.Settings)
[14:56:32.576][GrpcFuse          ][Info   ] Mount C
[14:56:32.576][APIRequestLogger  ][Info   ] [407d0db7] <LifecycleClient start> POST http://localhost/mount
[14:56:32.586][APIRequestLogger  ][Info   ] [407d0db7] <LifecycleClient end> POST http://localhost/mount -> 500 InternalServerError (took 9ms)
[14:56:32.588][GoBackendProcess  ][Info   ] time="2020-01-23T14:56:32+01:00" msg="external: GET /features 200 \"axios/0.19.0\" \"\""
[14:56:32.591][NamedPipeClient   ][Info   ] Received response for filesharing/mount
[14:56:32.591][GrpcFuse          ][Error  ] Unable to mount C drive: unexpected error: System.AggregateException: Det oppsto én eller flere feil. ---> Docker.Backend.HttpBadResponseException: Forårsaket unntak av typen Docker.Backend.HttpBadResponseException.
   ved Docker.Backend.HttpClientExtensions.<ParseResponseBodyAsJsonAsync>d__2`1.MoveNext()
--- Slutt på stakksporing fra forrige plassering der unntak ble iverksatt ---
   ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   ved System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   ved Docker.Backend.HttpClientExtensions.<PostJsonWithJsonResponseAsync>d__1`1.MoveNext()
   --- Slutten på sporingen av intern unntaksstakk ---
   ved System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   ved System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   ved Docker.Backend.LifecycleClient.Mount(MountRequest req)
   ved Docker.Backend.FileSharing.GrpcFuse.MountInMoby(String drive)
---> (indre unntak nummer 0) Docker.Backend.HttpBadResponseException: Forårsaket unntak av typen Docker.Backend.HttpBadResponseException.
   ved Docker.Backend.HttpClientExtensions.<ParseResponseBodyAsJsonAsync>d__2`1.MoveNext()
--- Slutt på stakksporing fra forrige plassering der unntak ble iverksatt ---
   ved System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   ved System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   ved Docker.Backend.HttpClientExtensions.<PostJsonWithJsonResponseAsync>d__1`1.MoveNext()<---

@stevoh6
Copy link

stevoh6 commented Jan 23, 2020

Im facing similar behaviour.
I have twoi drives, C and D. D cannot be mounted.
[15:54:27.340][GrpcFuse ][Error ] Unable to mount D drive: unexpected error: System.AggregateException: One or more errors occurred. ---> Docker.Backend.HttpBadResponseException: Exception of type 'Docker.Backend.HttpBadResponseException' was thrown. at Docker.Backend.HttpClientExtensions.<ParseResponseBodyAsJsonAsync>d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Backend.HttpClientExtensions.d__11.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at Docker.Backend.LifecycleClient.Mount(MountRequest req) at Docker.Backend.FileSharing.GrpcFuse.MountInMoby(String drive) ---> (Inner Exception #0) Docker.Backend.HttpBadResponseException: Exception of type 'Docker.Backend.HttpBadResponseException' was thrown. at Docker.Backend.HttpClientExtensions.<ParseResponseBodyAsJsonAsync>d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Backend.HttpClientExtensions.d__11.MoveNext()<---

@sjdvda
Copy link
Author

sjdvda commented Jan 23, 2020

There is no more credentials window supposed to pop up in 2.2.0.0 as there is no need for credentials to share files anymore.

Yes, that's what I understood from the changelog as well, which makes the dialog box even more confusing.

Here is the screenshot:
image

I tried uploading diagnostics again. ID: 3AF31CA1-733A-4D1C-972E-46213C91A1AA/20200123125921

@abramadams
Copy link

I'm having the same/similar problem since updating yesterday (windows 10). I've unshared, factory reset and reinstalled and I can now get the container to mount the shared drive, however when the container runs it sees the files on the first request (simple web server), but not on subsequent requests. If I shell into the running container and try to cat one of the files my shell session is terminated.

If I unshare the drive then try to reshare it again I get that infinite "Enter filesystem credentials" dialog. Out of desperation I created a new local user in Windows with admin privileges and tried to use that account for the filesystem credentials, but same results.

I'm dead in the water with this last update. Until there is a fix, is there a way to revert to the previous stable version?

@mrwensveen
Copy link

I reverted back to the previous version simply by uninstalling the current version and running the installer of the previous version. Download can be found on the release notes page: https://docs.docker.com/docker-for-windows/release-notes/

@limelight-dept
Copy link

I reverted back to the previous version simply by uninstalling the current version and running the installer of the previous version. Download can be found on the release notes page: https://docs.docker.com/docker-for-windows/release-notes/

Which version did you revert back to?

@mrwensveen
Copy link

Which version did you revert back to?

2.1.0.5, which is the most recent version before the new Filesharing implementation.

Another possible workaround could be installing WSL 2, because I suspect this has to do with the VM Docker's running in (and the boundaries between it and the local filesystem). WSL 2 runs in a different kind of VM, possibly alleviating the issues. But this is just a wild guess.

@limelight-dept
Copy link

Which version did you revert back to?

2.1.0.5, which is the most recent version before the new Filesharing implementation.

Another possible workaround could be installing WSL 2, because I suspect this has to do with the VM Docker's running in (and the boundaries between it and the local filesystem). WSL 2 runs in a different kind of VM, possibly alleviating the issues. But this is just a wild guess.

Perfect. Reverting back to that version worked like a charm. Thanks.

@abramadams
Copy link

Reverting to 2.1.0.5 worked for me too! Hopefully this is something that gets fixed soon so I don't have to lag too far behind.

@mat007
Copy link
Member

mat007 commented Jan 24, 2020

Thanks, we were able to reproduce the issue and are working on it!

@sq33G
Copy link

sq33G commented Jan 28, 2020

This issue broke sam local for me, reverting and eagerly awaiting a fix

@ffMathy
Copy link

ffMathy commented Jan 29, 2020

When will a fix be available for this?

@mat007
Copy link
Member

mat007 commented Jan 29, 2020

We’re hoping in about a week or so.

@ffMathy
Copy link

ffMathy commented Jan 29, 2020

Alright, and when will it hit the Edge channel?

@mat007
Copy link
Member

mat007 commented Jan 29, 2020

Likely another couple of weeks after that.

@stephen-turner
Copy link
Contributor

We have a new private build that (we believe) fixes this bug. https://download-stage.docker.com/win/stable/42579/Docker%20Desktop%20Installer.exe. Please try it and let us know how you get on.

@mattallenuk
Copy link

@stephen-turner I have tested and can confirm that it is now working for me. Thanks!

@mrwensveen
Copy link

Somehow the unpatched version started working for me already. That would make me testing this version an unreliable source of information. Except for regressions, maybe.

@mattallenuk
Copy link

@stephen-turner looks like I may have spoken too soon :( I just spun up a completely new container and it cannot connect to the shared drive. When I tried re-sharing in the Docker Desktop settings I get a dialog that says 'Changing Shared Directories failed'. In the log I have the following:

Mount C
[12:37:36.766][APIRequestLogger ][Info ] [5e3d633a] POST http://localhost/mount
[12:37:36.768][LifecycleClient ][Error ] HttpOS Client: Exception:Reached end of stream before finding a line seperator
[12:37:36.769][GrpcFuse ][Error ] Unable to mount C drive: unexpected error: System.AggregateException: One or more errors occurred. ---> System.IO.EndOfStreamException: Reached end of stream before finding a line seperator

@mat007
Copy link
Member

mat007 commented Feb 3, 2020

@mattallenuk do you still have the issue? Could you upload a diagnostic?

@mattallenuk
Copy link

@mat007 yes, still having the issue, have uploaded the diagnostic to id E2AFC3C2-D675-42A6-AC4C-A4DDEC823781/20200203114017

@mattallenuk
Copy link

@mat007 from my testing the issue appears to come when creating a new container, older containers create in previous versions appear to work ok. I was using the previous version 2.1.0.5 and did an in-place upgrade. The new version was able to use the containers from 2.1.0.5 with no problem. However, to test I pruned docker and try to re-create the containers and this is when I saw the issue.

@mat007
Copy link
Member

mat007 commented Feb 3, 2020

@mattallenuk from you logs it seems your issue now is #5516 which was only partially fixed in the private 2.2.0.1 release (talk about bad luck!).

@radovanobal
Copy link

I'm experiencing the exact same issue. Had to downgrade to 2.1.0.5 to get it to work again

@Jorg8
Copy link

Jorg8 commented Feb 6, 2020

Same problem since update to 2.2.0. Diagnostics ID: 5CF5E67F-1F3C-4B89-9424-B80B21C65CCF/20200206102151
I'd two drives shared with domain/user + password and now i can't start docker service.
Reinstalling has not fixed the problem.
Last log.txt lines:

[11:21:50.433][NamedPipeServer ][Error ] Unable to execute engine/start: Se han producido uno o varios errores. en System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
en System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
en Docker.Backend.LifecycleClient.DockerStart()
en Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings, String daemonOptions, Credential credential)
en Docker.Backend.ContainerEngine.Linux.Start(Settings settings, String daemonOptions, Credential credential)
[11:21:50.437][NamedPipeClient ][Error ] Unable to send engine/start: Se han producido uno o varios errores.

For now I will downgrade to the previous version...

@stephen-turner
Copy link
Contributor

We have just released 2.2.0.3, which fixes this issue, so closing this ticket. In case any Edge users are watching this ticket, it will be on the Edge channel tomorrow too.

@ofer
Copy link

ofer commented Feb 12, 2020

I'm running 2.2.0.3 and am having the same problem

@mat007
Copy link
Member

mat007 commented Feb 12, 2020

@ofer can you describe what you see, is it the same as the OP?

@hardcoremore
Copy link

hardcoremore commented Mar 11, 2020

I am having the same issue with 2.2.0.3 (42716).

image

@docker-robott
Copy link
Collaborator

Closed issues are locked after 30 days of inactivity.
This helps our team focus on active issues.

If you have found a problem that seems similar to this, please open a new issue.

Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle locked

@docker docker locked and limited conversation to collaborators Jul 13, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests