Repository: dotnet/dotnet-docker

Issue #3253: Core dumped in sdk:6.0.100-bullseye-slim-arm32v7 and sdk:6.0.100-alpine3.14-arm32v7 without --privileged
Created: 2021-10-27T18:55:43Z
Describe the Bug
In dotnet/nightly/sdk:6.0.100-bullseye-slim-arm32v7 and 6.0.100-alpine3.14-arm32v7, running dotnet commands inside the container started without --privileged result in core dumped. Docker host is running on raspberry pi OS (32 bits) on a pi v4. This is the minimal way to reproduce the issue. I noticed the issue after upgrading my Dockerfiles from 5.0 to 6.0 and attempting to build.
sdk:5.0.402-buster-slim-arm32v7 works as expected in both privileged and unprivileged.
sdk:5.0.402-bullseye-slim-arm32v7 leads to core dumped without --privileged but works fine when --privileged is supplied. That would indicate the issue has more to do with bullseye and alpine3.14 than the version of dotnet.
Thanks to anyone involved.
Steps to Reproduce
$ docker run -it mcr.microsoft.com/dotnet/nightly/sdk:6.0.100-bullseye-slim-arm32v7 bash
root@679d83583dbd:/# dotnet --version
Aborted (core dumped)
While the following works fine:
$ docker run -it --privileged mcr.microsoft.com/dotnet/nightly/sdk:6.0.100-bullseye-slim-arm32v7 bash
root@271ea1adfedd:/# dotnet --version
6.0.100

Other Information
I am unaware of a way to build images in "privileged mode" and bypass the issue.

Output of docker version

Client: Docker Engine - Community
 Version:           20.10.10
 API version:       1.41
 Go version:        go1.16.9
 Git commit:        b485636
 Built:             Mon Oct 25 07:42:19 2021
 OS/Arch:           linux/arm
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.10
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.9
  Git commit:       e2f740d
  Built:            Mon Oct 25 07:40:35 2021
  OS/Arch:          linux/arm
  Experimental:     false
 containerd:
  Version:          1.4.11
  GitCommit:        5b46e404f6b9f661a205e28d59c982d3634148f8
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Output of docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.6.3-docker)
  compose: Docker Compose (Docker Inc., v2.0.0-beta.6)

Server:
 Containers: 48
  Running: 0
  Paused: 0
  Stopped: 48
 Images: 68
 Server Version: 20.10.10
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 5b46e404f6b9f661a205e28d59c982d3634148f8
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.63-v7l+
 Operating System: Raspbian GNU/Linux 10 (buster)
 OSType: linux
 Architecture: armv7l
 CPUs: 4
 Total Memory: 7.539GiB
 Name: aeritlab
 ID: F6KA:LW5H:7ZN2:YACU:MWWG:HLBT:NEFO:SOWU:76HY:4455:JOTO:5CQH
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: gravityeye
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No memory limit support
WARNING: No swap limit support
WARNING: No kernel memory TCP limit support
WARNING: No oom kill disable support

Duplicate issue #3351: .NET 6 docker container run fail (Exited 132) on Debian arm32
Created: 2021-12-15T03:29:04Z
Describe the Bug
I follow the steps to create a docker image (by Dockerfile.debian-arm32) on X64 Ubuntu VM without issue, but fail to run it on physical arm32 device with "Exited (132)"ㄡ

Steps to Reproduce

Setup a Ubuntu 21.10 VM (X64), install Docker 20.10.12, install dotnet 6.0.100
Download files to VM (Dockerfile.debian-arm32, Program.cs, dotnetapp.csproj)
Build docker image by below command:
docker build --pull -t dotnetapp:debian-arm32 -f Dockerfile.debian-arm32 .
push dotnetapp:debian-arm32 to my image registry
pull dotnetapp:debian-arm32 on my Device (armhf, Debain 9)
Run it
docker run dotnetapp:debian-arm32


Other Information

Output of docker version
Docker version 19.03.15, build 99e3ed8919
Output of docker info
Client:
Debug Mode: false
Server:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 2
Server Version: 19.03.15
Storage Driver: vfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc version: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.4.0-cip-rt-moxa-imx7d
Operating System: Debian GNU/Linux 9 (stretch)
OSType: linux
Architecture: armv7l
CPUs: 2
Total Memory: 1.971GiB
Name: Moxa
ID: ZJVB:HO7B:EYE3:3G5U:3IMC:CACU:ANI2:56OM:UVDS:TMT6:S5J3:TJFE
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No kernel memory limit support
WARNING: No kernel memory TCP limit support

Closing comment (2021-12-15T14:00:15Z): This is related to #3253. Specifically, a workaround is to install an updated version of libseccomp. I had the same issue on my RaspberryPi and installing the new version of libseccomp resolve the issue. Another alternative is to execute docker run with the --privileged option.