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

Windows containers run: The file name is too long. (0x6f) #40436

Open
shirl3y opened this issue Jan 30, 2020 · 8 comments
Open

Windows containers run: The file name is too long. (0x6f) #40436

shirl3y opened this issue Jan 30, 2020 · 8 comments
Labels
kind/bug Bugs are bugs. The cause may or may not be known at triage time so debugging may be needed. platform/windows version/19.03

Comments

@shirl3y
Copy link

shirl3y commented Jan 30, 2020

Description
I'm using windows containers, but when trying to run containers, I get "The file name is too long" exception. This is happening even after restarting Docker Desktop and running hello-world container image.

I created an incident on Docker Desktop, but they mentioned it should be on moby. docker/for-win#5577

Steps to reproduce the issue:

  1. Purge all containers and images.
  2. Reset factory defaults and restart Docker Desktop
  3. docker run hello-world

Describe the results you received:

C:\windows\system32>docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ee446884f7be: Pull complete                                                                                             
8b4475a48151: Pull complete                                                                                             
7c57688e630a: Pull complete                                                                                             
Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f
Status: Downloaded newer image for hello-world:latest
docker: Error response from daemon: container de51b24a8c04cb47ba265ce204126a4609baa2657f95d079f8450d9ca451729f encountered an error during Start: failure in a Windows system call: The file name is too long. (0x6f).

Describe the results you expected:
To be able to run windows hello-world container. It also fails for other docker images, but I'd expect to at least be able to run hello-world

Additional information you deem important (e.g. issue happens only occasionally):
It looks like some of the default files in the windows image are too long. For example,
C:\ProgramData\Docker\windowsfilter\c9c2561d13347c01c45846eba2c7001f093dcf17d73daefac190d4850d681c6b\Files\Windows\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Services-ServiceController-ServerOS-Package~31bf3856ad364e35~amd64~~10.0.17763.973.cat

Output of docker version:

Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:22:37 2019
 OS/Arch:           windows/amd64
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.24)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:36:50 2019
  OS/Arch:          windows/amd64
  Experimental:     true

Output of docker info:

Client:
 Debug Mode: false
 Plugins:
  app: Docker Application (Docker Inc., v0.8.0)
  buildx: Build with BuildKit (Docker Inc., v0.3.1-tp-docker)

Server:
 Containers: 1
  Running: 0
  Paused: 0
  Stopped: 1
 Images: 1
 Server Version: 19.03.5
 Storage Driver: windowsfilter (windows) lcow (linux)
  Windows:
  LCOW:
 Logging Driver: json-file
 Plugins:
  Volume: local
  Network: ics internal l2bridge l2tunnel nat null overlay private transparent
  Log: awslogs etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog
 Swarm: inactive
 Default Isolation: hyperv
 Kernel Version: 10.0 18363 (18362.1.amd64fre.19h1_release.190318-1202)
 Operating System: Windows 10 Enterprise Version 1909 (OS Build 18363.592)
 OSType: windows
 Architecture: x86_64
 CPUs: 8
 Total Memory: 31.83GiB
 Name: <machine name>
 ID: TRMA:YEWZ:5L4P:5WBS:2TRM:PIJN:Z32U:I7LU:FMPC:WOEN:I7QP:UWRU
 Docker Root Dir: C:\ProgramData\Docker
 Debug Mode: true
  File Descriptors: -1
  Goroutines: 30
  System Time: 2020-01-23T12:35:51.6041135-08:00
  EventsListeners: 2
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: true
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Product License: Community Engine

Additional environment details (AWS, VirtualBox, physical, etc.):

@thaJeztah
Copy link
Member

Hmmm probably needs to use \\?\ prefixes to use long paths, to be able to get beyond the 260 char limit 🤔

Interesting that we didn't see reports about this before (wondering if something changes and/or if this is something in hcsshim, or in the daemon code)

@thaJeztah
Copy link
Member

@jterry75 @johnstep @lowenna PTAL

@thaJeztah thaJeztah added kind/bug Bugs are bugs. The cause may or may not be known at triage time so debugging may be needed. platform/windows version/19.03 labels Jan 30, 2020
@jterry75
Copy link
Contributor

@kevpar - PTAL

@thaJeztah
Copy link
Member

Older issue related to 260-char limits; #15775 (which was resolved at the time through #15491)

@shirl3y
Copy link
Author

shirl3y commented Feb 19, 2020

How do I get to that build with the fix? I think I'm on the most recent version of docker. Is there any reason that it wouldn't work on the hello-world windows image? I'm not adding anything to it. Based on similar incidents, I should expect to see a path that's too long in the message, I don't see anything that is longer than 260 characters. Is there another place I should be checking?

This is the output of docker inspect <hello-world image hash>

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              42514ac01c56        4 weeks ago         251MB

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>docker inspect 42514ac01c56
[
    {
        "Id": "sha256:42514ac01c56b846e3cd4048906feb58139b843a2c4fb77ae0803e697abd08b9",
        "RepoTags": [
            "hello-world:latest"
        ],
        "RepoDigests": [
            "hello-world@sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2020-01-15T13:11:25.8087959Z",
        "Container": "548d07f4b70da52ef54e5458433598b06e3482597b8a32fd32a938319cc80a04",
        "ContainerConfig": {
            "Hostname": "548d07f4b70d",
            "Domainname": "",
            "User": "ContainerUser",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": null,
            "Cmd": [
                "cmd",
                "/S",
                "/C",
                "#(nop) ",
                "CMD [\"cmd\" \"/C\" \"type C:\\\\hello.txt\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:ac990fb0a8dc9e3a389f943c21573132e9bd9f4d500a37d71081fad723540bc5",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "18.03.1-ee-4",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "ContainerUser",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": null,
            "Cmd": [
                "cmd",
                "/C",
                "type C:\\hello.txt"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:ac990fb0a8dc9e3a389f943c21573132e9bd9f4d500a37d71081fad723540bc5",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "windows",
        "OsVersion": "10.0.17763.973",
        "Size": 251126044,
        "VirtualSize": 251126044,
        "GraphDriver": {
            "Data": {
                "dir": "C:\\ProgramData\\Docker\\windowsfilter\\e4500b55f7d6ae1762ce49c4905ca1fb4de7f08439a0f207ce9e51dd1d0999e4"
            },
            "Name": "windowsfilter"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:f1403366a481a84b1927601b29d763f0583fe56a074ff92a66619f6e3a692bc5",
                "sha256:265f3d3bab8739e1908894ad36d1ec10f56db6c7bf8e14b370c7f2b1cca97f34",
                "sha256:7a19efefbffcb5509fc6b0fc26de91141de16039c1e2199fc31f4289952ac1bd"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

@shirl3y
Copy link
Author

shirl3y commented Feb 19, 2020

Note: I also went to a previous docker version (18.03.1-ee-4) to see if that would fix it, but it didn't.

@shirl3y
Copy link
Author

shirl3y commented Apr 1, 2020

The mentioned issue isn't related to my issue. Are there any additional diagnostics logs that I can provide? Is it something with my machine?

@JefSchraag
Copy link

@shirl3y , did you find a workaround? I have the same issue and I can't find a solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Bugs are bugs. The cause may or may not be known at triage time so debugging may be needed. platform/windows version/19.03
Projects
None yet
Development

No branches or pull requests

4 participants