Panic on Windows 10 Pro

Expected behavior

Docker container should start

Actual behavior

SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to
build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and
directories.
panic:
runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x28 pc=0x4accc6]
goroutine 38 [running]:
github.com/Sirupsen/logrus.(*Logger).Debugf
(0x0, 0x15c6220, 0x4e, 0xc0823a3bc0, 0x3, 0x3)
    /go/src/github.com/docker/docker/vendor/src/github.com/Sirupsen/logrus/logger.go:
74 +0x26
github.com/docker/docker/pkg/term/windows.readInputEvents(0x110, 0x8000, 0x0,
0x0
, 0x0, 0x0, 0x0)
    /go/src/github.com/docker/docker/pkg/term/windows/ansi_reader.go:115 +0x262
github.com/docker/docker/pkg/term/windows.(*ansiReader).Read(
0xc0822feaf0,
0xc0823b2000, 0x8000,
0x8000, 0x8000,
0x0,
0x0)
   
/go/src/github.com/docker/docker/pkg/term/windows/ansi_reader.go:74 +0x47b
io.copyBuffer(0x21aad08
,
0xc08235e200, 0x22200b0, 0xc0822feaf0, 0xc0823b2000, 0x8000, 0x8000, 0x0, 0x0, 0x0
)
    /usr/local/go/src/io/io.go
:381 +0x24e
io.Copy(0x21aad08, 0xc08235e200, 0x22200b0,
0xc0822feaf0
, 0xc0822feaf0, 0x0, 0x0)
    /usr/local/go/src/io/io.go:351
+0x6b
github.com/docker/docker/api/client.(*DockerCli).holdHijackedConnection.func2
(0x21aa260, 0xc0822feaf0
, 0xc08238a1c0
, 0xc0823965a0
)
   
/go/src/github.com/docker/docker/api/client/hijack.go:30 +0xdd
created by github.com/docker/docker/api/client.(*DockerCli).holdHijackedConnection
   
/go/src/github.com/docker/docker/api/client/hijack.go:
38 +
0x13c
goroutine 1 [select
]:
github.com/docker/engine-api/client/transport/cancellable.Do
(0x21a90e8, 0xc082002ff0, 0x21aac30, 0xc0822dfea0,
0xc0823a0000,
0x0,
0x0, 0x0)
   
/go/src/github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/transport/cancellable/cancellable.go:56 +0x4a3
github.com/docker/engine-api/client.(*Client).sendClientRequest(0xc082304f00, 0x21a90e8, 0xc082002ff0, 0x13b7ea0, 0x4, 0xc082396180,
0x52, 0x0, 0x2220058, 0xc08238c120, ...)
   
/go/src/github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/request.go
:95 +0x461
github.com/docker/engine-api/client.(*Client).sendRequest(0xc082304f00,
0x21a90e8, 0xc082002ff0
, 0x13b7ea0, 0x4, 0xc082396180, 0x52, 0x0, 0x0, 0x0
, ...)
    /go/src/github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/request.go
:73 +0x2e1
github.com/docker/engine-api/client.(*Client).post(
0xc082304f00,
0x21a90e8,
0xc082002ff0,
0xc082396180,
0x52,
0x0, 0x0, 0x0
, 0x0, 0xc08216d7c0, ...
)
   
/go/src/github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/request.go:
36 +0xbb
github.com/docker/engine-api/client.(*Client).ContainerStart(
0xc082304f00, 0x21a90e8, 0xc082002ff0, 0xc0823602c0,
0x40, 0x0
, 0x0
)
   
/go/src/github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/container_start.go:7 +0xdf
github.com/docker/docker/api/client.(*DockerCli).CmdRun(0xc0821c3400,
0xc082038160, 0x11
, 0x11, 0x0,
0x0)
    /go/src/github.com/docker/docker/api/client/run.go
:231
+0xf14
reflect.callMethod
(0xc0823068d0, 0xc08216dc88)
    /usr/local/go/src/reflect/value.go:628 +0x203
reflect.methodValueCall(0xc082038160, 0x11, 0x11,
0x1
, 0xc0823068d0, 0x0, 0x0, 0xc0823068d0, 0x0, 0x4716cb, ...)
    /usr/local/go/src/reflect/asm_amd64.s:29 +0x3d
github.com/docker/docker/cli.(*Cli).Run
(0xc0822b38c0
, 0xc082038150
, 0x12, 0x12
, 0x0, 0x0)
    /go/src/github.com/docker/docker/cli/cli.go:
89 +
0x38a
main.main()
   
/go/src/github.com/docker/docker/docker/docker.go:63 +0x35a
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1721 +0x1
goroutine 6 [syscall]:
os/signal.loop
(
)
   
/usr/local/go/src/os/signal/signal_unix.go:22 +0x1f
created by os/signal.init.1
    /usr/local/go/src/os/signal/signal_unix.go:28
+0x3e
goroutine 10 [syscall, locked to thread]:
syscall.Syscall6
(0x7ffbbe1ad5c0, 0x5, 0x1f0, 0xc0820dbf54, 0xc0820dbf58
,
0xc0820dbf60
,
0xffffffff
, 0x0
,
0xc0820dbf78
, 0x1, ...)
    /usr/local/go/src/runtime/syscall_windows.go:174 +0x5c
github.com/Microsoft/go-winio.getQueuedCompletionStatus(0x1f0, 0xc0820dbf54, 0xc0820dbf58, 0xc0820dbf60, 0xffffffff, 0x0, 0x0)
    /go/src/github.com/docker/docker/vendor/src/github.com/Microsoft/go-winio/zsyscall.go:72 +0x99
github.com/Microsoft/go-winio.ioCompletionProcessor(0x1f0)
    /go/src/github.com/docker/docker/vendor/src/github.com/Microsoft/go-winio/file.go:127 +0x7c
created by github.com/Microsoft/go-winio.initIo
    /go/src/github.com/docker/docker/vendor/src/github.com/Microsoft/go-winio/file.go:55 +0xb3
goroutine 11 [chan receive]:
github.com/Microsoft/go-winio.(*win32File).asyncIo(0xc082310a50, 0xc08236c0f0, 0x0, 0x0, 0x0, 0xc000000000, 0x21a0050, 0xc08235a0c0,
0x41b009, 0x0, ...)
    /go/src/github.com/docker/docker/vendor/src/github.com/Microsoft/go-winio/file.go:165 +0x176
github.com/Microsoft/go-winio.(*win32File).Read(0xc082310a50, 0xc082342000, 0x1000, 0x1000, 0xedc130, 0x0, 0x0)
    /go/src/github.com/docker/docker/vendor/src/github.com/Microsoft/go-winio/file.go:188 +0x15f
github.com/Microsoft/go-winio.(*win32MessageBytePipe).Read(0xc08230db00, 0xc082342000, 0x1000, 0x1000, 0x40c855, 0x0, 0x0)
    /go/src/github.com/docker/docker/vendor/src/github.com/Microsoft/go-winio/pipe.go:114 +0x94
net/http.noteEOFReader.Read(0x21aacb8, 0xc08230db00, 0xc0820bfe98, 0xc082342000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
   
/usr/local/go/src/net/http/transport.go:1370
+0x6e
net/http.(*noteEOFReader).Read(
0xc08230db20, 0xc082342000, 0x1000,
0x1000, 0x0, 0x0, 0x0)
    <autogenerated>:126 +0xd7
bufio.(*Reader).fill(0xc082305560)
   
/usr/local/go/src/bufio/bufio.go:97 +0x1f0
bufio.(*Reader).Peek(0xc082305560, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/bufio/bufio.go:132 +0xd3
net/http.(*persistConn).readLoop(0xc0820bfe40)
    /usr/local/go/src/net/http/transport.go:876 +
0xfe
created by
net/http.(*Transport).dialConn
    /usr/local/go/src/net/http/transport.go:685 +0xc7f
goroutine 12 [select]:
net/http.(*persistConn).writeLoop(0xc0820bfe40)
    /usr/local/go/src/net/http/transport.go:1009 +0x413
created by net/http.(*Transport).dialConn
    /usr/local/go/src/net/http/transport.go:686 +0xca4
goroutine 34 [chan receive]:
github.com/docker/docker/pkg/term.restoreAtInterrupt.func1(0xc082396000, 0x110, 0xc08238a060)
    /go/src/github.com/docker/docker/pkg/term/term_windows.go:301 +0x4a
created by github.com/docker/docker/pkg/term.restoreAtInterrupt
    /go/src/github.com/docker/docker/pkg/term/term_windows.go:304 +0xee
goroutine 35 [select]:
github.com/docker/docker/api/client.(*DockerCli).holdHijackedConnection(0xc0821c3400, 0x1, 0x21aa260, 0xc0822feaf0, 0x21a42c0,
0xc08202a010, 0x21a42c0, 0xc08202a010, 0x21aac58, 0xc08235e200, ...)
    /go/src/github.com/docker/docker/api/client/hijack.go:40 +0x4c1
github.com/docker/docker/api/client.(*DockerCli).CmdRun.func2(0x0, 0x0)
    /go/src/github.com/docker/docker/api/client/run.go:218 +0xda
github.com/docker/docker/pkg/promise.Go.func1(0xc082396120, 0xc0823960c0)
    /go/src/github.com/docker/docker/pkg/promise/promise.go:8 +0x24
created by github.com/docker/docker/pkg/promise.Go
    /go/src/github.com/docker/docker/pkg/promise/promise.go:9 +0x64
goroutine 36 [select]:
net/http.(*persistConn).roundTrip(0xc0820bfe40, 0xc082390140, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/http/transport.go:1164 +0xb14
net/http.(*Transport).RoundTrip(0xc082054c60, 0xc0823a0000, 0xd8, 0x0, 0x0)
    /usr/local/go/src/net/http/transport.go:235 +0x537
net/http.send(0xc0823a0000, 0x21a4530, 0xc082054c60, 0xc08239e080, 0x0, 0x0)
    /usr/local/go/src/net/http/client.go:220 +0x533
net/http.(*Client).send(0xc082306870, 0xc0823a0000, 0x7d, 0x0, 0x0)
    /usr/local/go/src/net/http/client.go:143 +0x161
net/http.(*Client).doFollowingRedirects(0xc082306870, 0xc0823a0000, 0x166a2d0, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/http/client.go:380 +0xbc7
net/http.(*Client).Do(0xc082306870, 0xc0823a0000, 0x0, 0x0, 0x0)
    /usr/local/go/src/net/http/client.go:178 +0x18f
github.com/docker/engine-api/client/transport/cancellable.Do.func1(0x21aac30, 0xc0822dfea0, 0xc0823a0000, 0xc0823963c0)
    /go/src/github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/transport/cancellable/cancellable.go:49 +0x3c
created by github.com/docker/engine-api/client/transport/cancellable.Do
    /go/src/github.com/docker/docker/vendor/src/github.com/docker/engine-api/client/transport/cancellable/cancellable.go:52 +0x106
goroutine 37 [runnable]:
sync.(*Mutex).Unlock(0xc082012140)
    /usr/local/go/src/sync/mutex.go:99
os.(*File).write(0xc08202a010, 0xc08238409d, 0x0, 0xf63, 0x0, 0x0, 0x0)
    /usr/local/go/src/os/file_windows.go:381 +0x199
os.(*File).Write(0xc08202a010, 0xc08238409d, 0x0, 0xf63, 0x2, 0x0, 0x0)
    /usr/local/go/src/os/file.go:139 +0x97
bufio.(*Reader).writeBuf(0xc08236e2a0, 0x21a42c0, 0xc08202a010, 0x0, 0x0, 0x0)
    /usr/local/go/src/bufio/bufio.go:495 +0x98
bufio.(*Reader).WriteTo(0xc08236e2a0, 0x21a42c0, 0xc08202a010, 0xc0823a9e58, 0x0, 0x0)
    /usr/local/go/src/bufio/bufio.go:453 +0x65
io.copyBuffer(0x21a42c0, 0xc08202a010, 0x21e01c8, 0xc08236e2a0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
    /usr/local/go/src/io/io.go:371 +0xd7
io.Copy(0x21a42c0, 0xc08202a010, 0x21e01c8, 0xc08236e2a0, 0x0, 0x0, 0x0)
    /usr/local/go/src/io/io.go:351 +0x6b
github.com/docker/docker/api/client.(*DockerCli).holdHijackedConnection.func1(0xc082396501, 0x21a42c0, 0xc08202a010, 0xc0823901e0,
0xc08238a1c0, 0x21a42c0, 0xc08202a010, 0xc082396540)
    /go/src/github.com/docker/docker/api/client/hijack.go:18 +0x8e
created by github.com/docker/docker/api/client.(*DockerCli).holdHijackedConnection
    /go/src/github.com/docker/docker/api/client/hijack.go:24 +0x524

Information

  • the output of:
    • DockerDebugInfo.ps1 using Powershell on Windows coming soon (this was on someone else’s computer)
  • Windows 10 Pro

Steps to reproduce the behavior

  1. Build image
  2. Start image

Hi @aalexgabi

thanks for the bug report. We haven’t seen this error before. Could you provide steps to reproduce as that would be helpful for us to debug.

Thanks
Rolf

Hello! I’ll try my best to gather most information.