Erlang can't retrieve count of CPU cores

I run a fairly sizable ejabberd (XMPP) server in a container with LXC. LXC is running with a pretty much default setup of both LXD and LXCFS on Arch Linux using the official distro packages (no snaps).

On 27 Apr, I did a full system upgrade and ejabberd began crashing every time I tried to start the process. It had been about a month, maybe two months, since my last system upgrade. Prior to this upgrade, everything was running smoothly.

After a bit of debugging, it became clear that it’s crashing because Erlang can’t return a count of the logical CPU cores.

htop does display an accurate count of 16 cores. All files LXCFS emulates are listed in /proc/ and lscpu does return accurate information.

ejabberd is using erlang:system_info(logical_processors) to retrieve the count of logical processors, but I don’t know how that function works under the hood yet.

Please can you show the output of lxc config show <instance> --expanded?

I know the virtual NICs are kind of crazy; we haven’t figured out a good way to pass through so many ports across both IPv4 and IPv6 yet.

[root@hel1 ~]# lxc config show ejabberd --expanded
architecture: x86_64
config:
  image.architecture: amd64
  image.description: Debian bullseye amd64 (20210512_05:24)
  image.os: Debian
  image.release: bullseye
  image.serial: "20210512_05:24"
  image.type: squashfs
  image.variant: default
  volatile.base_image: 70398d21e3f66a1866c4e457bf697d77b27517228b6fa1ce0da268e5dc363e79
  volatile.eth0.host_name: veth7c1a489e
  volatile.eth0.hwaddr: 00:16:3e:de:ef:d2
  volatile.idmap.base: "0"
  volatile.idmap.current: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]'
  volatile.idmap.next: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.idmap: '[{"Isuid":true,"Isgid":false,"Hostid":100000,"Nsid":0,"Maprange":65536},{"Isuid":false,"Isgid":true,"Hostid":100000,"Nsid":0,"Maprange":65536}]'
  volatile.last_state.power: RUNNING
  volatile.uuid: fdbefd73-e010-4e2d-ad34-09b132bef189
devices:
  c2s-starttls:
    connect: tcp:10.119.63.162:5222
    listen: tcp:135.181.177.46:5222
    nat: "true"
    type: proxy
  c2s-starttls_ipv6:
    connect: tcp:[fd42:ab7a:7e16:9810:216:3eff:fede:efd2]:5222
    listen: tcp:[2a01:4f9:3a:1f11::2]:5222
    nat: "true"
    type: proxy
  c2s-tls:
    connect: tcp:10.119.63.162:5223
    listen: tcp:135.181.177.46:5223
    nat: "true"
    type: proxy
  c2s-tls_ipv6:
    connect: tcp:[fd42:ab7a:7e16:9810:216:3eff:fede:efd2]:5223
    listen: tcp:[2a01:4f9:3a:1f11::2]:5223
    nat: "true"
    type: proxy
  eth0:
    ipv4.address: 10.119.63.162
    ipv6.address: fd42:ab7a:7e16:9810:216:3eff:fede:efd2
    name: eth0
    network: lxdbr0
    type: nic
  http:
    connect: tcp:10.119.63.162:5443
    listen: tcp:135.181.177.46:5443
    nat: "true"
    type: proxy
  http_ipv6:
    connect: tcp:[fd42:ab7a:7e16:9810:216:3eff:fede:efd2]:5443
    listen: tcp:[2a01:4f9:3a:1f11::2]:5443
    nat: "true"
    type: proxy
  mqtt:
    connect: tcp:10.119.63.162:1883
    listen: tcp:135.181.177.46:1883
    nat: "true"
    type: proxy
  mqtt_ipv6:
    connect: tcp:[fd42:ab7a:7e16:9810:216:3eff:fede:efd2]:1883
    listen: tcp:[2a01:4f9:3a:1f11::2]:1883
    nat: "true"
    type: proxy
  root:
    path: /
    pool: default
    type: disk
  s2s-starttls:
    connect: tcp:10.119.63.162:5269
    listen: tcp:135.181.177.46:5269
    nat: "true"
    type: proxy
  s2s-starttls_ipv6:
    connect: tcp:[fd42:ab7a:7e16:9810:216:3eff:fede:efd2]:5269
    listen: tcp:[2a01:4f9:3a:1f11::2]:5269
    nat: "true"
    type: proxy
  s2s-tls:
    connect: tcp:10.119.63.162:5270
    listen: tcp:135.181.177.46:5270
    nat: "true"
    type: proxy
  s2s-tls_ipv6:
    connect: tcp:[fd42:ab7a:7e16:9810:216:3eff:fede:efd2]:5270
    listen: tcp:[2a01:4f9:3a:1f11::2]:5270
    nat: "true"
    type: proxy
  stun-turn-udp:
    connect: udp:10.119.63.162:3478
    listen: udp:135.181.177.46:3478
    nat: "true"
    type: proxy
  stun-turn-udp_ipv6:
    connect: udp:[fd42:ab7a:7e16:9810:216:3eff:fede:efd2]:3478
    listen: udp:[2a01:4f9:3a:1f11::2]:3478
    nat: "true"
    type: proxy
ephemeral: false
profiles:
- default
stateful: false
description: ""

OK so you don’t have limits.cpu set, so you would expect to see all the host’s CPUs in /proc/cpuinfo, do you see that?

We may need to find out exactly what erlang is trying to do to help further.

Have you restarted this instance since it broke? Perhaps it has become disconnected from lxcfs?

you would expect to see all the host’s CPUs in /proc/cpuinfo, do you see that?

Yes, cating /proc/cpuinfo shows information about all 16 CPU cores.

Have you restarted this instance since it broke? Perhaps it has become disconnected from lxcfs?

I’ve restarted the process, the container, the LXD systemd service, and the container host.

We may need to find out exactly what erlang is trying to do to help further.

Yep, I’m looking into that now.

No luck on figuring out exactly how Erlang is trying to retrieve CPU information yet, but I have replicated the issue on both my laptop and my PC which run Arch Linux with a somewhat similar setup to my server. I thought the issue may have been related to us enabling cgroup v1 rather than the default v2, but Erlang’s CPU topology call still returned unknown when going back to cgroup v2, so that’s not the cause.

I also tried using strace to see exactly how Erlang was trying to get its info.

root@test:~# strace erl
execve("/usr/bin/erl", ["erl"], 0x7ffebbf808c0 /* 16 vars */) = 0
brk(NULL)                               = 0x5575a37f9000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=21096, ...}) = 0
mmap(NULL, 21096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f7ba900a000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@n\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1839792, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f7ba9008000
mmap(NULL, 1852680, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7ba8e43000
mprotect(0x7f7ba8e68000, 1662976, PROT_NONE) = 0
mmap(0x7f7ba8e68000, 1355776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f7ba8e68000
mmap(0x7f7ba8fb3000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x170000) = 0x7f7ba8fb3000
mmap(0x7f7ba8ffe000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f7ba8ffe000
mmap(0x7f7ba9004000, 13576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f7ba9004000
close(3)                                = 0
arch_prctl(ARCH_SET_FS, 0x7f7ba9009580) = 0
mprotect(0x7f7ba8ffe000, 12288, PROT_READ) = 0
mprotect(0x5575a218d000, 8192, PROT_READ) = 0
mprotect(0x7f7ba903a000, 4096, PROT_READ) = 0
munmap(0x7f7ba900a000, 21096)           = 0
getuid()                                = 0
getgid()                                = 0
getpid()                                = 419
rt_sigaction(SIGCHLD, {sa_handler=0x5575a2182a20, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f7ba8e7ed60}, NULL, 8) = 0
geteuid()                               = 0
brk(NULL)                               = 0x5575a37f9000
brk(0x5575a381a000)                     = 0x5575a381a000
getppid()                               = 416
stat("/root", {st_mode=S_IFDIR|0700, st_size=56, ...}) = 0
stat(".", {st_mode=S_IFDIR|0700, st_size=56, ...}) = 0
openat(AT_FDCWD, "/usr/bin/erl", O_RDONLY) = 3
fcntl(3, F_DUPFD, 10)                   = 10
close(3)                                = 0
fcntl(10, F_SETFD, FD_CLOEXEC)          = 0
geteuid()                               = 0
getegid()                               = 0
rt_sigaction(SIGINT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x5575a2182a20, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f7ba8e7ed60}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f7ba8e7ed60}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=SIG_DFL, sa_mask=~[RTMIN RT_1], sa_flags=SA_RESTORER, sa_restorer=0x7f7ba8e7ed60}, NULL, 8) = 0
read(10, "#!/bin/sh\n#\n# %CopyrightBegin%\n#"..., 8192) = 849
pipe([3, 4])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f7ba9009850) = 420
close(4)                                = 0
read(3, "erl\n", 128)                   = 4
read(3, "", 128)                        = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=420, si_uid=0, si_status=0, si_utime=0, si_stime=0} ---
rt_sigreturn({mask=[]})                 = 0
close(3)                                = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 420
wait4(-1, 0x7ffc9765a7cc, WNOHANG, NULL) = -1 ECHILD (No child processes)
execve("/usr/lib/erlang/erts-11.1.8/bin/erlexec", ["/usr/lib/erlang/erts-11.1.8/bin/"...], 0x5575a2191920 /* 20 vars */) = 0
brk(NULL)                               = 0x564158485000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=21096, ...}) = 0
mmap(NULL, 21096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f90d6a80000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\362\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1321344, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f90d6a7e000
mmap(NULL, 1323280, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f90d693a000
mmap(0x7f90d6949000, 630784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f90d6949000
mmap(0x7f90d69e3000, 626688, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa9000) = 0x7f90d69e3000
mmap(0x7f90d6a7c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x141000) = 0x7f90d6a7c000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@n\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1839792, ...}) = 0
mmap(NULL, 1852680, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f90d6775000
mprotect(0x7f90d679a000, 1662976, PROT_NONE) = 0
mmap(0x7f90d679a000, 1355776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7f90d679a000
mmap(0x7f90d68e5000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x170000) = 0x7f90d68e5000
mmap(0x7f90d6930000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7f90d6930000
mmap(0x7f90d6936000, 13576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f90d6936000
close(3)                                = 0
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f90d6772000
arch_prctl(ARCH_SET_FS, 0x7f90d6772740) = 0
mprotect(0x7f90d6930000, 12288, PROT_READ) = 0
mprotect(0x7f90d6a7c000, 4096, PROT_READ) = 0
mprotect(0x564157eb3000, 4096, PROT_READ) = 0
mprotect(0x7f90d6ab0000, 4096, PROT_READ) = 0
munmap(0x7f90d6a80000, 21096)           = 0
brk(NULL)                               = 0x564158485000
brk(0x5641584a6000)                     = 0x5641584a6000
execve("/usr/lib/erlang/erts-11.1.8/bin/beam.smp", ["/usr/lib/erlang/erts-11.1.8/bin/"..., "--", "-root", "/usr/lib/erlang", "-progname", "erl", "--", "-home", "/root", "--"], 0x7ffe76c6cd08 /* 20 vars */) = 0
brk(NULL)                               = 0x562161a91000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=21096, ...}) = 0
mmap(NULL, 21096, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fc6d7142000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\21\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=18688, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6d7140000
mmap(NULL, 20752, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc6d713a000
mmap(0x7fc6d713b000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x7fc6d713b000
mmap(0x7fc6d713d000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fc6d713d000
mmap(0x7fc6d713e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fc6d713e000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\362\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1321344, ...}) = 0
mmap(NULL, 1323280, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc6d6ff6000
mmap(0x7fc6d7005000, 630784, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7fc6d7005000
mmap(0x7fc6d709f000, 626688, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa9000) = 0x7fc6d709f000
mmap(0x7fc6d7138000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x141000) = 0x7fc6d7138000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libtinfo.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\351\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=187792, ...}) = 0
mmap(NULL, 190880, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc6d6fc7000
mmap(0x7fc6d6fd5000, 57344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe000) = 0x7fc6d6fd5000
mmap(0x7fc6d6fe3000, 57344, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c000) = 0x7fc6d6fe3000
mmap(0x7fc6d6ff1000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29000) = 0x7fc6d6ff1000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libz.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0203\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=113088, ...}) = 0
mmap(NULL, 115088, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc6d6faa000
mprotect(0x7fc6d6fad000, 98304, PROT_NONE) = 0
mmap(0x7fc6d6fad000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fc6d6fad000
mmap(0x7fc6d6fbe000, 24576, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7fc6d6fbe000
mmap(0x7fc6d6fc5000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a000) = 0x7fc6d6fc5000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 |\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=149520, ...}) = 0
mmap(NULL, 136304, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc6d6f88000
mmap(0x7fc6d6f8f000, 65536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x7000) = 0x7fc6d6f8f000
mmap(0x7fc6d6f9f000, 20480, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7fc6d6f9f000
mmap(0x7fc6d6fa4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1b000) = 0x7fc6d6fa4000
mmap(0x7fc6d6fa6000, 13424, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc6d6fa6000
close(3)                                = 0
openat(AT_FDCWD, "/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@n\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1839792, ...}) = 0
mmap(NULL, 1852680, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fc6d6dc3000
mprotect(0x7fc6d6de8000, 1662976, PROT_NONE) = 0
mmap(0x7fc6d6de8000, 1355776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x25000) = 0x7fc6d6de8000
mmap(0x7fc6d6f33000, 303104, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x170000) = 0x7fc6d6f33000
mmap(0x7fc6d6f7e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1ba000) = 0x7fc6d6f7e000
mmap(0x7fc6d6f84000, 13576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc6d6f84000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6d6dc1000
mmap(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6d6dbe000
arch_prctl(ARCH_SET_FS, 0x7fc6d6dbe740) = 0
mprotect(0x7fc6d6f7e000, 12288, PROT_READ) = 0
mprotect(0x7fc6d6fa4000, 4096, PROT_READ) = 0
mprotect(0x7fc6d6fc5000, 4096, PROT_READ) = 0
mprotect(0x7fc6d6ff1000, 16384, PROT_READ) = 0
mprotect(0x7fc6d7138000, 4096, PROT_READ) = 0
mprotect(0x7fc6d713e000, 4096, PROT_READ) = 0
mprotect(0x562160847000, 36864, PROT_READ) = 0
mprotect(0x7fc6d7172000, 4096, PROT_READ) = 0
munmap(0x7fc6d7142000, 21096)           = 0
set_tid_address(0x7fc6d6dbea10)         = 419
set_robust_list(0x7fc6d6dbea20, 24)     = 0
rt_sigaction(SIGRTMIN, {sa_handler=0x7fc6d6f8f690, sa_mask=[], sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7fc6d6f9c140}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {sa_handler=0x7fc6d6f8f730, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7fc6d6f9c140}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(NULL)                               = 0x562161a91000
brk(0x562161ab2000)                     = 0x562161ab2000
getpid()                                = 419
openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
getdents64(3, 0x562161a915a0 /* 25 entries */, 32768) = 704
getdents64(3, 0x562161a915a0 /* 7 entries */, 32768) = 232
getdents64(3, 0x562161a915a0 /* 0 entries */, 32768) = 0
close(3)                                = 0
openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 3
read(3, "0-15\n", 8192)                 = 5
close(3)                                = 0
sched_getaffinity(419, 128, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) = 40
openat(AT_FDCWD, "/proc/self/mountinfo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "864 629 0:74 /containers/test/ro"..., 1024) = 1024
read(3, ":12 - pstore pstore rw\n874 867 0"..., 1024) = 1024
read(3, ",nodev,relatime master:109 - fus"..., 1024) = 1024
read(3, "0:5 /null /dev/null rw,nosuid,re"..., 1024) = 1024
read(3, "ot_id ro,nosuid,nodev,noexec,rel"..., 1024) = 652
read(3, "", 1024)                       = 0
close(3)                                = 0
uname({sysname="Linux", nodename="test", ...}) = 0
getpid()                                = 419
openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
getdents64(3, 0x562161a91d50 /* 25 entries */, 32768) = 704
getdents64(3, 0x562161a91d50 /* 7 entries */, 32768) = 232
getdents64(3, 0x562161a91d50 /* 0 entries */, 32768) = 0
close(3)                                = 0
sched_getaffinity(419, 128, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) = 40
openat(AT_FDCWD, "/proc/self/mountinfo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "864 629 0:74 /containers/test/ro"..., 1024) = 1024
read(3, ":12 - pstore pstore rw\n874 867 0"..., 1024) = 1024
read(3, ",nodev,relatime master:109 - fus"..., 1024) = 1024
read(3, "0:5 /null /dev/null rw,nosuid,re"..., 1024) = 1024
read(3, "ot_id ro,nosuid,nodev,noexec,rel"..., 1024) = 652
read(3, "", 1024)                       = 0
close(3)                                = 0
uname({sysname="Linux", nodename="test", ...}) = 0
openat(AT_FDCWD, "/dev/null", O_RDONLY) = 3
close(3)                                = 0
close(3)                                = -1 EBADF (Bad file descriptor)
openat(AT_FDCWD, "/dev/null", O_RDONLY) = 3
mmap(NULL, 1073741824, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7fc696dbe000
mmap(0x7fc696dbe000, 270336, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc696dbe000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696d5d000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696cfc000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696c9b000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696c3a000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696bd9000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696b78000
mmap(NULL, 2363392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696937000
mmap(NULL, 2363392, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6966f6000
mmap(NULL, 790528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696635000
mmap(NULL, 790528, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696574000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696513000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6964b2000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc696451000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6963f0000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc69638f000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc69632e000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6962cd000
mmap(NULL, 397312, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc69626c000
mmap(0x7fc696e00000, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fc696e00000
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=1024*1024}) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=1024*1024}) = 0
epoll_create(256)                       = 4
timerfd_create(CLOCK_MONOTONIC, 0)      = 5
epoll_ctl(4, EPOLL_CTL_ADD, 5, {EPOLLIN|EPOLLONESHOT, {u32=5, u64=94699733909509}}) = 0
epoll_create(256)                       = 6
pipe([7, 8])                            = 0
fcntl(7, F_GETFL)                       = 0 (flags O_RDONLY)
fcntl(7, F_SETFL, O_RDONLY|O_NONBLOCK)  = 0
fcntl(8, F_GETFL)                       = 0x1 (flags O_WRONLY)
fcntl(8, F_SETFL, O_WRONLY|O_NONBLOCK)  = 0
epoll_ctl(6, EPOLL_CTL_ADD, 7, {EPOLLIN, {u32=7, u64=5277032742419169287}}) = 0
timerfd_create(CLOCK_MONOTONIC, 0)      = 9
epoll_ctl(6, EPOLL_CTL_ADD, 9, {EPOLLIN, {u32=9, u64=5277032742419169289}}) = 0
pipe([10, 11])                          = 0
fcntl(10, F_GETFL)                      = 0 (flags O_RDONLY)
fcntl(10, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
fcntl(11, F_GETFL)                      = 0x1 (flags O_WRONLY)
fcntl(11, F_SETFL, O_WRONLY|O_NONBLOCK) = 0
read(10, 0x7ffe3b48d780, 32)            = -1 EAGAIN (Resource temporarily unavailable)
mmap(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc69616c000
munmap(0x7fc69616c000, 1048576)         = 0
mmap(NULL, 1310720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc69612c000
munmap(0x7fc69612c000, 81920)           = 0
munmap(0x7fc696240000, 180224)          = 0
pipe([12, 13])                          = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc69593f000
mprotect(0x7fc695940000, 8388608, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc69613efb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[423], tls=0x7fc69613f700, child_tidptr=0x7fc69613f9d0) = 423
sched_yield()                           = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
pipe([14, 15])                          = 0
rt_sigaction(SIGFPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc6d6f9c140}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
openat(AT_FDCWD, "/etc/localtime", O_RDONLY|O_CLOEXEC) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
fstat(16, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
read(16, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"..., 4096) = 118
lseek(16, -62, SEEK_CUR)                = 56
read(16, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"..., 4096) = 62
close(16)                               = 0
rt_sigaction(SIGINT, {sa_handler=0x562160704590, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc6d6f9c140}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGUSR1, {sa_handler=0x5621607045e0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc6d6f9c140}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=0x5621607045e0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc6d6f9c140}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=3041456, ...}) = 0
mmap(NULL, 3041456, PROT_READ, MAP_PRIVATE, 16, 0) = 0x7fc695658000
close(16)                               = 0
mmap(NULL, 4194304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc695258000
munmap(0x7fc695258000, 4194304)         = 0
mmap(NULL, 4456448, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc695218000
munmap(0x7fc695218000, 163840)          = 0
munmap(0x7fc695640000, 98304)           = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 8392704, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc694a3f000
mprotect(0x7fc694a40000, 8388608, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc69523efb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[424], tls=0x7fc69523f700, child_tidptr=0x7fc69523f9d0) = 424
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
uname({sysname="Linux", nodename="test", ...}) = 0
uname({sysname="Linux", nodename="test", ...}) = 0
sysinfo({uptime=8700, loads=[60640, 167200, 215712], totalram=33648234496, freeram=7399890944, sharedram=218779648, bufferram=727605248, totalswap=34359734272, freeswap=34349772800, procs=2494, totalhigh=0, freehigh=0, mem_unit=1}) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 143360, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc696249000
mprotect(0x7fc69624a000, 139264, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc69626afb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[425], tls=0x7fc69626b700, child_tidptr=0x7fc69626b9d0) = 425
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
futex(0x7fc6d713f0c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 16
fstat(16, {st_mode=S_IFREG|0644, st_size=21096, ...}) = 0
mmap(NULL, 21096, PROT_READ, MAP_PRIVATE, 16, 0) = 0x7fc6d7142000
close(16)                               = 0
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/libsctp.so.1", O_RDONLY|O_CLOEXEC) = 16
read(16, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\21\0\0\0\0\0\0"..., 832) = 832
fstat(16, {st_mode=S_IFREG|0644, st_size=14376, ...}) = 0
mmap(NULL, 16520, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 16, 0) = 0x7fc696244000
mmap(0x7fc696245000, 4096, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 16, 0x1000) = 0x7fc696245000
mmap(0x7fc696246000, 4096, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 16, 0x2000) = 0x7fc696246000
mmap(0x7fc696247000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 16, 0x2000) = 0x7fc696247000
close(16)                               = 0
mprotect(0x7fc696247000, 4096, PROT_READ) = 0
munmap(0x7fc6d7142000, 21096)           = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc6d6f9c140}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
socketpair(AF_UNIX, SOCK_STREAM, 0, [16, 17]) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fc6d6dbea10) = 426
close(17)                               = 0
fcntl(16, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(16, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
rt_sigaction(SIGTERM, {sa_handler=0x5621607045e0, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc6d6f9c140}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7fc6d6f9c140}, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=0}, 8) = 0
mmap(NULL, 1048576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc69493f000
munmap(0x7fc69493f000, 1048576)         = 0
mmap(NULL, 1310720, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fc6948ff000
munmap(0x7fc6948ff000, 4096)            = 0
munmap(0x7fc694a00000, 258048)          = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 1060864, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc6947fd000
mprotect(0x7fc6947fe000, 1056768, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc6948fefb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[427], tls=0x7fc6948ff700, child_tidptr=0x7fc6948ff9d0) = 427
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc6947aa000
mprotect(0x7fc6947ab000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc6947fbfb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[428], tls=0x7fc6947fc700, child_tidptr=0x7fc6947fc9d0) = 428
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc694757000
mprotect(0x7fc694758000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc6947a8fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[429], tls=0x7fc6947a9700, child_tidptr=0x7fc6947a99d0) = 429
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc694704000
mprotect(0x7fc694705000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc694755fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[430], tls=0x7fc694756700, child_tidptr=0x7fc6947569d0) = 430
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc6946b1000
mprotect(0x7fc6946b2000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc694702fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[431], tls=0x7fc694703700, child_tidptr=0x7fc6947039d0) = 431
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc69465e000
mprotect(0x7fc69465f000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc6946affb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[432], tls=0x7fc6946b0700, child_tidptr=0x7fc6946b09d0) = 432
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc69460b000
mprotect(0x7fc69460c000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc69465cfb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[433], tls=0x7fc69465d700, child_tidptr=0x7fc69465d9d0) = 433
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc6945b8000
mprotect(0x7fc6945b9000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc694609fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[434], tls=0x7fc69460a700, child_tidptr=0x7fc69460a9d0) = 434
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc694565000
mprotect(0x7fc694566000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc6945b6fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[435], tls=0x7fc6945b7700, child_tidptr=0x7fc6945b79d0) = 435
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc694512000
mprotect(0x7fc694513000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc694563fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[436], tls=0x7fc694564700, child_tidptr=0x7fc6945649d0) = 436
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc6944bf000
mprotect(0x7fc6944c0000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc694510fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[437], tls=0x7fc694511700, child_tidptr=0x7fc6945119d0) = 437
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc69446c000
mprotect(0x7fc69446d000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc6944bdfb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[438], tls=0x7fc6944be700, child_tidptr=0x7fc6944be9d0) = 438
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc694419000
mprotect(0x7fc69441a000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc69446afb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[439], tls=0x7fc69446b700, child_tidptr=0x7fc69446b9d0) = 439
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [], [], 8)    = 0
mmap(NULL, 339968, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fc6943c6000
mprotect(0x7fc6943c7000, 335872, PROT_READ|PROT_WRITE) = 0
clone(child_stack=0x7fc694417fb0, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tid=[440], tls=0x7fc694418700, child_tidptr=0x7fc6944189d0) = 440
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
write(13, "\0\0\0\0", 4)                = 4
select(0, NULL, NULL, NULL, NULLErlang/OTP 23 [erts-11.1.8] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]

Eshell V11.1.8  (abort with ^G)
1> erlang:system_info(cpu_topology).
undefined
2> )       = ? ERESTARTNOHAND (To be restarted if no handler)
                                                             strace: Process 419 detached

BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
       (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution

root@test:~#

I don’t understand most of that but I did find a few lines containing cpu that looked related, though the calls were all successful.

openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3
openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 3
openat(AT_FDCWD, "/sys/devices/system/cpu", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 3

All of the files and directories within /sys/devices/system/cpu seem to be perfectly fine as well.

I wonder if perhaps related to:

CC @stgraber

It doesn’t look as if our issues are related because both of those files contain accurate information inside my containers.

root@ejabberd:~# fgrep -c processor /proc/cpuinfo
16
root@ejabberd:~# cat /sys/devices/system/cpu/online
0-15