buildx icon indicating copy to clipboard operation
buildx copied to clipboard

crash installing libglib2.0

Open petemoore opened this issue 2 years ago • 9 comments

This appears to be a buildx issue.

Reproduction steps:

$ cat Dockerfile
FROM ubuntu:20.04
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y libglib2.0
$ docker buildx build --platform linux/arm64,linux/amd64 .

Result:

....
....
#0 82.28 Setting up libglib2.0-cil (2.12.40-3) ...
#0 84.02 
#0 84.02 =================================================================
#0 84.02 	External Debugger Dump:
#0 84.02 =================================================================
#0 84.04 mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
#0 84.04 qemu: uncaught target signal 6 (Aborted) - core dumped
#0 84.05 Aborted
#0 84.35 
#0 84.35 =================================================================
#0 84.35 	External Debugger Dump:
#0 84.35 =================================================================
#0 84.35 mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
#0 84.36 qemu: uncaught target signal 6 (Aborted) - core dumped
#0 84.37 Aborted
#0 84.38 E: installing Assembly /usr/share/cli-common/policies.d/libglib2.0-cil/policy.2.8.glib-sharp.dll failed
#0 84.39 E: Installation of policy.2.8.glib-sharp with /usr/share/cli-common/runtimes.d/mono failed
#0 84.40 dpkg: error processing package libglib2.0-cil (--configure):
#0 84.40  installed libglib2.0-cil package post-installation script subprocess returned error exit status 1
#0 84.40 Setting up python3-dbus (1.2.16-1build1) ...
#0 85.42 Setting up xdg-desktop-portal (1.6.0-1ubuntu1) ...
#0 85.43 Setting up libfile-fcntllock-perl (0.22-3build4) ...
#0 85.43 Setting up python3-dbusmock (0.19-1) ...
#0 86.47 Setting up pkg-config (0.29.1-0ubuntu4) ...
#0 86.75 Setting up libglib2.0-tests (2.64.6-1~ubuntu20.04.4) ...
#0 87.76 dpkg: dependency problems prevent configuration of libglib2.0-cil-dev:
#0 87.76  libglib2.0-cil-dev depends on libglib2.0-cil (= 2.12.40-3); however:
#0 87.76   Package libglib2.0-cil is not configured yet.
#0 87.76 
#0 87.76 dpkg: error processing package libglib2.0-cil-dev (--configure):
#0 87.76  dependency problems - leaving unconfigured
#0 87.76 Setting up libmount-dev:amd64 (2.34-0.1ubuntu9.3) ...
#0 87.76 Setting up libglib2.0-dev:amd64 (2.64.6-1~ubuntu20.04.4) ...
#0 87.77 Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
#0 87.84 Processing triggers for ca-certificates (20211016~20.04.1) ...
#0 87.91 Updating certificates in /etc/ssl/certs...
#0 95.58 0 added, 0 removed; done.
#0 95.58 Running hooks in /etc/ca-certificates/update.d...
#0 95.62 Updating Mono key store
#0 95.92 TYPE: 6
#0 95.92 V: mono_thread_interruption_checkpoint
#0 95.92 * Assertion at ../../mono/arch/amd64/../x86/x86-codegen.h:410, condition `offset == (gint32)offset' not met
#0 95.92 
#0 95.92 
#0 95.92 =================================================================
#0 95.92 	Native Crash Reporting
#0 95.92 =================================================================
#0 95.92 Got a SIGABRT while executing native code. This usually indicates
#0 95.92 a fatal error in the mono runtime or one of the native libraries 
#0 95.92 used by your application.
#0 95.92 =================================================================
#0 95.92 
#0 95.92 =================================================================
#0 95.92 	Native stacktrace:
#0 95.92 =================================================================
#0 95.92 	0x40000bceb5 - /usr/bin/mono : (null)
#0 95.92 	0x40000bd250 - /usr/bin/mono : (null)
#0 95.92 	0x400006a129 - /usr/bin/mono : (null)
#0 95.92 	0x40000bc467 - /usr/bin/mono : (null)
#0 95.92 	0x4001e61420 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
#0 95.92 	0x4001ece00b - /lib/x86_64-linux-gnu/libc.so.6 : gsignal
#0 95.92 	0x4001ead859 - /lib/x86_64-linux-gnu/libc.so.6 : abort
#0 95.92 	0x400002d2eb - /usr/bin/mono : (null)
#0 95.92 	0x400031a1a5 - /usr/bin/mono : (null)
#0 95.92 	0x4000337b2e - /usr/bin/mono : (null)
#0 95.92 	0x4000338113 - /usr/bin/mono : monoeg_assertion_message
#0 95.92 	0x4000092e41 - /usr/bin/mono : (null)
#0 95.92 	0x40000c16d3 - /usr/bin/mono : (null)
#0 95.92 	0x40000c37f0 - /usr/bin/mono : (null)
#0 95.92 	0x40000c43c6 - /usr/bin/mono : (null)
#0 95.92 	0x4000035e7a - /usr/bin/mono : (null)
#0 95.92 	0x4000035c14 - /usr/bin/mono : (null)
#0 95.92 	0x400006dab6 - /usr/bin/mono : (null)
#0 95.92 	0x400006e634 - /usr/bin/mono : (null)
#0 95.92 	0x4002099393 - Unknown
#0 95.92 
#0 95.92 =================================================================
#0 95.92 	Telemetry Dumper:
#0 95.92 =================================================================
#0 95.92 Pkilling 0x4004ceb700 from 0x400207e5c0
#0 95.93 Entering thread summarizer pause from 0x400207e5c0
#0 95.93 Finished thread summarizer pause from 0x400207e5c0.
#0 95.96 
#0 95.96 Waiting for dumping threads to resume
#0 96.98 
#0 96.98 =================================================================
#0 96.98 	External Debugger Dump:
#0 96.98 =================================================================
#0 96.98 mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
#0 96.99 
#0 96.99 =================================================================
#0 96.99 	Basic Fault Address Reporting
#0 96.99 =================================================================
#0 96.99 Memory around native instruction pointer (0x4001ece00b):0x4001ecdffb  d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05  .L..............
#0 96.99 0x4001ece00b  48 8b 84 24 08 01 00 00 64 48 33 04 25 28 00 00  H..$....dH3.%(..
#0 96.99 0x4001ece01b  00 75 26 44 89 c0 48 81 c4 18 01 00 00 c3 0f 1f  .u&D..H.........
#0 96.99 0x4001ece02b  80 00 00 00 00 48 8b 15 39 8e 1a 00 f7 d8 41 b8  .....H..9.....A.
#0 96.99 
#0 96.99 =================================================================
#0 96.99 	Managed Stacktrace:
#0 96.99 =================================================================
#0 96.99 	  at <unknown> <0xffffffff>
#0 96.99 	  at Sys:LStat <0x00183>
#0 96.99 	  at System.IO.FileSystem:FileExists <0x000bb>
#0 96.99 	  at System.IO.FileSystem:DirectoryExists <0x0004b>
#0 96.99 	  at System.IO.FileSystem:DirectoryExists <0x00053>
#0 96.99 	  at System.IO.Directory:Exists <0x00133>
#0 96.99 	  at System.IO.FileStream:.ctor <0x00127>
#0 96.99 	  at System.IO.FileStream:.ctor <0x00073>
#0 96.99 	  at System.IO.FileStream:.ctor <0x000bb>
#0 96.99 	  at System.IO.PathInternal:GetIsCaseSensitive <0x000ff>
#0 96.99 	  at System.IO.PathInternal:.cctor <0x00027>
#0 96.99 	  at System.Object:runtime_invoke_void <0x0009d>
#0 96.99 	  at <unknown> <0xffffffff>
#0 96.99 	  at System.IO.File:Exists <0x00097>
#0 96.99 	  at Mono.Tools.CertSync:ParseOptions <0x001bb>
#0 96.99 	  at Mono.Tools.CertSync:Main <0x00043>
#0 96.99 	  at <Module>:runtime_invoke_int_object <0x000a8>
#0 96.99 =================================================================
#0 96.99 qemu: uncaught target signal 6 (Aborted) - core dumped
#0 97.00 Aborted
#0 97.00 Done
#0 97.01 done.
#0 97.08 Errors were encountered while processing:
#0 97.08  libglib2.0-cil
#0 97.08  libglib2.0-cil-dev
#0 97.15 E: Sub-process /usr/bin/dpkg returned an error code (1)
------
Dockerfile:4
--------------------
   2 |     RUN apt-get update
   3 |     RUN apt-get upgrade -y
   4 | >>> RUN apt-get install -y libglib2.0
   5 |     
--------------------
error: failed to solve: process "/bin/sh -c apt-get install -y libglib2.0" did not complete successfully: exit code: 100

petemoore avatar Jul 15 '22 20:07 petemoore

$ docker buildx version
github.com/docker/buildx v0.8.2 6224def4dd2c3d347eee19db595348c50d7cb491

petemoore avatar Jul 15 '22 20:07 petemoore

Can't repro, what's the output of docker info and uname -a?

Can you test with this QEMU version and let us know?:

$ docker run --privileged --rm crazymax/binfmt:v7.0.0 --uninstall qemu-*
$ docker run --privileged --rm crazymax/binfmt:v7.0.0 --install all

crazy-max avatar Jul 15 '22 20:07 crazy-max

Apologies, I have been on holiday away from my computer. Thanks for the reply.

$ docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.8.2)
  compose: Docker Compose (Docker Inc., v2.6.1)
  extension: Manages Docker extensions (Docker Inc., v0.2.7)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 20
  Running: 1
  Paused: 0
  Stopped: 19
 Images: 10
 Server Version: 20.10.17
 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: 2
 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: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc version: v1.1.2-0-ga916309
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.10.104-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: aarch64
 CPUs: 5
 Total Memory: 7.667GiB
 Name: docker-desktop
 ID: NYC3:K3MF:QIGI:M7AC:F6OH:YAQT:YDGZ:ZGI6:NDZG:IQKD:Q3JN:3QMR
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5000
  127.0.0.0/8
 Live Restore Enabled: false
$ uname -a
Darwin Peters-MacBook-Pro.local 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:37 PDT 2022; root:xnu-8020.121.3~4/RELEASE_ARM64_T6000 arm64

A colleague of mine reproduced the issue on linux, so I think it isn't Mac-specific.

I've run the above commands:

$ docker run --privileged --rm crazymax/binfmt:v7.0.0 --uninstall qemu-*
Unable to find image 'crazymax/binfmt:v7.0.0' locally
v7.0.0: Pulling from crazymax/binfmt
0bc297293655: Pull complete 
92b6a1c0ebe0: Pull complete 
Digest: sha256:8a50e3c2638bc932f99dba8de6d405ecd16e2e1e76fd5c30d886671647aaf24b
Status: Downloaded newer image for crazymax/binfmt:v7.0.0
uninstalling: qemu-arm OK
uninstalling: qemu-i386 OK
uninstalling: qemu-mips64 OK
uninstalling: qemu-mips64el OK
uninstalling: qemu-ppc64le OK
uninstalling: qemu-riscv64 OK
uninstalling: qemu-s390x OK
uninstalling: qemu-x86_64 OK
{
  "supported": [
    "linux/arm64"
  ],
  "emulators": null
}
$ docker run --privileged --rm crazymax/binfmt:v7.0.0 --install all
installing: ppc64le OK
installing: 386 OK
installing: mips64le OK
installing: mips64 OK
installing: s390x OK
installing: arm OK
installing: riscv64 OK
installing: amd64 OK
{
  "supported": [
    "linux/arm64",
    "linux/amd64",
    "linux/riscv64",
    "linux/ppc64le",
    "linux/s390x",
    "linux/386",
    "linux/mips64le",
    "linux/mips64",
    "linux/arm/v7",
    "linux/arm/v6"
  ],
  "emulators": [
    "qemu-arm",
    "qemu-i386",
    "qemu-mips64",
    "qemu-mips64el",
    "qemu-ppc64le",
    "qemu-riscv64",
    "qemu-s390x",
    "qemu-x86_64"
  ]
}
$ 

After this completed, I ran again, but still get a crash:

#0 126.8 Setting up libgdk-pixbuf2.0-bin (2.40.0+dfsg-3ubuntu0.2) ...
#0 126.8 Setting up dbus-x11 (1.12.16-2ubuntu2.2) ...
#0 126.8 Setting up python3-lib2to3 (3.8.10-0ubuntu1~20.04) ...
#0 127.4 Setting up python3-distutils (3.8.10-0ubuntu1~20.04) ...
#0 128.0 Setting up libglib2.0-dev-bin (2.64.6-1~ubuntu20.04.4) ...
#0 129.2 Setting up libblkid-dev:amd64 (2.34-0.1ubuntu9.3) ...
#0 129.2 Setting up libglib2.0-cil (2.12.40-3) ...
#0 131.0 
#0 131.0 =================================================================
#0 131.0 	External Debugger Dump:
#0 131.0 =================================================================
#0 131.0 mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
#0 131.0 qemu: uncaught target signal 6 (Aborted) - core dumped
#0 131.0 Aborted
#0 131.3 
#0 131.3 =================================================================
#0 131.3 	External Debugger Dump:
#0 131.3 =================================================================
#0 131.3 mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
#0 131.3 qemu: uncaught target signal 6 (Aborted) - core dumped
#0 131.3 Aborted
#0 131.3 E: installing Assembly /usr/share/cli-common/policies.d/libglib2.0-cil/policy.2.8.glib-sharp.dll failed
#0 131.3 E: Installation of policy.2.8.glib-sharp with /usr/share/cli-common/runtimes.d/mono failed
#0 131.4 dpkg: error processing package libglib2.0-cil (--configure):
#0 131.4  installed libglib2.0-cil package post-installation script subprocess returned error exit status 1
#0 131.4 Setting up python3-dbus (1.2.16-1build1) ...
#0 132.4 Setting up xdg-desktop-portal (1.6.0-1ubuntu1) ...
#0 132.4 Setting up libfile-fcntllock-perl (0.22-3build4) ...
#0 132.4 Setting up python3-dbusmock (0.19-1) ...
#0 133.4 Setting up pkg-config (0.29.1-0ubuntu4) ...
#0 133.7 Setting up libglib2.0-tests (2.64.6-1~ubuntu20.04.4) ...
#0 134.7 dpkg: dependency problems prevent configuration of libglib2.0-cil-dev:
#0 134.7  libglib2.0-cil-dev depends on libglib2.0-cil (= 2.12.40-3); however:
#0 134.7   Package libglib2.0-cil is not configured yet.
#0 134.7 
#0 134.7 dpkg: error processing package libglib2.0-cil-dev (--configure):
#0 134.7  dependency problems - leaving unconfigured
#0 134.7 Setting up libmount-dev:amd64 (2.34-0.1ubuntu9.3) ...
#0 134.7 Setting up libglib2.0-dev:amd64 (2.64.6-1~ubuntu20.04.4) ...
#0 134.7 Processing triggers for libc-bin (2.31-0ubuntu9.9) ...
#0 134.8 Processing triggers for ca-certificates (20211016~20.04.1) ...
#0 134.9 Updating certificates in /etc/ssl/certs...
#0 142.7 0 added, 0 removed; done.
#0 142.7 Running hooks in /etc/ca-certificates/update.d...
#0 142.8 Updating Mono key store
#0 143.1 TYPE: 6
#0 143.1 V: mono_thread_interruption_checkpoint
#0 143.1 * Assertion at ../../mono/arch/amd64/../x86/x86-codegen.h:410, condition `offset == (gint32)offset' not met
#0 143.1 
#0 143.1 
#0 143.1 =================================================================
#0 143.1 	Native Crash Reporting
#0 143.1 =================================================================
#0 143.1 Got a SIGABRT while executing native code. This usually indicates
#0 143.1 a fatal error in the mono runtime or one of the native libraries 
#0 143.1 used by your application.
#0 143.1 =================================================================
#0 143.1 
#0 143.1 =================================================================
#0 143.1 	Native stacktrace:
#0 143.1 =================================================================
#0 143.1 	0x40000bceb5 - /usr/bin/mono : (null)
#0 143.1 	0x40000bd250 - /usr/bin/mono : (null)
#0 143.1 	0x400006a129 - /usr/bin/mono : (null)
#0 143.1 	0x40000bc467 - /usr/bin/mono : (null)
#0 143.1 	0x4002e61420 - /lib/x86_64-linux-gnu/libpthread.so.0 : (null)
#0 143.1 	0x4002ece00b - /lib/x86_64-linux-gnu/libc.so.6 : gsignal
#0 143.1 	0x4002ead859 - /lib/x86_64-linux-gnu/libc.so.6 : abort
#0 143.1 	0x400002d2eb - /usr/bin/mono : (null)
#0 143.1 	0x400031a1a5 - /usr/bin/mono : (null)
#0 143.1 	0x4000337b2e - /usr/bin/mono : (null)
#0 143.1 	0x4000338113 - /usr/bin/mono : monoeg_assertion_message
#0 143.1 	0x4000092e41 - /usr/bin/mono : (null)
#0 143.1 	0x40000c16d3 - /usr/bin/mono : (null)
#0 143.1 	0x40000c37f0 - /usr/bin/mono : (null)
#0 143.1 	0x40000c43c6 - /usr/bin/mono : (null)
#0 143.1 	0x4000035e7a - /usr/bin/mono : (null)
#0 143.1 	0x4000035c14 - /usr/bin/mono : (null)
#0 143.1 	0x400006dab6 - /usr/bin/mono : (null)
#0 143.1 	0x400006e634 - /usr/bin/mono : (null)
#0 143.1 	0x4003099393 - Unknown
#0 143.1 
#0 143.1 =================================================================
#0 143.1 	Telemetry Dumper:
#0 143.1 =================================================================
#0 143.1 Pkilling 0x4005ceb700 from 0x400307e5c0
#0 143.1 Entering thread summarizer pause from 0x400307e5c0
#0 143.1 Finished thread summarizer pause from 0x400307e5c0.
#0 143.1 
#0 143.1 Waiting for dumping threads to resume
#0 144.1 
#0 144.1 =================================================================
#0 144.1 	External Debugger Dump:
#0 144.1 =================================================================
#0 144.1 mono_gdb_render_native_backtraces not supported on this platform, unable to find gdb or lldb
#0 144.1 
#0 144.1 =================================================================
#0 144.1 	Basic Fault Address Reporting
#0 144.1 =================================================================
#0 144.1 Memory around native instruction pointer (0x4002ece00b):0x4002ecdffb  d2 4c 89 ce bf 02 00 00 00 b8 0e 00 00 00 0f 05  .L..............
#0 144.1 0x4002ece00b  48 8b 84 24 08 01 00 00 64 48 33 04 25 28 00 00  H..$....dH3.%(..
#0 144.1 0x4002ece01b  00 75 26 44 89 c0 48 81 c4 18 01 00 00 c3 0f 1f  .u&D..H.........
#0 144.1 0x4002ece02b  80 00 00 00 00 48 8b 15 39 8e 1a 00 f7 d8 41 b8  .....H..9.....A.
#0 144.1 
#0 144.1 =================================================================
#0 144.1 	Managed Stacktrace:
#0 144.1 =================================================================
#0 144.1 	  at <unknown> <0xffffffff>
#0 144.1 	  at Sys:LStat <0x00183>
#0 144.1 	  at System.IO.FileSystem:FileExists <0x000bb>
#0 144.1 	  at System.IO.FileSystem:DirectoryExists <0x0004b>
#0 144.1 	  at System.IO.FileSystem:DirectoryExists <0x00053>
#0 144.1 	  at System.IO.Directory:Exists <0x00133>
#0 144.1 	  at System.IO.FileStream:.ctor <0x00127>
#0 144.1 	  at System.IO.FileStream:.ctor <0x00073>
#0 144.1 	  at System.IO.FileStream:.ctor <0x000bb>
#0 144.1 	  at System.IO.PathInternal:GetIsCaseSensitive <0x000ff>
#0 144.1 	  at System.IO.PathInternal:.cctor <0x00027>
#0 144.1 	  at System.Object:runtime_invoke_void <0x0009d>
#0 144.1 	  at <unknown> <0xffffffff>
#0 144.1 	  at System.IO.File:Exists <0x00097>
#0 144.1 	  at Mono.Tools.CertSync:ParseOptions <0x001bb>
#0 144.1 	  at Mono.Tools.CertSync:Main <0x00043>
#0 144.1 	  at <Module>:runtime_invoke_int_object <0x000a8>
#0 144.1 =================================================================
#0 144.1 qemu: uncaught target signal 6 (Aborted) - core dumped
#0 144.1 Aborted
#0 144.1 Done
#0 144.1 done.
#0 144.2 Errors were encountered while processing:
#0 144.2  libglib2.0-cil
#0 144.2  libglib2.0-cil-dev
#0 144.3 E: Sub-process /usr/bin/dpkg returned an error code (1)
------
Dockerfile:4
--------------------
   2 |     RUN apt-get update
   3 |     RUN apt-get upgrade -y
   4 | >>> RUN apt-get install -y libglib2.0
   5 |     
--------------------
error: failed to solve: process "/bin/sh -c apt-get install -y libglib2.0" did not complete successfully: exit code: 100

petemoore avatar Jul 22 '22 12:07 petemoore

Well, on linux I don't get the SIGABRT, I just get this:

> docker buildx build --platform linux/arm64,linux/amd64 .
WARNING: No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load
[+] Building 9.2s (11/12)
 => [internal] load build definition from Dockerfile                                                                                                                                                           0.0s
 => => transferring dockerfile: 132B                                                                                                                                                                           0.0s
 => [internal] load .dockerignore                                                                                                                                                                              0.1s
 => => transferring context: 2B                                                                                                                                                                                0.0s
 => [linux/amd64 internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                    1.0s
 => [linux/arm64 internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                    1.0s
 => [linux/arm64 1/4] FROM docker.io/library/ubuntu:20.04@sha256:fd92c36d3cb9b1d027c4d2a72c6bf0125da82425fc2ca37c414d4f010180dc19                                                                              0.1s
 => => resolve docker.io/library/ubuntu:20.04@sha256:fd92c36d3cb9b1d027c4d2a72c6bf0125da82425fc2ca37c414d4f010180dc19                                                                                          0.1s
 => [linux/amd64 1/4] FROM docker.io/library/ubuntu:20.04@sha256:fd92c36d3cb9b1d027c4d2a72c6bf0125da82425fc2ca37c414d4f010180dc19                                                                              0.1s
 => => resolve docker.io/library/ubuntu:20.04@sha256:fd92c36d3cb9b1d027c4d2a72c6bf0125da82425fc2ca37c414d4f010180dc19                                                                                          0.1s
 => CACHED [linux/arm64 2/4] RUN apt-get update                                                                                                                                                                0.0s
 => ERROR [linux/arm64 3/4] RUN apt-get upgrade -y                                                                                                                                                             8.1s
 => CACHED [linux/amd64 2/4] RUN apt-get update                                                                                                                                                                0.0s
 => CACHED [linux/amd64 3/4] RUN apt-get upgrade -y                                                                                                                                                            0.0s
 => CANCELED [linux/amd64 4/4] RUN apt-get install -y libglib2.0                                                                                                                                               8.1s
------
 > [linux/arm64 3/4] RUN apt-get upgrade -y:
#0 0.578 Reading package lists...
#0 4.090 Building dependency tree...
#0 4.604 Reading state information...
#0 4.642 Calculating upgrade...
#0 5.094 The following packages will be upgraded:
#0 5.097   apt e2fsprogs gpgv libapt-pkg6.0 libcom-err2 libext2fs2 libss2 logsave
#0 5.517 8 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
#0 5.517 Need to get 2901 kB of archives.
#0 5.517 After this operation, 4096 B of additional disk space will be used.
#0 5.517 Get:1 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 libapt-pkg6.0 arm64 2.0.9 [763 kB]
#0 6.423 Get:2 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 gpgv arm64 2.2.19-3ubuntu2.2 [183 kB]
#0 6.463 Get:3 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 apt arm64 2.0.9 [1243 kB]
#0 6.843 Get:4 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 logsave arm64 1.45.5-2ubuntu1.1 [10.1 kB]
#0 6.844 Get:5 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 libext2fs2 arm64 1.45.5-2ubuntu1.1 [177 kB]
#0 6.879 Get:6 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 e2fsprogs arm64 1.45.5-2ubuntu1.1 [505 kB]
#0 7.074 Get:7 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 libcom-err2 arm64 1.45.5-2ubuntu1.1 [9248 B]
#0 7.075 Get:8 http://ports.ubuntu.com/ubuntu-ports focal-updates/main arm64 libss2 arm64 1.45.5-2ubuntu1.1 [10.8 kB]
#0 7.709 debconf: delaying package configuration, since apt-utils is not installed
#0 7.828 Fetched 2901 kB in 2s (1476 kB/s)
#0 7.906 Error while loading /usr/sbin/dpkg-split: No such file or directory
#0 7.907 Error while loading /usr/sbin/dpkg-deb: No such file or directory
#0 7.909 dpkg: error processing archive /var/cache/apt/archives/libapt-pkg6.0_2.0.9_arm64.deb (--unpack):
#0 7.909  dpkg-deb --control subprocess returned error exit status 1
#0 7.947 Errors were encountered while processing:
#0 7.947  /var/cache/apt/archives/libapt-pkg6.0_2.0.9_arm64.deb
#0 8.002 E: Sub-process /usr/bin/dpkg returned an error code (1)
------
Dockerfile:4
--------------------
   2 |
   3 |     RUN apt-get update
   4 | >>> RUN apt-get upgrade -y
   5 |     RUN apt-get install -y libglib2.0
   6 |
--------------------
error: failed to solve: process "/dev/.buildkit_qemu_emulator /bin/sh -c apt-get upgrade -y" did not complete successfully: exit code: 100

After running the two provided commands the container builds just fine.

Eijebong avatar Jul 22 '22 14:07 Eijebong

Well, on linux I don't get the SIGABRT, I just get this:

....

After running the two provided commands the container builds just fine.

This seems to be a different failure case to mine. After running the provided commands I still have the same failure.

This seems to be the mono assert that fails and causes the crash.

@crazy-max Any ideas why this assertion might fail on macOS with Apple M1 processor? I wonder if this is an underlying qemu issue? Thanks!

petemoore avatar Jul 25 '22 10:07 petemoore

I have the same issue with the same buildx version. Could this be related to Apple M1?

LaszloLango avatar Aug 18 '22 15:08 LaszloLango

Did anyone find a solution to the issue (or workaround)?

valentinvarbanov avatar Feb 15 '23 18:02 valentinvarbanov

Same issue here. Running on Apple Silicon M3 AARM with macOS Sonoma (Darwin MBP-16-M3-Max 23.2.0 Darwin Kernel Version 23.2.0: Wed Nov 15 21:54:05 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6031 arm64) causes the same crash. Even with the most recent Docker version: Docker version 24.0.7, build afdd53b

andreasunterhuber avatar Jan 10 '24 11:01 andreasunterhuber

Same as well! Running with --platform linux/amd64 fixed it.

NBMSacha avatar Jan 18 '24 17:01 NBMSacha