Once I rebooted into the image, calling rpm-ostree install on a package results in a failure with the error message error: Writing rpmdb: Failed to update rpmdb (rpmtsRun code -1)
To Reproduce
Please describe the steps needed to reproduce the bug:
From a Silverblue install: sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/mripard/fedora-silverblue-image:43d531d1b27ebd16133dda150c38f9d7a6afd1e7
Reboot
Run sudo rpm-ostree install simple-scan (or any other package, really)
Expected behavior
The installation should run successfully, and the package should be installed on next reboot
OS version:
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: no runs since boot
BootedDeployment:
● ostree-unverified-registry:ghcr.io/mripard/fedora-silverblue-image:latest
Digest: sha256:7837a8ab99c0856d2ae1a736ef040fb8a21a95c8e85d1320f9db506c88171bee
Version: 38.20230603.0 (2023-06-03T12:23:05Z)
Additional context
Here's the entire rpm-ostree install output:
It seems like it has something to do with the rpmdb sqlite database not being in a proper state:
Jun 03 17:48:30 houat systemd[1]: Starting rpm-ostreed.service - rpm-ostree System Management Daemon...
Jun 03 17:48:30 houat rpm-ostree[10122]: Reading config file '/etc/rpm-ostreed.conf'
Jun 03 17:48:30 houat rpm-ostree[10122]: In idle state; will auto-exit in 62 seconds
Jun 03 17:48:30 houat systemd[1]: Started rpm-ostreed.service - rpm-ostree System Management Daemon.
Jun 03 17:48:30 houat rpm-ostree[10122]: client(id:cli dbus:1.171 unit:vte-spawn-2a3dd655-9f8e-499a-b40f-7bcf487ecff6.scope uid:0) added; new total=1
Jun 03 17:48:30 houat rpm-ostree[10122]: Loaded sysroot
Jun 03 17:48:30 houat rpm-ostree[10122]: Locked sysroot
Jun 03 17:48:30 houat rpm-ostree[10122]: Initiated txn PkgChange for client(id:cli dbus:1.171 unit:vte-spawn-2a3dd655-9f8e-499a-b40f-7bcf487ecff6.scope uid:0): /org/projectatomic/rpmostree1/fedora
Jun 03 17:48:30 houat rpm-ostree[10122]: Process [pid: 10115 uid: 0 unit: user@1000.service] connected to transaction progress
Jun 03 17:48:30 houat rpm-ostree[10122]: Librepo version: 1.15.1 with CURL_GLOBAL_ACK_EINTR support (libcurl/8.0.1 OpenSSL/3.0.8 zlib/1.2.13 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh/0.10.5/openssl/zlib nghttp2/1.52.0)
Jun 03 17:48:30 houat rpm-ostree[10122]: erreur : SELECT hnum, blob FROM 'Packages': 11: database disk image is malformed
Jun 03 17:48:30 houat rpm-ostree[10122]: erreur : SELECT hnum, blob FROM 'Packages': 11: database disk image is malformed
Jun 03 17:48:32 houat rpm-ostree[10122]: erreur : SELECT hnum, blob FROM 'Packages': 11: database disk image is malformed
Jun 03 17:48:33 houat rpm-ostree[10122]: Preparing pkg txn; enabled repos: ['fedora-cisco-openh264', 'fedora-modular', 'updates-modular', 'updates', 'fedora', 'rpmfusion-free-updates', 'rpmfusion-free', 'rpmfusion-nonfree-updates', 'rpmfusion-nonfree', 'tailscale-stable', 'copr:copr.fedorainfracloud.org:phracek:PyCharm', 'google-chrome', 'rpmfusion-nonfree-nvidia-driver', 'rpmfusion-nonfree-steam', 'updates-archive'] solvables: 102380
Jun 03 17:48:33 houat rpm-ostree[10122]: erreur : SELECT hnum, blob FROM 'Packages': 11: database disk image is malformed
Jun 03 17:48:33 houat rpm-ostree[10122]: No files matched %transfiletriggerin(lib) for glibc-common
Jun 03 17:48:33 houat rpm-ostree[10122]: No files matched %transfiletriggerin(lib64) for glibc-common
Jun 03 17:48:33 houat rpm-ostree[10122]: Executed %transfiletriggerin(glibc-common) for lib, lib64, usr/lib, usr/lib64 in 166 ms; 33511 matched files
Jun 03 17:48:33 houat rpm-ostree[10122]: Executed %transfiletriggerin(hicolor-icon-theme) for usr/share/icons/hicolor in 88 ms; 222 matched files
Jun 03 17:48:33 houat rpm-ostree[10122]: Executed %transfiletriggerin(glib2) for usr/lib64/gio/modules in 61 ms; 7 matched files
Jun 03 17:48:33 houat rpm-ostree[10122]: Executed %transfiletriggerin(glib2) for usr/share/glib-2.0/schemas in 71 ms; 112 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(systemd-udev) for usr/lib/udev/hwdb.d in 288 ms; 37 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(systemd-udev) for usr/lib/udev/rules.d in 22 ms; 118 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: No files matched %transfiletriggerin(usr/local/share/fonts) for fontconfig
Jun 03 17:48:34 houat rpm-ostree[10122]: No files matched %transfiletriggerin(usr/share/X11/fonts/TTF) for fontconfig
Jun 03 17:48:34 houat rpm-ostree[10122]: No files matched %transfiletriggerin(usr/share/X11/fonts/Type1) for fontconfig
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(fontconfig) for usr/local/share/fonts, usr/share/X11/fonts/TTF, usr/share/X11/fonts/Type1, usr/share/fonts in 71 ms; 240 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(shared-mime-info) for usr/share/mime in 23 ms; 877 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(gdk-pixbuf2) for usr/lib64/gdk-pixbuf-2.0/2.10.0/loaders in 85 ms; 14 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(appstream) for usr/share/app-info/xmls in 339 ms; 7 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(fedora-third-party) for usr/lib/fedora-third-party/conf.d in 98 ms; 3 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(highcontrast-icon-theme) for usr/share/icons/HighContrast in 85 ms; 3458 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(desktop-file-utils) for usr/share/applications in 27 ms; 86 matched files
Jun 03 17:48:34 houat rpm-ostree[10122]: Executed %transfiletriggerin(adwaita-icon-theme) for usr/share/icons/Adwaita in 84 ms; 2187 matched files
Jun 03 17:48:35 houat rpm-ostree[10122]: Executed %transfiletriggerin(gtk3) for usr/lib64/gtk-3.0/3.0.0/immodules in 76 ms; 1 matched files
Jun 03 17:48:35 houat rpm-ostree[10122]: Executed %transfiletriggerin(ibus) for usr/share/ibus/component in 163 ms; 10 matched files
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, blob FROM 'Packages': 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: sanitycheck(/usr/bin/true) successful
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, idx FROM 'Basenames' WHERE key=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : SELECT hnum, blob FROM 'Packages' WHERE hnum=?: 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : INSERT OR REPLACE INTO 'Packages' VALUES(?, ?): 11: database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : sqlite failure: RELEASE 'rwlock': database disk image is malformed
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : simple-scan-44.0-1.fc38.x86_64: installer échoué
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : sqlite failure: PRAGMA synchronous = FULL: Safety level may not be changed inside a transaction
Jun 03 17:48:35 houat rpm-ostree[10122]: erreur : sqlite failure: PRAGMA wal_checkpoint = TRUNCATE: database table is locked
Jun 03 17:48:35 houat rpm-ostree[10122]: Txn PkgChange on /org/projectatomic/rpmostree1/fedora failed: Writing rpmdb: Failed to update rpmdb (rpmtsRun code -1)
Jun 03 17:48:35 houat rpm-ostree[10122]: Unlocked sysroot
Jun 03 17:48:35 houat rpm-ostree[10122]: Process [pid: 10115 uid: 0 unit: user@1000.service] disconnected from transaction progress
Jun 03 17:48:35 houat rpm-ostree[10122]: client(id:cli dbus:1.171 unit:vte-spawn-2a3dd655-9f8e-499a-b40f-7bcf487ecff6.scope uid:0) vanished; remaining=0
Jun 03 17:48:35 houat rpm-ostree[10122]: In idle state; will auto-exit in 60 seconds
Jun 03 17:49:35 houat rpm-ostree[10122]: In idle state; will auto-exit in 60 seconds
Jun 03 17:49:35 houat systemd[1]: rpm-ostreed.service: Deactivated successfully.
Jun 03 17:49:35 houat systemd[1]: rpm-ostreed.service: Consumed 4.901s CPU time.
This doesn't happen when booting to the matching Fedora Silverblue image the OCI image is built from, so it looks like whatever happens in the Containerfile is causing that corruption, but it's not clear to me what, or how to reconstruct that DB properly.
Describe the bug I've rebased my Silverblue 38 install to an OCI image published on a Github registry.
The image is generated using that ContainerFile.
Once I rebooted into the image, calling rpm-ostree install on a package results in a failure with the error message
error: Writing rpmdb: Failed to update rpmdb (rpmtsRun code -1)
To Reproduce Please describe the steps needed to reproduce the bug:
sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/mripard/fedora-silverblue-image:43d531d1b27ebd16133dda150c38f9d7a6afd1e7
sudo rpm-ostree install simple-scan
(or any other package, really)Expected behavior The installation should run successfully, and the package should be installed on next reboot
OS version:
Additional context Here's the entire
rpm-ostree install
output:It seems like it has something to do with the rpmdb sqlite database not being in a proper state:
This doesn't happen when booting to the matching Fedora Silverblue image the OCI image is built from, so it looks like whatever happens in the Containerfile is causing that corruption, but it's not clear to me what, or how to reconstruct that DB properly.