Skip to content

docker daemon locks files in /dev #31182

@nolange

Description

@nolange

Description

A running docker daemon will lock files in /dev, other tools that want to temporary take such looks will block forever or fail.

Steps to reproduce the issue:

# run with
#
# rm -rf subdir
# make -O >/dev/null
#
# add -j2, then you can' t even terminate it

FILE := a b

all: $(addprefix subdir/,$(FILE))

$(addprefix subdir/,$(FILE)):
	echo "$@"
	mkdir -p $(dir $@); touch $@
  1. Have the dockerd daemon running
  2. Run the above Makefile with make -O >/dev/null

Describe the results you received:

make finishing

Describe the results you expected:

make is blocked waiting for a lock on /dev/null indefinitely. Stopping the dockerd service will allow it to continue.

Additional information you deem important (e.g. issue happens only occasionally):

Issue first appeared on January 19th, using the docker reporsitory deb https://apt.dockerproject.org/repo debian-stretch main
Bug report for debian

Output of docker version:

Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba372
 Built:        Wed Feb  8 06:44:30 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba372
 Built:        Wed Feb  8 06:44:30 2017
 OS/Arch:      linux/amd64
 Experimental: false

Output of docker info:

Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 9
Server Version: 1.13.1
Storage Driver: devicemapper
 Pool Name: docker-8:2-12328161-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 6.814 GB
 Data Space Total: 107.4 GB
 Data Space Available: 100.6 GB
 Metadata Space Used: 5.927 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.142 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.137 (2016-11-30)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.0-1-amd64
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 15.62 GiB
Name: desbuild
ID: 24GS:G7V4:MEKN:PBVA:MED3:JEMB:E5KG:5JHI:2SH6:7IGU:DOYL:Y4KH
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions