8000 containerd: panic on container start · Issue #101 · containerd/containerd · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
containerd: panic on container start #101
Closed
@rakyll

Description

@rakyll

Env: linux/arm, Raspbian

The bundle to reproduce the panic is at https://github.com/rakyll/ocibundles/tree/master/armv7/blink

Start the bundle.

8000
ctr containers start blink /containers/armv7/blink

containerd panics with the following:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x24c50c]

goroutine 35 [running, locked to thread]:
github.com/docker/containerd/linux.(*libcontainerRuntime).createCgroupConfig(0x109e6cb0, 0x109e3920, 0x5, 0x10b060b0, 0x10a056e0, 0x7, 0x8, 0x1, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/linux/linux.go:691 +0x61c
github.com/docker/containerd/linux.(*libcontainerRuntime).createLibcontainerConfig(0x109e6cb0, 0x109e3920, 0x5, 0x10a05180, 0x1f, 0x109f2b00, 0x10b060b0, 0x0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/linux/linux.go:585 +0xcec
github.com/docker/containerd/linux.(*libcontainerRuntime).Create(0x109e6cb0, 0x109e3920, 0x5, 0x10a05180, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x109e9470, ...)
    /home/pi/src/github.com/docker/containerd/linux/linux.go:396 +0x210
github.com/docker/containerd/supervisor.(*StartEvent).Handle(0x109e6cd8, 0x109f2a80, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/supervisor/create.go:11 +0xc0
github.com/docker/containerd/supervisor.(*commonEvent).Handle(0x109de720)
    /home/pi/src/github.com/docker/containerd/supervisor/event.go:78 +0xa8
github.com/docker/containerd/eventloop.(*ChanLoop).Start.func1()
    /home/pi/src/github.com/docker/containerd/eventloop/eventloop.go:41 +0xd8
sync.(*Once).Do(0x10a41774, 0x109e6da0)
    /home/pi/go/src/sync/once.go:44 +0x118
created by github.com/docker/containerd/eventloop.(*ChanLoop).Start
    /home/pi/src/github.com/docker/containerd/eventloop/eventloop.go:43 +0x8c

goroutine 1 [IO wait]:
net.runtime_pollWait(0x75b89018, 0x72, 0x109140b0)
    /home/pi/go/src/runtime/netpoll.go:157 +0x60
net.(*pollDesc).Wait(0x109e94b8, 0x72, 0x0, 0x0)
    /home/pi/go/src/net/fd_poll_runtime.go:73 +0x34
net.(*pollDesc).WaitRead(0x109e94b8, 0x0, 0x0)
    /home/pi/go/src/net/fd_poll_runtime.go:78 +0x30
net.(*netFD).accept(0x109e9480, 0x0, 0x75b89110, 0x10915e70)
    /home/pi/go/src/net/fd_unix.go:408 +0x21c
net.(*UnixListener).AcceptUnix(0x10a417c0, 0x109519e8, 0x0, 0x0)
    /home/pi/go/src/net/unixsock_posix.go:304 +0x4c
net.(*UnixListener).Accept(0x10a417c0, 0x0, 0x0, 0x0, 0x0)
    /home/pi/go/src/net/unixsock_posix.go:314 +0x3c
google.golang.org/grpc.(*Server).Serve(0x109eba10, 0x75b88040, 0x10a417c0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:224 +0x18c
main.daemon(0x10a41320, 0xb, 0x10a445c0, 0x1f, 0x10a41330, 0xf, 0xa, 0x0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/containerd/main.go:211 +0x640
main.main.func2(0x10a22a20)
    /home/pi/src/github.com/docker/containerd/containerd/main.go:90 +0x118
github.com/codegangsta/cli.(*App).Run(0x10a2c140, 0x1090a0f0, 0x1, 0x1, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/github.com/codegangsta/cli/app.go:181 +0xe00
main.main()
    /home/pi/src/github.com/docker/containerd/containerd/main.go:100 +0xec

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
    /home/pi/go/src/runtime/asm_arm.s:1036 +0x4

goroutine 7 [chan receive]:
github.com/docker/containerd/api/grpc/server.(*apiServer).Events(0x109e6dc0, 0x77e3ac, 0x763cb4b8, 0x1090a7c8, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/server/server.go:227 +0x98
github.com/docker/containerd/api/grpc/types._API_Events_Handler(0x4e8d40, 0x109e6dc0, 0x763cb428, 0x10956c90, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/types/api.pb.go:1001 +0x148
google.golang.org/grpc.(*Server).processStreamingRPC(0x109eba10, 0x75b47110, 0x109f0780, 0x1090c300, 0x10a41800, 0x751e58, 0x109fcea0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:421 +0x2f4
google.golang.org/grpc.(*Server).handleStream(0x109eba10, 0x75b47110, 0x109f0780, 0x1090c300, 0x109fcea0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:493 +0xdb4
google.golang.org/grpc.(*Server).Serve.func2.1.1(0x109eba10, 0x75b47110, 0x109f0780, 0x1090c300, 0x109fcea0, 0x10acb6c0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:278 +0x3c
created by google.golang.org/grpc.(*Server).Serve.func2.1
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:280 +0x4b4

goroutine 50 [select, locked to thread]:
runtime.gopark(0x5e3a40, 0x1091a78c, 0x50b5c8, 0x6, 0x45c18, 0x2)
    /home/pi/go/src/runtime/proc.go:185 +0x148
runtime.selectgoImpl(0x1091a78c, 0x0, 0xc)
    /home/pi/go/src/runtime/select.go:392 +0x14d4
runtime.selectgo(0x1091a78c)
    /home/pi/go/src/runtime/select.go:212 +0x10
runtime.ensureSigM.func1()
    /home/pi/go/src/runtime/signal1_unix.go:227 +0x428
runtime.goexit()
    /home/pi/go/src/runtime/asm_arm.s:1036 +0x4

goroutine 21 [syscall]:
os/signal.loop()
    /home/pi/go/src/os/signal/signal_unix.go:22 +0x14
created by os/signal.init.1
    /home/pi/go/src/os/signal/signal_unix.go:28 +0x30

goroutine 22 [chan receive]:
github.com/rcrowley/go-metrics.(*meterArbiter).tick(0x7699d0)
    /home/pi/src/github.com/docker/containerd/vendor/src/github.com/rcrowley/go-metrics/meter.go:221 +0x48
created by github.com/rcrowley/go-metrics.NewMeter
    /home/pi/src/github.com/docker/containerd/vendor/src/github.com/rcrowley/go-metrics/meter.go:40 +0x1ac

goroutine 23 [chan receive]:
github.com/docker/containerd/supervisor.(*statsCollector).run(0x109eb980)
    /home/pi/src/github.com/docker/containerd/supervisor/stats_collector.go:167 +0x84
created by github.com/docker/containerd/supervisor.newStatsCollector
    /home/pi/src/github.com/docker/containerd/supervisor/stats_collector.go:105 +0x160

goroutine 24 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d30)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 25 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d38)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 26 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d40)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 27 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d48)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 28 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d50)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 29 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d58)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 30 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d60)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 31 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d68)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 32 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d70)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 33 [chan receive]:
github.com/docker/containerd/supervisor.(*worker).Start(0x109e6d78)
    /home/pi/src/github.com/docker/containerd/supervisor/worker.go:40 +0x8c
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:185 +0x1f8

goroutine 34 [chan receive]:
main.startSignalHandler(0x109ee780)
    /home/pi/src/github.com/docker/containerd/containerd/reap_linux.go:24 +0x1ec
created by main.daemon
    /home/pi/src/github.com/docker/containerd/containerd/main.go:197 +0x3e4

goroutine 52 [semacquire]:
sync.runtime_Semacquire(0x109e28ec)
    /home/pi/go/src/runtime/sema.go:43 +0x24
sync.(*WaitGroup).Wait(0x109e28e0)
    /home/pi/go/src/sync/waitgroup.go:126 +0xc0
google.golang.org/grpc.(*Server).Serve.func2(0x75b47110, 0x10a020a0, 0x109eba10)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:282 +0xc4
created by google.golang.org/grpc.(*Server).Serve
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:286 +0xa2c

goroutine 57 [chan receive]:
github.com/docker/containerd/api/grpc/server.(*apiServer).Events(0x109e6dc0, 0x77e3ac, 0x763cb4b8, 0x109de6e0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/server/server.go:227 +0x98
github.com/docker/containerd/api/grpc/types._API_Events_Handler(0x4e8d40, 0x109e6dc0, 0x763cb428, 0x109e4f60, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/types/api.pb.go:1001 +0x148
google.golang.org/grpc.(*Server).processStreamingRPC(0x109eba10, 0x75b47110, 0x10912460, 0x109f2880, 0x10a41800, 0x751e58, 0x10a04ee0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:421 +0x2f4
google.golang.org/grpc.(*Server).handleStream(0x109eba10, 0x75b47110, 0x10912460, 0x109f2880, 0x10a04ee0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:493 +0xdb4
google.golang.org/grpc.(*Server).Serve.func2.1.1(0x109eba10, 0x75b47110, 0x10912460, 0x109f2880, 0x10a04ee0, 0x10915e80)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:278 +0x3c
created by google.golang.org/grpc.(*Server).Serve.func2.1
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:280 +0x4b4

goroutine 37 [chan receive]:
github.com/docker/containerd/api/grpc/server.(*apiServer).Events(0x109e6dc0, 0x77e3ac, 0x763cb4b8, 0x1090a790, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/server/server.go:227 +0x98
github.com/docker/containerd/api/grpc/types._API_Events_Handler(0x4e8d40, 0x109e6dc0, 0x763cb428, 0x10956ba0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/types/api.pb.go:1001 +0x148
google.golang.org/grpc.(*Server).processStreamingRPC(0x109eba10, 0x75b47110, 0x10a020a0, 0x109eea80, 0x10a41800, 0x751e58, 0x10a44fe0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:421 +0x2f4
google.golang.org/grpc.(*Server).handleStream(0x109eba10, 0x75b47110, 0x10a020a0, 0x109eea80, 0x10a44fe0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:493 +0xdb4
google.golang.org/grpc.(*Server).Serve.func2.1.1(0x109eba10, 0x75b47110, 0x10a020a0, 0x109eea80, 0x10a44fe0, 0x109e28e0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:278 +0x3c
created by google.golang.org/grpc.(*Server).Serve.func2.1
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:280 +0x4b4

goroutine 9 [select]:
google.golang.org/grpc/transport.(*http2Server).controller(0x10912460)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/transport/http2_server.go:613 +0x578
created by google.golang.org/grpc/transport.newHTTP2Server
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/transport/http2_server.go:133 +0x6f4

goroutine 40 [semacquire]:
sync.runtime_Semacquire(0x10acb6cc)
    /home/pi/go/src/runtime/sema.go:43 +0x24
sync.(*WaitGroup).Wait(0x10acb6c0)
    /home/pi/go/src/sync/waitgroup.go:126 +0xc0
google.golang.org/grpc.(*Server).Serve.func2(0x75b47110, 0x109f0780, 0x109eba10)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:282 +0xc4
created by google.golang.org/grpc.(*Server).Serve
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:286 +0xa2c

goroutine 10 [IO wait]:
net.runtime_pollWait(0x75b88fa0, 0x72, 0x109140b0)
    /home/pi/go/src/runtime/netpoll.go:157 +0x60
net.(*pollDesc).Wait(0x109549b8, 0x72, 0x0, 0x0)
    /home/pi/go/src/net/fd_poll_runtime.go:73 +0x34
net.(*pollDesc).WaitRead(0x109549b8, 0x0, 0x0)
    /home/pi/go/src/net/fd_poll_runtime.go:78 +0x30
net.(*netFD).Read(0x10954980, 0x109c6860, 0x9, 0x9, 0x0, 0x763c7030, 0x109140b0)
    /home/pi/go/src/net/fd_unix.go:232 +0x1c4
net.(*conn).Read(0x1090a890, 0x109c6860, 0x9, 0x9, 0x0, 0x0, 0x0)
    /home/pi/go/src/net/net.go:172 +0xc8
io.ReadAtLeast(0x75b470c8, 0x1090a890, 0x109c6860, 0x9, 0x9, 0x9, 0x0, 0x0, 0x0)
    /home/pi/go/src/io/io.go:298 +0xdc
io.ReadFull(0x75b470c8, 0x1090a890, 0x109c6860, 0x9, 0x9, 0x75b89268, 0x0, 0x0)
    /home/pi/go/src/io/io.go:316 +0x5c
golang.org/x/net/http2.readFrameHeader(0x109c6860, 0x9, 0x9, 0x75b470c8, 0x1090a890, 0x0, 0x0, 0x0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/golang.org/x/net/http2/frame.go:227 +0x80
golang.org/x/net/http2.(*Framer).ReadFrame(0x109c6840, 0x0, 0x0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/golang.org/x/net/http2/frame.go:395 +0xbc
google.golang.org/grpc/transport.(*framer).readFrame(0x109fd4c0, 0x0, 0x0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/transport/http_util.go:450 +0x38
google.golang.org/grpc/transport.(*http2Server).HandleStreams(0x10912460, 0x109fd540)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/transport/http2_server.go:242 +0x4e4
google.golang.org/grpc.(*Server).Serve.func2(0x75b47110, 0x10912460, 0x109eba10)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:281 +0xb8
created by google.golang.org/grpc.(*Server).Serve
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:286 +0xa2c

goroutine 54 [semacquire]:
sync.runtime_Semacquire(0x109e2a4c)
    /home/pi/go/src/runtime/sema.go:43 +0x24
sync.(*WaitGroup).Wait(0x109e2a40)
    /home/pi/go/src/sync/waitgroup.go:126 +0xc0
google.golang.org/grpc.(*Server).Serve.func2(0x75b47110, 0x10a02410, 0x109eba10)
    /home/pi/src/githu
5AD6
b.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:282 +0xc4
created by google.golang.org/grpc.(*Server).Serve
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:286 +0xa2c

goroutine 55 [chan receive]:
github.com/docker/containerd/api/grpc/server.(*apiServer).Events(0x109e6dc0, 0x77e3ac, 0x763cb4b8, 0x1090a888, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/server/server.go:227 +0x98
github.com/docker/containerd/api/grpc/types._API_Events_Handler(0x4e8d40, 0x109e6dc0, 0x763cb428, 0x10957c50, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/types/api.pb.go:1001 +0x148
google.golang.org/grpc.(*Server).processStreamingRPC(0x109eba10, 0x75b47110, 0x10a02410, 0x109f2480, 0x10a41800, 0x751e58, 0x10a04800, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:421 +0x2f4
google.golang.org/grpc.(*Server).handleStream(0x109eba10, 0x75b47110, 0x10a02410, 0x109f2480, 0x10a04800)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:493 +0xdb4
google.golang.org/grpc.(*Server).Serve.func2.1.1(0x109eba10, 0x75b47110, 0x10a02410, 0x109f2480, 0x10a04800, 0x109e2a40)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:278 +0x3c
created by google.golang.org/grpc.(*Server).Serve.func2.1
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:280 +0x4b4

goroutine 58 [chan receive]:
github.com/docker/containerd/api/grpc/server.(*apiServer).CreateContainer(0x109e6dc0, 0x75b891d8, 0x10a050c0, 0x109ecd80, 0x0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/server/server.go:47 +0x344
github.com/docker/containerd/api/grpc/types._API_CreateContainer_Handler(0x4e8d40, 0x109e6dc0, 0x75b891d8, 0x10a050c0, 0x10a05160, 0x0, 0x0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/api/grpc/types/api.pb.go:905 +0xe8
google.golang.org/grpc.(*Server).processUnaryRPC(0x109eba10, 0x75b47110, 0x10912460, 0x109f2980, 0x10a41800, 0x7527f0, 0x10a050a0, 0x0, 0x0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:350 +0x6d0
google.golang.org/grpc.(*Server).handleStream(0x109eba10, 0x75b47110, 0x10912460, 0x109f2980, 0x10a050a0)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:489 +0xd34
google.golang.org/grpc.(*Server).Serve.func2.1.1(0x109eba10, 0x75b47110, 0x10912460, 0x109f2980, 0x10a050a0, 0x10915e80)
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:278 +0x3c
created by google.golang.org/grpc.(*Server).Serve.func2.1
    /home/pi/src/github.com/docker/containerd/vendor/src/google.golang.org/grpc/server.go:280 +0x4b4

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0