moby: docker-ce segmentation fault on Raspbian (v18.09.03)

Since two days ago docker will no longer start, after I updated the version that worked to Version: 5:18.09.0~3-0~raspbian-stretch. After that the docker daemon will no longer start. strace -f dockerd reports

execve("/usr/bin/dockerd", ["dockerd"], [/* 27 vars */]) = 0
brk(NULL)                               = 0x3b13000
uname({sysname="Linux", nodename="raspberrypi", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f6e000
access("/etc/ld.so.preload", R_OK)      = 0
open("/etc/ld.so.preload", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=42, ...}) = 0
mmap2(NULL, 42, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0xb6f6d000
close(3)                                = 0
open("/usr/lib/arm-linux-gnueabihf/libarmmem.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\210\5\0\0004\0\0\0"..., 512) = 512
lseek(3, 20868, SEEK_SET)               = 20868
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1000) = 1000
lseek(3, 20540, SEEK_SET)               = 20540
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\3\f\1\22\4\24"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=21868, ...}) = 0
mmap2(NULL, 86080, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6f2b000
mprotect(0xb6f30000, 61440, PROT_NONE)  = 0
mmap2(0xb6f3f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb6f3f000
close(3)                                = 0
munmap(0xb6f6d000, 42)                  = 0
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=28101, ...}) = 0
mmap2(NULL, 28101, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6f67000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libsystemd.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 512) = 512
lseek(3, 493188, SEEK_SET)              = 493188
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1320) = 1320
lseek(3, 492748, SEEK_SET)              = 492748
read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0056\0\6\6\10\1\t\1\n\2\f\3\22\4\23"..., 51) = 51
fstat64(3, {st_mode=S_IFREG|0644, st_size=494508, ...}) = 0
mmap2(NULL, 499173, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6eb1000
mmap2(0xb6f28000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x76000) = 0xb6f28000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0dI\0\0004\0\0\0"..., 512) = 512
lseek(3, 125740, SEEK_SET)              = 125740
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1560) = 1560
lseek(3, 90536, SEEK_SET)               = 90536
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=127300, ...}) = 0
mmap2(NULL, 164432, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e88000
mprotect(0xb6e9e000, 61440, PROT_NONE)  = 0
mmap2(0xb6ead000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0xb6ead000
mmap2(0xb6eaf000, 4688, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6eaf000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libseccomp.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\344\272\0\0004\0\0\0"..., 512) = 512
lseek(3, 139840, SEEK_SET)              = 139840
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
lseek(3, 139504, SEEK_SET)              = 139504
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=140880, ...}) = 0
mmap2(NULL, 205044, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6e55000
mprotect(0xb6e6c000, 65536, PROT_NONE)  = 0
mmap2(0xb6e7c000, 49152, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0xb6e7c000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@h\1\0004\0\0\0"..., 512) = 512
lseek(3, 1231820, SEEK_SET)             = 1231820
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2880) = 2880
lseek(3, 1228284, SEEK_SET)             = 1228284
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0755, st_size=1234700, ...}) = 0
mmap2(NULL, 1303872, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d16000
mprotect(0xb6e3f000, 65536, PROT_NONE)  = 0
mmap2(0xb6e4f000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x129000) = 0xb6e4f000
mmap2(0xb6e52000, 9536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6e52000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libselinux.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0hN\0\0004\0\0\0"..., 512) = 512
lseek(3, 136448, SEEK_SET)              = 136448
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1160) = 1160
lseek(3, 136088, SEEK_SET)              = 136088
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=137608, ...}) = 0
mmap2(NULL, 208496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ce3000
mprotect(0xb6d03000, 65536, PROT_NONE)  = 0
mmap2(0xb6d13000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0xb6d13000
mmap2(0xb6d15000, 3696, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6d15000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0 \27\0\0004\0\0\0"..., 512) = 512
lseek(3, 25352, SEEK_SET)               = 25352
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1280) = 1280
lseek(3, 24940, SEEK_SET)               = 24940
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=26632, ...}) = 0
mmap2(NULL, 90640, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ccc000
mprotect(0xb6cd2000, 61440, PROT_NONE)  = 0
mmap2(0xb6ce1000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x5000) = 0xb6ce1000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/liblzma.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\230\"\0\0004\0\0\0"..., 512) = 512
lseek(3, 131848, SEEK_SET)              = 131848
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
lseek(3, 131500, SEEK_SET)              = 131500
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=132928, ...}) = 0
mmap2(NULL, 197040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6c9b000
mprotect(0xb6cbb000, 61440, PROT_NONE)  = 0
mmap2(0xb6cca000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1f000) = 0xb6cca000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/arm-linux-gnueabihf/liblz4.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\300\32\0\0004\0\0\0"..., 512) = 512
lseek(3, 66052, SEEK_SET)               = 66052
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
lseek(3, 65748, SEEK_SET)               = 65748
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=67092, ...}) = 0
mmap2(NULL, 131288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6c7a000
mprotect(0xb6c8a000, 61440, PROT_NONE)  = 0
mmap2(0xb6c99000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0xb6c99000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libgcrypt.so.20", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\\\0\0004\0\0\0"..., 512) = 512
lseek(3, 787796, SEEK_SET)              = 787796
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(3, 787437, SEEK_SET)              = 787437
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\7\f\3\22\4\24"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=788916, ...}) = 0
mmap2(NULL, 853676, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ba9000
mprotect(0xb6c65000, 65536, PROT_NONE)  = 0
mmap2(0xb6c75000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xbc000) = 0xb6c75000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\200\321\0\0004\0\0\0"..., 512) = 512
lseek(3, 115292, SEEK_SET)              = 115292
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1080) = 1080
lseek(3, 114944, SEEK_SET)              = 114944
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=116372, ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f65000
mmap2(NULL, 180536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6b7c000
mprotect(0xb6b98000, 61440, PROT_NONE)  = 0
mmap2(0xb6ba7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0xb6ba7000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libpcre.so.3", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0004\20\0\0004\0\0\0"..., 512) = 512
lseek(3, 426320, SEEK_SET)              = 426320
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040
lseek(3, 426012, SEEK_SET)              = 426012
read(3, "A,\0\0\0aeabi\0\1\"\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\24\1\25"..., 45) = 45
fstat64(3, {st_mode=S_IFREG|0644, st_size=427360, ...}) = 0
mmap2(NULL, 491604, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6b03000
mprotect(0xb6b6b000, 61440, PROT_NONE)  = 0
mmap2(0xb6b7a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x67000) = 0xb6b7a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0P\t\0\0004\0\0\0"..., 512) = 512
lseek(3, 8680, SEEK_SET)                = 8680
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(3, 8328, SEEK_SET)                = 8328
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=9800, ...}) = 0
mmap2(NULL, 73912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6af0000
mprotect(0xb6af2000, 61440, PROT_NONE)  = 0
mmap2(0xb6b01000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6b01000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/arm-linux-gnueabihf/libgpg-error.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0H\37\0\0004\0\0\0"..., 512) = 512
lseek(3, 61836, SEEK_SET)               = 61836
read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120
lseek(3, 61472, SEEK_SET)               = 61472
read(3, "A.\0\0\0aeabi\0\1$\0\0\0\0056\0\6\6\10\1\t\1\n\2\22\4\23\1\24"..., 47) = 47
fstat64(3, {st_mode=S_IFREG|0644, st_size=62956, ...}) = 0
mmap2(NULL, 127064, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6ad0000
mprotect(0xb6adf000, 61440, PROT_NONE)  = 0
mmap2(0xb6aee000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0xb6aee000
close(3)                                = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6f63000
set_tls(0xb6f634c0, 0xb6f63c88, 0xb6f72050, 0xb6f634c0, 0xb6f72050) = 0
mprotect(0xb6e4f000, 8192, PROT_READ)   = 0
mprotect(0xb6aee000, 4096, PROT_READ)   = 0
mprotect(0xb6b01000, 4096, PROT_READ)   = 0
mprotect(0xb6ead000, 4096, PROT_READ)   = 0
mprotect(0xb6b7a000, 4096, PROT_READ)   = 0
mprotect(0xb6ba7000, 4096, PROT_READ)   = 0
mprotect(0xb6c75000, 4096, PROT_READ)   = 0
mprotect(0xb6c99000, 4096, PROT_READ)   = 0
mprotect(0xb6cca000, 4096, PROT_READ)   = 0
mprotect(0xb6ce1000, 4096, PROT_READ)   = 0
mprotect(0xb6d13000, 4096, PROT_READ)   = 0
mprotect(0xb6e7c000, 45056, PROT_READ)  = 0
mprotect(0xb6f28000, 8192, PROT_READ)   = 0
mprotect(0xb6f2b000, 20480, PROT_READ|PROT_WRITE) = 0
mprotect(0xb6f2b000, 20480, PROT_READ|PROT_EXEC) = 0
cacheflush(0xb6f2b000, 0xb6f30000, 0, 0x15, 0) = 0
mprotect(0xb6f3f000, 4096, PROT_READ)   = 0
mprotect(0x1e44000, 16830464, PROT_READ) = 0
mprotect(0xb6f71000, 4096, PROT_READ)   = 0
munmap(0xb6f67000, 28101)               = 0
set_tid_address(0xb6f63068)             = 2357
set_robust_list(0xb6f63070, 12)         = 0
rt_sigaction(SIGRTMIN, {sa_handler=0xb6e8c2b0, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0xb6d426c0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0xb6e8c390, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0xb6d426c0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
brk(NULL)                               = 0x3b13000
brk(0x3b34000)                          = 0x3b34000
statfs("/sys/fs/selinux", 0xbea4e5cc)   = -1 ENOENT (No such file or directory)
statfs("/selinux", 0xbea4e5cc)          = -1 ENOENT (No such file or directory)
open("/proc/filesystems", O_RDONLY)     = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "nodev\tsysfs\nnodev\trootfs\nnodev\tr"..., 1024) = 310
read(3, "", 1024)                       = 0
close(3)                                = 0
access("/etc/selinux/config", F_OK)     = -1 ENOENT (No such file or directory)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x884a59} ---
+++ killed by SIGSEGV +++
Segmentation fault

Similar to other reports all I get when running dockerd manually is “segmentation fault” and the logs report nothing interesting.

Docker version installed:

Client:
 Version:           18.09.0
 API version:       1.39
 Go version:        go1.10.4
 Git commit:        4d60db4
 Built:             Wed Nov  7 00:57:21 2018
 OS/Arch:           linux/arm
 Experimental:      false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?```

Kernel info:
```Linux raspberrypi 4.14.71+ #1145 Fri Sep 21 15:06:38 BST 2018 armv6l GNU/Linux```

_Originally posted by @DutchessNicole in https://github.com/moby/moby/issues/29347#issuecomment-437581438_

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 36
  • Comments: 107 (27 by maintainers)

Most upvoted comments

@sapkra rpi0w has almost the same CPU as 1B+. This works fine on my raspi0, but that’s older version of docker: (.06 not .09)

pi@rpi0:~ $ sudo docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:30:52 2018
 OS/Arch:           linux/arm
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:26:37 2018
  OS/Arch:          linux/arm
  Experimental:     false
pi@rpi0:~ $ cat /proc/cpuinfo 
processor       : 0
model name      : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS        : 997.08
Features        : half thumb fastmult vfp edsp java tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xb76
CPU revision    : 7

Hardware        : BCM2835
Revision        : 9000c1
Serial          : 000000000227ba1b

You can downgrade to a working version sudo apt-get install docker-ce=18.06.1~ce~3-0~raspbian

This is all you need to get it working

sudo apt-get purge docker-ce
sudo apt-get install docker-ce=18.06.3~ce~3-0~raspbian
sudo systemctl enable docker && sudo systemctl start docker

From here you should be able to run the docker command under sudo and if your user is part of the docker group then you don’t need sudo.

Also to be clear for those having issues, to resolve this (on ARM 6 at least) I’ve confirmed running: sudo apt-get install docker-ce=18.06.1~ce~3-0~raspbian

Resolves the issue (It will downgrade versions)

I am trying to revive my OG Raspberry Pi Model B+, and was unsuccessful at installing docker via the “get.docker.com” method (curl -sSL https://get.docker.com | sh). Afterwards, I ran the apt pkg manager installation with older version as many have posted before. This proved successful for me:

$ sudo apt-get install docker-ce=18.06.1~ce~3-0~raspbian

Ok it worked, I did

apt-cache madison docker-ce

and found the 16 version to be the latest and did

sudo apt-get install docker-ce=<VERSION_STRING>

The segfaults are raised by containerd which is not compiled for ARMv6. For the HypriotOS we managed to compile and package it to be compatible for ARMv6 and can be found here https://packagecloud.io/Hypriot/rpi/packages/raspbian/stretch/containerd.io_1.2.6-1_armhf.deb After installing that package and then Docker CE 19.03.0 beta should work on Pi Zero.

It will take a while until we got this changed package upstream.

To get my apt-get upgrade working again, I created a apt pinning file under /etc/apt/preferences.d/docker-ce :

Package: docker-ce
Pin: version 18.06.*
Pin-Priority: 1000

Edit 20190213: Allow update to 18.06.2 to get fix for CVE-2019-5736

To all here; please do not install 18.06.1, as it does not have the patch for the runc CVE that allows container escapes; install 18.06.2 instead

Also to be clear for those having issues, to resolve this (on ARM 6 at least) I’ve confirmed running: sudo apt-get install docker-ce=18.06.1~ce~3-0~raspbian

Resolves the issue (It will downgrade versions)

This did resolve the issue for me, at least temporarily. Thank you for this workaround!

I think this is more about containerd than it is from dockerd, got a report from @fcrisciani that running containerd results in:

pi@us_rpi:~ $ /usr/bin/containerd
Illegal instruction

Currently investigating.

Hey guys!

Just released new containerd.io package version 1.2.10-2 to the https://download.docker.com repositories, please let me know if that resolves all issues related to this segmentation fault, I do not currently have a armv6 machine to test on.

Sorry for the late update on this, hopefully this issue is now resolved

@heliocosta

I did the following to get my rpi0 working;

To clean up my system

sudo apt-get purge docker-ce
sudo apt autoremove
sudo rm -rf /var/lib/docker

Then I installed using the docker script (since it looks like in your configuration you’re missing adding the docker repo to apt). Most of the people on here have probably ran this script at one point or another.

curl -fsSL https://get.docker.com -o get-docker.sh
chmod u+x get-docker.sh
VERSION=18.06.3~ce~3-0~raspbian ./get-docker.sh

for who has already the right repo in sources.list: sudo apt-get install docker-ce=18.06.2~ce~3-0~raspbian

@thaJeztah yes it works. Thanks. So I was wrong and there is a secure version. I updated my /etc/apt/preferences.d/docker-ce to:

Package: docker-ce
Pin: version 18.06.*
Pin-Priority: 1000

to get the version.

pi@rpi1:~ $ cat /proc/cpuinfo
processor       : 0
model name      : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS        : 997.08
Features        : half thumb fastmult vfp edsp java tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xb76
CPU revision    : 7

Hardware        : BCM2835
Revision        : 000f
Serial          : 00000000c06f1f2c

sudo apt-get install 'docker-ce=18.06.*' will pick whatever is the latest from 18.06.

+1 for removing the package from repo. It’s broken, why is it there, in stable.

As an FYI, 18.06.3 was released 2/20/19. I installed it on my Pi Zero W and have been running it without issues

older than version 19.x is not available for Debian Buster, so what is the solution here?

root@raspberrypi:/home/pi# apt-cache madison 'docker-ce'
 docker-ce | 5:19.03.2~3-0~raspbian-buster | https://download.docker.com/linux/raspbian buster/stable armhf Packages
 docker-ce | 5:19.03.1~3-0~raspbian-buster | https://download.docker.com/linux/raspbian buster/stable armhf Packages

It seems like there is still an issue with the containerd.io version. Try installing (or upgrading Docker) normally then run these commands to replace containerd.io with the ARMv6 compiled version put out by Hypriot.

wget -O /tmp/containerd.io_1.2.6-1_armhf.deb —content-disposition https://packagecloud.io/Hypriot/rpi/packages/raspbian/stretch/containerd.io_1.2.6-1_armhf.deb/download.deb

sudo apt install /tmp/containerd.io_1.2.6-1_armhf.deb

Docker CE 19.03.2 is working fine on my Raspberry Pi 1B with Raspbian Buster using this version of containerd.io.

Does anyone have any idea when packaging for containerd.io is going to be fixed in the Docker repo? Is this something I could help with?

This is what worked for my raspi zeros running buster. Thanks so much

older than version 19.x is not available for Debian Buster, so what is the solution here?

root@raspberrypi:/home/pi# apt-cache madison 'docker-ce'
 docker-ce | 5:19.03.2~3-0~raspbian-buster | https://download.docker.com/linux/raspbian buster/stable armhf Packages
 docker-ce | 5:19.03.1~3-0~raspbian-buster | https://download.docker.com/linux/raspbian buster/stable armhf Packages

It seems like there is still an issue with the containerd.io version. Try installing (or upgrading Docker) normally then run these commands to replace containerd.io with the ARMv6 compiled version put out by Hypriot.

wget -O /tmp/containerd.io_1.2.6-1_armhf.deb —content-disposition https://packagecloud.io/Hypriot/rpi/packages/raspbian/stretch/containerd.io_1.2.6-1_armhf.deb/download.deb

sudo apt install /tmp/containerd.io_1.2.6-1_armhf.deb

Docker CE 19.03.2 is working fine on my Raspberry Pi 1B with Raspbian Buster using this version of containerd.io.

Does anyone have any idea when packaging for containerd.io is going to be fixed in the Docker repo? Is this something I could help with?

Or can you at least remove this broken armv6 build from the package repository. So that a apt-get install results into the working 18.06.1 version. Otherwise more people will run into this problem.

I have the same problem with the Raspberry Pi Zero W - which has an older ARM CPU.

older than version 19.x is not available for Debian Buster, so what is the solution here?

root@raspberrypi:/home/pi# apt-cache madison 'docker-ce'
 docker-ce | 5:19.03.2~3-0~raspbian-buster | https://download.docker.com/linux/raspbian buster/stable armhf Packages
 docker-ce | 5:19.03.1~3-0~raspbian-buster | https://download.docker.com/linux/raspbian buster/stable armhf Packages

@mockturtl in fact, VERSION=18.06.3 ./get-docker.sh works.

@stefanberger, bingo! Thanks 😃

pi@raspberrypi:~$ docker run hello-world
139 pi@raspberrypi:~$ docker run arm32v5/hello-world
Unable to find image 'arm32v5/hello-world:latest' locally
latest: Pulling from arm32v5/hello-world
590e13f69e4a: Pull complete
Digest: sha256:8a6a26a494c03e91381161abe924a39a2ff72de13189edcc2ed1695e6be12a5f
Status: Downloaded newer image for arm32v5/hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (arm32v5)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

pi@raspberrypi:~$

May I ask when can we expected a fixed docker-ce for the old RPi?

Also to be clear for those having issues, to resolve this (on ARM 6 at least) I’ve confirmed running: sudo apt-get install docker-ce=18.06.1~ce~3-0~raspbian Resolves the issue (It will downgrade versions)

This did resolve the issue for me, at least temporarily. Thank you for this workaround!

Experienced this same issue today. The workaround fixed it for now.

So I got a raspberry pi 0 setup and have found that most of our static binary bits are coming down with a seg fault / illegal instruction as well:

These are from: https://download.docker.com/linux/static/stable/armhf/docker-18.09.0.tgz

pi@raspberrypi:~ $ for binary in ./armhf/*; do echo $binary; $binary 2>/dev/null; done
./armhf/containerd
Segmentation fault
./armhf/containerd-shim
./armhf/ctr
Segmentation fault
./armhf/docker
./armhf/dockerd
Segmentation fault
./armhf/docker-init
Illegal instruction
./armhf/docker-proxy
./armhf/runc
Illegal instruction

This leads me to believe it might be a golang issue that’s actually causing this, some output from gdb on some of our binaries:

runc

./armhf/runc
Reading symbols from ./armhf/runc...done.
Starting program: /home/pi/armhf/runc
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGILL, Illegal instruction.
0x0005f04a in runtime.typelinksinit ()
#0  0x0005f04a in runtime.typelinksinit ()
#1  0x0001052e in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

dockerd

./armhf/dockerd
Reading symbols from ./armhf/dockerd...done.
Starting program: /home/pi/armhf/dockerd
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0005db14 in runtime.slicerunetostring ()
#0  0x0005db14 in runtime.slicerunetostring ()
#1  0x0001052a in _start ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

ctr

./armhf/ctr
Reading symbols from ./armhf/ctr...(no debugging symbols found)...done.
Starting program: /home/pi/armhf/ctr

Program received signal SIGSEGV, Segmentation fault.
0x0005f3b8 in ?? ()
#0  0x0005f3b8 in ?? ()
#1  0x0001037e in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

containerd

./armhf/containerd
Reading symbols from ./armhf/containerd...(no debugging symbols found)...done.
Starting program: /home/pi/armhf/containerd

Program received signal SIGSEGV, Segmentation fault.
0x0005ea66 in ?? ()
#0  0x0005ea66 in ?? ()
#1  0x0001037e in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

docker-init

./armhf/docker-init
Reading symbols from ./armhf/docker-init...(no debugging symbols found)...done.
Starting program: /home/pi/armhf/docker-init

Program received signal SIGILL, Illegal instruction.
0x00010a62 in ?? ()
#0  0x00010a62 in ?? ()
#1  0x00062b52 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Sure; specify the version to install with apt https://askubuntu.com/a/92021, or use the instructions from this part of the installation docs https://docs.docker.com/install/linux/docker-ce/debian/#install-docker-ce-1

Can confirm, 18.06.2 works fine on Raspberry Pi Zero. @nnarain @leighghunt running hello-world shows nothing, probably because the linux/arm/v7 image is pulled. Try docker run arm32v5/hello-world this works for me.

You can check the manifest list with docker run --rm mplatform/mquery hello-world even from your RPi.

$ docker run --rm mplatform/mquery hello-world
Unable to find image 'mplatform/mquery:latest' locally
latest: Pulling from mplatform/mquery
db6020507de3: Pull complete 
5107afd39b7f: Pull complete 
Digest: sha256:e15189e3d6fbcee8a6ad2ef04c1ec80420ab0fdcf0d70408c0e914af80dfb107
Status: Downloaded newer image for mplatform/mquery:latest
Image: hello-world
 * Manifest List: Yes
 * Supported platforms:
   - linux/amd64
   - linux/arm/v5
   - linux/arm/v7
   - linux/arm64
   - linux/386
   - linux/ppc64le
   - linux/s390x
   - windows/amd64:10.0.14393.2551
   - windows/amd64:10.0.16299.846
   - windows/amd64:10.0.17134.469
   - windows/amd64:10.0.17763.194