docker / docker/buildx

crash installing libglib2.0

Open
#1,210 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area/qemu
Dominant language
Go
Stars
4.5k
Forks
682
Avg merge
2d 14h
Merged PRs (30d)
29

Description

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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the reported Dockerfile with docker buildx build --platform linux/arm64,linux/amd64 . and compare the arm64 and amd64 results. Trace the failure from the apt-get install -y libglib2.0 step through the reported QEMU and Mono errors; done means the multi-platform build completes without the package configuration failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, ubuntu
Domain
build-system, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.