Bug#979970: libselinux1: dependency to newer libc6 ignored by/missing for aptitude

2021-01-26 Thread Aurelien Jarno
reassign 979970 src:glibc,src:libselinux,src:apt,src:openssh
thanks

On 2021-01-25 11:59, Laurent Bigonville wrote:
> reassign 979970 src:glibc 2.30-1
> affects 979970 + libselinux1
> thanks
> 
> On Tue, 12 Jan 2021 13:31:19 +0100 Charlemagne Lasse
>  wrote:
> 
> > Right now, an update from buster to bullseye on amd64 completely
> > bricks the system because libselinux1 is requiring a libc6 which is
> > not yet installed on the system:
> >
> > Preparing to unpack .../0-libselinux1_3.1-2+b2_amd64.deb ...
> > De-configuring libselinux1:i386 (2.8-1+b1) ...
> > Unpacking libselinux1:amd64 (3.1-2+b2) over (2.8-1+b1) ...
> > tar: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.30' not
> > found (required by /lib/x86_64-linux-gnu/libselinux.so.1)
> > dpkg-deb: error: tar subprocess returned error exit status 1
> >
> > It is then not possible anymore to recover the system because dpkg
> > (mv, ...) is no longer working.
> >
> > There is most likely some kind dependency missing to let aptitude
> > known that it must first update libc6 before it can update
> > libselinux1. At least on this system, the installed version of libc6
> > for amd64 and i386 was still 2.28-10 when this happened
> 
> After some discussion on IRC it looks like the problem is apparently coming
> from the breaks added to the libc6 package.

The break hasn't been added randomly, but in response to upstream
release notes and bug #965932. In short the openssh seccomp filters in
buster are too narrow, and do not allow the new 64-bit syscalls needed
for 64-bit time_t compatibility to be used.

So we definitely can't drop this break. For me this is not a libc6 bug.
Or if it is, it is as much the fault of libc6 (for using new syscalls)
than libselinux1 (for starting using symbol versioning).

I am therefore reassigning the bug.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Processed: Re: libselinux1: dependency to newer libc6 ignored by/missing for aptitude

2021-01-26 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> reassign 979970 src:glibc,src:libselinux,src:apt,src:openssh
Bug #979970 [src:glibc] libselinux1: dependency to newer libc6 ignored 
by/missing for aptitude
Bug reassigned from package 'src:glibc' to 
'src:glibc,src:libselinux,src:apt,src:openssh'.
No longer marked as found in versions glibc/2.30-1.
Ignoring request to alter fixed versions of bug #979970 to the same values 
previously set
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
979970: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=979970
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#979970: libselinux1: dependency to newer libc6 ignored by/missing for aptitude

2021-01-26 Thread Julian Andres Klode
On Tue, Jan 26, 2021 at 12:52:52PM +0100, Aurelien Jarno wrote:
> reassign 979970 src:glibc,src:libselinux,src:apt,src:openssh
> thanks
> 
> On 2021-01-25 11:59, Laurent Bigonville wrote:
> > reassign 979970 src:glibc 2.30-1
> > affects 979970 + libselinux1
> > thanks
> > 
> > On Tue, 12 Jan 2021 13:31:19 +0100 Charlemagne Lasse
> >  wrote:
> > 
> > > Right now, an update from buster to bullseye on amd64 completely
> > > bricks the system because libselinux1 is requiring a libc6 which is
> > > not yet installed on the system:
> > >
> > > Preparing to unpack .../0-libselinux1_3.1-2+b2_amd64.deb ...
> > > De-configuring libselinux1:i386 (2.8-1+b1) ...
> > > Unpacking libselinux1:amd64 (3.1-2+b2) over (2.8-1+b1) ...
> > > tar: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.30' not
> > > found (required by /lib/x86_64-linux-gnu/libselinux.so.1)
> > > dpkg-deb: error: tar subprocess returned error exit status 1
> > >
> > > It is then not possible anymore to recover the system because dpkg
> > > (mv, ...) is no longer working.
> > >
> > > There is most likely some kind dependency missing to let aptitude
> > > known that it must first update libc6 before it can update
> > > libselinux1. At least on this system, the installed version of libc6
> > > for amd64 and i386 was still 2.28-10 when this happened
> > 
> > After some discussion on IRC it looks like the problem is apparently coming
> > from the breaks added to the libc6 package.
> 
> The break hasn't been added randomly, but in response to upstream
> release notes and bug #965932. In short the openssh seccomp filters in
> buster are too narrow, and do not allow the new 64-bit syscalls needed
> for 64-bit time_t compatibility to be used.
> 
> So we definitely can't drop this break. For me this is not a libc6 bug.
> Or if it is, it is as much the fault of libc6 (for using new syscalls)
> than libselinux1 (for starting using symbol versioning).

This is not a question of finding the right solution, but more of the
least worst one.

Currently, the breaks potentially avoids non-working openssh-server
during a partial upgrade at the expense of breaking the system in a full
upgrade. We can't have that.

The reason this happens is the cycle: New libselinux1 needs new libc6,
new libc6 needs newer libselinux1.

The right solution would be to deconfigure libselinux1, then unpack
libc6, then unpack new libselinux1, but it seems that this is not what's
happening, and we can't easily change apt to fix it.

An alternative solution, for openssh-server would be to avoid using the
new syscalls for 64-bit time_t compatibility I assume (forcing it to
link with older symbol versions?), but there are other cycles between
libselinux1 and libc6 from what I heard. So well, like hack up libc6 to
avoid exposing the new symbol versions and recompile everything against
it?

If you have alternative suggestions to avoid removing the Breaks, please
let me know, but as it stands, I believe that this is the option that
causes the least amount of breakage.

We've reached the point where we have too many dependencies and
conflicts too low in the stack, and it becomes too much for apt to
handle.
-- 
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer  i speak de, en



Bug#979970: libselinux1: dependency to newer libc6 ignored by/missing for aptitude

2021-01-26 Thread Colin Watson
On Tue, Jan 26, 2021 at 01:44:47PM +0100, Julian Andres Klode wrote:
> On Tue, Jan 26, 2021 at 12:52:52PM +0100, Aurelien Jarno wrote:
> > The break hasn't been added randomly, but in response to upstream
> > release notes and bug #965932. In short the openssh seccomp filters in
> > buster are too narrow, and do not allow the new 64-bit syscalls needed
> > for 64-bit time_t compatibility to be used.

Would it help to get those seccomp filter fixes into buster, and then we
could tell people that they have to upgrade to the latest point release
first?  Awkward but not unprecedented I think.

> An alternative solution, for openssh-server would be to avoid using the
> new syscalls for 64-bit time_t compatibility I assume (forcing it to
> link with older symbol versions?),

Changing openssh-server in bullseye can't possibly help here, because if
you've upgraded openssh-server then that will include the updated
seccomp filters anyway.  Changing openssh-server in buster might help,
but if so it would be much simpler to take the approach above
(backporting the seccomp filter fixes) rather than doing symbol
versioning hacks.

-- 
Colin Watson (he/him)  [cjwat...@debian.org]



Bug#981068: [arm64] ldconfig segfaults inside a qemu-aarch64-static chroot

2021-01-26 Thread Aurelien Jarno
control: reassign -1 qemu-user-static
control: found -1 qemu-user-static/1:3.1+dfsg-8
control: close -1 1:5.0-1
control: affects -1 libc6

On 2021-01-25 23:13, Domenico Andreoli wrote:
> Package: libc-bin
> Version: 2.31-7
> 
> The issue is reproducible inside a arm64 chroot, on a amd64 host,
> via qemu-aarch64-static. No problems on a native arm64.
> 
> Package upgrade fails with segmentation fault on post-installation,
> it's ldconfig:
> 
> # dpkg -i libc-bin_2.31-7_arm64.deb
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> (Reading database ... 50524 files and directories currently installed.)
> Preparing to unpack libc-bin_2.31-7_arm64.deb ...
> Unpacking libc-bin (2.31-7) over (2.31-6) ...
> Setting up libc-bin (2.31-7) ...
> qemu: uncaught target signal 11 (Segmentation fault) - core dumped
> Segmentation fault
> qemu: uncaught target signal 11 (Segmentation fault) - core dumped
> Segmentation fault
> dpkg: error processing package libc-bin (--install):
>  installed libc-bin package post-installation script subprocess returned 
> error exit status 139
> Processing triggers for man-db (2.9.3-2) ...
> Errors were encountered while processing:
>  libc-bin
> #
> 
> # ldconfig -v
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> Unknown host QEMU_IFLA type: 50
> Unknown host QEMU_IFLA type: 51
> qemu: uncaught target signal 11 (Segmentation fault) - core dumped
> qemu: uncaught target signal 11 (Segmentation fault) - core dumped
> zsh: segmentation fault  ldconfig -v
> #
> 
> The issue is introduced with --enable-static-pie on -7, downgrading to
> -6 or rebuilding -9 without --enable-static-pie makes the problem go away.

PIE support on arm64 requires at least qemu version 5.0. Please upgrade
your qemu version.

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net


signature.asc
Description: PGP signature


Processed: Re: Bug#981068: [arm64] ldconfig segfaults inside a qemu-aarch64-static chroot

2021-01-26 Thread Debian Bug Tracking System
Processing control commands:

> reassign -1 qemu-user-static
Bug #981068 [libc-bin] [arm64] ldconfig segfaults inside a qemu-aarch64-static 
chroot
Bug reassigned from package 'libc-bin' to 'qemu-user-static'.
No longer marked as found in versions glibc/2.31-7.
Ignoring request to alter fixed versions of bug #981068 to the same values 
previously set
> found -1 qemu-user-static/1:3.1+dfsg-8
Bug #981068 [qemu-user-static] [arm64] ldconfig segfaults inside a 
qemu-aarch64-static chroot
The source qemu-user-static and version 1:3.1+dfsg-8 do not appear to match any 
binary packages
Marked as found in versions qemu-user-static/1:3.1+dfsg-8.
> close -1 1:5.0-1
Bug #981068 [qemu-user-static] [arm64] ldconfig segfaults inside a 
qemu-aarch64-static chroot
Marked as fixed in versions qemu/1:5.0-1.
Bug #981068 [qemu-user-static] [arm64] ldconfig segfaults inside a 
qemu-aarch64-static chroot
Marked Bug as done
> affects -1 libc6
Bug #981068 {Done: Aurelien Jarno } [qemu-user-static] 
[arm64] ldconfig segfaults inside a qemu-aarch64-static chroot
Added indication that 981068 affects libc6

-- 
981068: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=981068
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems