-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: tests regression on Ubuntu latest #2495
Comments
Hmm. I can't tell you how many times I've had to fight with cleaning up gpg-agent... However, I don't think the problem here is gpg-agent and you can see it running the same process successfully at other parts of the log. It's just part of gpg-agent's design that the client (gpg-connect-agent) has to start gpg-agent even though the command you're asking it to run is Furthermore, |
Indeed the abrupt end of log messages tricked me. I'm able to see this locally on a
Which comes from here: Lines 48 to 53 in b56786c
And this happens while the underlying
So apparently this is |
@pwithnall any ideas what's happening here? I haven't tried to debug any further, but any pointers in the right direction would be helpful. |
Actually, this looks a lot like https://gitlab.gnome.org/GNOME/glib/-/issues/2506. Those changes were backported to glib 2.70, but Ubuntu rolling/21.10/impish has 2.68.4. Maybe someone at Ubuntu just needs a poke to backport those changes. |
Yeah, from Luca’s backtrace above that diagnosis fits. We’re not going to backport the fix to 2.68.x in upstream GLib since there will be no more 2.68 releases, but Ubuntu (and other distros) certainly should if they’re still shipping that version. |
Reported to Ubuntu in https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/1956059. |
Well that's interesting. I went through the trouble of actually building glib with the gspawn patches backported and then installed it in an impish container to run the test suite. To my surprise it still failed in the same way with a defunct bash child that seems to have completed normally. While fiddling around trying to get a core dump, I ran it with
There's something about |
It passes with Ah - changing the seccomp profile to |
I think the problem is ultimately https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1944436. The ubuntu-latest VM is 20.04. Docker on the azure ubuntu VMs uses the system libseccomp and the libseccomp on focal doesn't actually know that So, libseccomp causes |
add more info... Fixes: ostreedev#2495
add more info... Fixes: ostreedev#2495
add more info... Fixes: ostreedev#2495
add more info... Fixes: ostreedev#2495
add more info... Fixes: ostreedev#2495
add more info... Fixes: ostreedev#2495
add more info... Fixes: ostreedev#2495
The ubuntu-latest VMs are currently based on 20.04 (focal). In focal, libseccomp2 doesn't know about the close_range syscall[1], but g_spawn_sync in impish tries to use close_range since it's defined in glibc. That causes libseccomp2 to return EPERM as it does for any unknown syscalls. g_spawn_sync carries on silently instead of falling back to other means of setting CLOEXEC on open FDs. Eventually it causes some tests to hang since once side of a pipe is never closed. Remove this when libseccomp2 in focal is updated or glib in impish handles the EPERM better. 1. https://bugs.launchpad.net/ubuntu/+source/libseccomp/+bug/1944436 Fixes: ostreedev#2495
#2517 provides a workaround by disabling seccomp for ubuntu:rolling. I don't think there's any way to adjust the seccomp profile (such as making it return |
My understanding is that this is completely under the caller's control, so it's the caller (Docker) that has decided to use |
I think this is fixed in recent docker. It was definitely fixed in recent podman. |
@smcv Good point. FWIW, the default docker seccomp profile is here and documented here. The default profile still returns I tried changing that to |
It looks like the github CI workflow on "Ubuntu Latest Release" is permanently failing now (full logs from a random PR attached):
Looking at the logs I'm now exactly sure what's going on. But possibly we are seeing a coredump or hang by the GPG agent when trying to stopping it?
/cc @dbnicholson @smcv
The text was updated successfully, but these errors were encountered: