docker / for-win

Bug reports for Docker Desktop for Windows
https://www.docker.com/products/docker#/windows
1.86k stars 287 forks source link

Getting error failed to register layer: output: ProcessBaseLayer The parameter is incorrect #737

Closed artisticcheese closed 7 years ago

artisticcheese commented 7 years ago

Expected behavior

Actual behavior

Information

Server: Version: 17.05.0-ce API version: 1.29 (minimum version 1.24) Go version: go1.7.5 Git commit: 89658be Built: Thu May 4 21:43:09 2017 OS/Arch: windows/amd64 Experimental: true


Repro

PS C:\gd\baseimage> docker pull microsoft/nanoserver

Using default tag: latest latest: Pulling from microsoft/nanoserver bce2fbc256ea: Extracting [==================================================>] 252.7MB/252.7MB 4a8c367fd46d: Download complete failed to register layer: re-exec error: exit status 1: output: ProcessBaseLayer D:\images\windowsfilter\f688510f3cbacba828f7395e0ab9a270f688f65d3c58abb47f8883f3db81 83f8: The parameter is incorrect.

artisticcheese commented 7 years ago

daemon.json have only System in ACL set by docker service. Is it expected?

PS C:\\baseimage> acl C:\ProgramData\Docker\config\daemon.json
    Directory: C:\ProgramData\Docker\config
Path        Owner               Access
----        -----               ------
daemon.json NT AUTHORITY\SYSTEM NT AUTHORITY\SYSTEM Allow  FullControl

image

friism commented 7 years ago

This has been widely discussed here: https://github.com/Microsoft/Virtualization-Documentation/issues/355

Can you please follow up there? It may be that you have anti-virus software or non-standard group policy settings.

artisticcheese commented 7 years ago

This is not the same issue. Issue discussed on that thread is "file is used by another process" which is common for AV software. This one says "The parameter is incorrect" which is completely different

friism commented 7 years ago

It's discussed here: https://github.com/Microsoft/Virtualization-Documentation/issues/355#issuecomment-275418795

Do you have bitlocker enabled?

artisticcheese commented 7 years ago

No bitlocker is disabled.

BitLocker Drive Encryption: Configuration Tool version 10.0.15063
Copyright (C) 2013 Microsoft Corporation. All rights reserved.

Disk volumes that can be protected with
BitLocker Drive Encryption:
Volume C: [Windows]
[OS Volume]

    Size:                 475.71 GB
    BitLocker Version:    None
    Conversion Status:    Fully Decrypted
    Percentage Encrypted: 0.0%
    Encryption Method:    None
    Protection Status:    Protection Off
    Lock Status:          Unlocked
    Identification Field: None
    Key Protectors:       None Found

Volume D: []
[Data Volume]

    Size:                 476.94 GB
    BitLocker Version:    None
    Conversion Status:    Fully Decrypted
    Percentage Encrypted: 0.0%
    Encryption Method:    None
    Protection Status:    Protection Off
    Lock Status:          Unlocked
    Identification Field: None
    Automatic Unlock:     Disabled
    Key Protectors:       None Found
artisticcheese commented 7 years ago

Not sure if it's relevant or not but dockerd.exe seems to be doing some sort of access to \device\harddiskvolume12 at the time of error and some calls in fact return "Invalid parameter". I do not have any volumes more then volume5 in fact.

image

image

artisticcheese commented 7 years ago

As amazing as it sounds I had to ENABLE Bitlocker for this to start working. I did not make any changes to my machine except for ENABLING Bitlocker and issues is gone. Probably some corner case but Error in subject was received on non bitlocker enabled drive untill I enabled bitlocker. After I enabled it I tried to disable it again and issue is now gone. So there were some remnants in OS I guess still thinking drive was encrypted and cycling through Encrypt/Decrypt fix the issue.

MacDennis76 commented 6 years ago

Thanks @artisticcheese your solution worked for me as well after a day of troubleshooting! I enabled Bitlocker and disabled it again during the enabling process. Rebooted and only then extraction worked.

Jopie64 commented 6 years ago

For me it worked to threaten Windows with enabling bitlocker. I clicked 'turn on', saved a recovery key and then cancelled. I think the preparation it does is enough to make it work again!

mattwalkenhorst commented 6 years ago

I also threatened Windows with bitlocker in the manner described by @Jopie64, and it folded like a deck of cards and installed the image.

tigileu commented 5 years ago

I don't have to option to activate bitlocker on my Windows Server 2016 Standard server. Is there another way to get rid off ProcessBaseLayer: The parameter is incorrect?

artisticcheese commented 5 years ago

It's not always bitlocker which is causing those issues, it's any file system driver. Execute fltmc and check for third party drivers there.

tigileu commented 5 years ago

That's what I got from fltmc

Filtername Anzahl von Instanzen Höhe Frame


FsDepends 12 407000 0 DfsDriver 0 405000 0 msnfsflt 0 364000 0 WdFilter 12 328010 0 DfsrRo 0 261100 0 storqosflt 2 244000 0 wcifs 0 189900 0 FileCrypt 0 141100 0 luafv 1 135000 0 npsvctrig 1 46000 0 Wof 1 40700 0

artisticcheese commented 5 years ago

You have DFSr running on your system?

tigileu commented 5 years ago

Yes

artisticcheese commented 5 years ago

Well, I suggest start with completely clean system and work down untill you find which specific configuration causing issues. I'm not sure if there are known issues with DFS + Containers but in general I think for container hosts you want to keep your container host as clean of any additional file system drivers as possible.

tigileu commented 5 years ago

o.k. Thanks for your advice

MichaelWhi commented 5 years ago

just wanted to add: I had this error all the time, until I realized that you must not specify --platform windows when building/running windows containers. some steps and Dockerfile commands worked, some (like WORKDIRor ENV) didn't. They all worked after omitting the platform parameter.

(I guess only --platform linux is allowed when running in Windows container mode with experimental features turned on.)

dharav9 commented 5 years ago

Hi, artisticcheese / All

I had installed docker and it was up and running. A developer from the team installed visual studio and re-booted the server then i couldnt bale to make it work. I received following error:

Environment : Windows Server 2016 (offline docker installation was done initially)

PS C:\Windows\system32> docker version Client: Version: 18.09.3 API version: 1.39 Go version: go1.10.8 Git commit: 142dfcedca Built: 02/28/2019 06:33:17 OS/Arch: windows/amd64 Experimental: false

Server: Engine: Version: 18.09.3 API version: 1.39 (minimum version 1.24) Go version: go1.10.8 Git commit: 142dfcedca Built: 02/28/2019 06:31:15 OS/Arch: windows/amd64 Experimental:

false

Our error is:

PS : .\Start.ps1

Installing/Updating IBM Planning Analytics Docker images Loading image file D:\paw\images\images.tar, this may take a while... Something went wrong at step 'Installing/Updating IBM Planning Analytics Docker images' re-exec error: exit status 1: output: ProcessBaseLayer \?\C:\ProgramData\docker\windowsfilter\c8b41fca42a2fd7b804a3cf54 ef2e26a28cee52ab1a0f05ffe16fc7caba2763e: The parameter is incorrect

**PS D:\paw> scripts\paw.ps1 Adding custom certificate authority certificates to the system.

Unable to find image 'pa-docker:6000/planninganalytics/ibm-java8:latest-windowsservercore' locally C:\Program Files\docker\docker.exe: Error response from daemon: Get https://pa-docker:6000/v2/: proxyconnect tcp: dial t cp [::1]:80: connectex: No connection could be made because the target machine actively refused it. See 'C:\Program Files\docker\docker.exe run --help'. Adding certificate authority certificate 'applixca.pem' to cacerts Execution failed with exit code 1 At D:\paw\scripts\init.ps1:58 char:13

I tried bitlocker enabled & disable, removed AV, Re-installed docker, removed windows defender feature and re-install. None of them works. Do you think so any non-standard local policy could hurt.

I log PMR with IBM for their product and it seems their support staff has no knowledge. He advise us to wipe the server and re-install everything from beginning.

I wanted to go to root cause to identify the actual under lying cause.

Anyway i could debug further?

docker-robott commented 4 years ago

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