Closed travier closed 2 years ago
Just to make sure, this is happening on v2022.1
, right?
I think this is some fallout from https://github.com/coreos/rpm-ostree/pull/3298, which landed in that version. From the stacktrace, this seems to be hitting an assertion, and I added a couple of new assertions in that PR. Either the invariants I'm checking are wrong, or there is some other fishy logic somewhere else.
Can you please attach the last few lines from the service journal too? If my reading is correct, the daemon should have logged an assertion failure right before coredumping.
Looking back at my PR, I saw at least one bug that I introduced, https://github.com/coreos/rpm-ostree/pull/3346 takes care of that.
If the the failing assertion is the one on local_error != NULL
, then that should take care of it.
Logs:
Jan 19 14:48:43 fedora systemd[1]: Starting rpm-ostree System Management Daemon...
Jan 19 14:48:43 fedora rpm-ostree[3856]: Reading config file '/etc/rpm-ostreed.conf'
Jan 19 14:48:45 fedora rpm-ostree[3856]: In idle state; will auto-exit in 61 seconds
Jan 19 14:48:45 fedora systemd[1]: Started rpm-ostree System Management Daemon.
Jan 19 14:48:45 fedora rpm-ostree[3856]: client(id:cli dbus:1.135 unit:session-6.scope uid:0) added; new total=1
Jan 19 14:48:47 fedora rpm-ostree[3856]: Locked sysroot
Jan 19 14:48:47 fedora rpm-ostree[3856]: Initiated txn RefreshMd for client(id:cli dbus:1.135 unit:session-6.scope uid:0): /org/projectatomic/rpmostree1/fedora
Jan 19 14:48:47 fedora rpm-ostree[3856]: Process [pid: 3849 uid: 0 unit: session-6.scope] connected to transaction progress
Jan 19 14:48:47 fedora rpm-ostree[3856]: Librepo version: 1.14.2 with CURL_GLOBAL_ACK_EINTR support (libcurl/7.79.1 OpenSSL/1.1.1l-fips zlib/1.2.11 brotli/1.0.9 libidn2/2.3.2 libpsl/0.21.1 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.45.1 OpenLDAP/2.4.59)
Jan 19 14:48:48 fedora rpm-ostree[3856]: Txn RefreshMd on /org/projectatomic/rpmostree1/fedora successful
Jan 19 14:48:48 fedora rpm-ostree[3856]: Unlocked sysroot
Jan 19 14:48:48 fedora rpm-ostree[3856]: Process [pid: 3849 uid: 0 unit: session-6.scope] disconnected from transaction progress
Jan 19 14:48:49 fedora rpm-ostree[3856]: Enabled rpm-md repositories: fedora-cisco-openh264 updates fedora copr:copr.fedorainfracloud.org:marcdeop:frameworks copr:copr.fedorainfracloud.org:marcdeop:plasma updates-archive
Jan 19 14:48:50 fedora rpm-ostree[3856]: Importing rpm-md...done
Jan 19 14:48:50 fedora rpm-ostree[3856]: rpm-md repo 'fedora-cisco-openh264' (cached); generated: 2021-09-21T18:07:30Z solvables: 4
Jan 19 14:48:50 fedora rpm-ostree[3856]: rpm-md repo 'updates' (cached); generated: 2022-01-19T01:42:17Z solvables: 14915
Jan 19 14:48:50 fedora rpm-ostree[3856]: rpm-md repo 'fedora' (cached); generated: 2021-10-26T05:31:27Z solvables: 65732
Jan 19 14:48:50 fedora rpm-ostree[3856]: rpm-md repo 'copr:copr.fedorainfracloud.org:marcdeop:frameworks' (cached); generated: 2022-01-04T18:59:37Z solvables: 446
Jan 19 14:48:50 fedora rpm-ostree[3856]: rpm-md repo 'copr:copr.fedorainfracloud.org:marcdeop:plasma' (cached); generated: 2022-01-19T11:53:05Z solvables: 588
Jan 19 14:48:50 fedora rpm-ostree[3856]: rpm-md repo 'updates-archive' (cached); generated: 2022-01-19T02:49:26Z solvables: 21161
Jan 19 14:48:51 fedora rpm-ostree[3856]: **
Jan 19 14:48:51 fedora rpm-ostree[3856]: rpm-ostreed:ERROR:src/daemon/rpmostreed-os-experimental.cxx:292:gboolean osexperimental_handle_download_packages(RPMOSTreeOSExperimental*, GDBusMethodInvocation*, GUnixFDList*, const gchar* const*, const char*): assertion failed: (local_error != NULL)
Jan 19 14:48:51 fedora rpm-ostree[3856]: Bail out! rpm-ostreed:ERROR:src/daemon/rpmostreed-os-experimental.cxx:292:gboolean osexperimental_handle_download_packages(RPMOSTreeOSExperimental*, GDBusMethodInvocation*, GUnixFDList*, const gchar* const*, const char*): assertion failed: (local_error != NULL)
I can confirm that this feature works with a lot of packages 🙂:
$ rpm-ostree status
State: idle
Deployments:
fedora:fedora/35/x86_64/kinoite
Version: 35.20220119.0 (2022-01-19T01:37:55Z)
BaseCommit: 13754a8e785971df267e031d075943a4d8eb96727e2cdc1b1951e054a940811d
GPGSignature: Valid signature by 787EA6AE1147EEE56C40B30CDB4639719867C58F
Diff: 153 upgraded, 3 added
ReplacedBasePackages: kf5-kdeclarative kf5-networkmanager-qt kf5-kpackage kf5-kiconthemes kf5-kdoctools kf5-kio-doc kf5-kinit kf5-kparts kf5-kbookmarks kf5-kwidgetsaddons kf5-kjobwidgets kf5-kpeople kf5-kidletime kf5-threadweaver kf5-kio-file-widgets kf5-sonnet-core kf5-frameworkintegration-libs kf5-kservice kf5-kunitconversion kf5-kconfig-gui kf5-kio-ntlm kf5-kwallet-libs kf5-kactivities kf5-kitemviews kf5-kjs kf5-baloo-file kf5-kcompletion kf5-filesystem kf5-modemmanager-qt kf5-bluez-qt kf5-kcrash kf5-kirigami2 kf5-kitemmodels kf5-kcoreaddons kf5-syntax-highlighting kf5-ktexteditor kf5-khtml kf5-knotifyconfig kf5-kdelibs4support kf5-kconfigwidgets kf5-frameworkintegration qqc2-desktop-style kf5-baloo-libs kf5-kcmutils kf5-kauth kf5-kdesu kf5-kxmlrpcclient kf5-kimageformats kf5-kpty kf5-attica kf5-kwindowsystem kf5-kwallet kf5-kglobalaccel-libs kf5-kio-gui kf5-kconfig-core kf5-kdnssd kf5-kwayland kf5-kio-core kf5-purpose kf5-kactivities-stats kf5-kdbusaddons kf5-kguiaddons kf5-kcodecs kf5-prison kf5-baloo kf5-kded kf5-knotifications kf5-krunner kf5-kio-widgets-libs kf5-karchive kf5-kglobalaccel kf5-knewstuff kf5-sonnet-ui kf5-solid kf5-kxmlgui kf5-kdelibs4support-libs kf5-kquickcharts breeze-icon-theme kf5-kfilemetadata kf5-kio-core-libs kf5-ktextwidgets kf5-ki18n kf5-kio-widgets kf5-plasma 5.89.0-1.fc35 -> 5.90.0-1.fc35
kf5-kholidays 1:5.89.0-1.fc35 -> 1:5.90.0-1.fc35 kscreen kdesu 1:5.23.4-1.fc35 -> 1:5.23.5-1.fc35
plasma-discover-notifier libksysguard plasma-discover-libs plasma-disks plasma-breeze libkworkspace5 kscreenlocker plasma-browser-integration kwin-libs plasma-vault pam-kwallet kactivitymanagerd breeze-gtk-common plasma-nm-openvpn plasma-desktop plasma-discover-flatpak kde-gtk-config plasma-workspace-geolocation-libs xdg-desktop-portal-kde plasma-workspace-common plasma-workspace-wayland plasma-drkonqi plasma-nm-openconnect kmenuedit bluedevil khotkeys plasma-workspace-libs plasma-nm oxygen-sound-theme kdeplasma-addons layer-shell-qt plasma-lookandfeel-fedora kwayland-integration sddm-kcm kwin plasma-systemmonitor plasma-discover sddm-breeze plasma-systemsettings plasma-workspace kde-cli-tools libksysguard-common kwin-common breeze-gtk-gtk4 powerdevil plasma-milou plasma-breeze-common plasma-thunderbolt plasma-integration ksystemstats plasma-workspace-geolocation kwin-x11 plasma-desktop-doc kdecoration plasma-pa polkit-kde kwrited breeze-cursor-theme kinfocenter breeze-gtk-gtk3 libkscreen-qt5 kwayland-server plasma-workspace-x11 kwin-wayland plasma-nm-vpnc 5.23.4-1.fc35 -> 5.23.5-1.fc35
rpm-ostree-libs rpm-ostree 2022.1-2.fc35 -> 2022.1.40.g66d86114-1.fc35
LocalPackages: rpm-ostree-debuginfo-2022.1.40.g66d86114-1.fc35.x86_64 rpm-ostree-libs-debuginfo-2022.1.40.g66d86114-1.fc35.x86_64
Host system details
Latest Fedora Kinoite 35, thus rpm-ostreee from Fedora 35.
Expected vs actual behavior
I was writing a new blog post and I tried running:
With the mentioned copr repos added on the host and a long list of packages in the list.
This crashed the daemon right after fetching the repo metadata.
Coredump info
From coredumpctl: