Tumbleweed crashed during updates now " system cannot recover"

HI guys
Last update of

linux-f5tb:/home/Kilbert # zypper dup --no-allow-vendor-change

crashed my system I cannot login to gnowe or kde, ( i receive a system cannot recover" screen)

however icewm is running (and how i am typing this out)

I tried to continue the updates:

In cache nautilus-totem-3.26.0-3.3.x86_64.rpm                                                                                                                                                                                                                                           (431/431),  68.6 KiB ( 34.9 KiB unpacked)
Checking for file conflicts: ..............................................................................................................................................................................................................................................................................................[done]
(  1/438) Removing seahorse-3.20.0-2.7.x86_64 ............................................................................................................................................................................................................................................................................[error]
Removal of (72566)seahorse-3.20.0-2.7.x86_64(@System) failed:
Error: Subprocess failed. Error: RPM failed: error: package seahorse-3.20.0-2.7.x86_64 is not installed

Abort, retry, ignore? [a/r/i] (a): i
(  2/438) Installing: apparmor-abstractions-2.12-2.1.noarch ...............................................................................................................................................................................................................................................................[done]
(  3/438) Installing: apparmor-parser-lang-2.12-2.1.noarch ...............................................................................................................................................................................................................................................................[error]
Installation of apparmor-parser-lang-2.12-2.1.noarch failed:
Error: Subprocess failed. Error: RPM failed: error: db4 error(-30986) from dbcursor->c_get: DB_PAGE_NOTFOUND: Requested page not found
error: error(-30986) getting "System/Localization" records from Group index: DB_PAGE_NOTFOUND: Requested page not found
error: apparmor-parser-lang-2.12-2.1.noarch: install failed

Abort, retry, ignore? [a/r/i] (a): i
(  4/438) Installing: breeze5-icons-5.41.0-1.1.noarch ....................................................................................................................................................................................................................................................................[error]
Installation of breeze5-icons-5.41.0-1.1.noarch failed:
Error: Subprocess failed. Error: RPM failed: Command was killed by signal 11 (Segmentation fault).
Abort, retry, ignore? [a/r/i] (a): a
Problem occurred during or after installation or removal of packages:
Installation aborted by user
Please see the above error message for a hint.
linux-f5tb:/home/Kilbert # ^C
linux-f5tb:/home/Kilbert # zypper lr-d
Unknown command 'lr-d'
Type 'zypper help' to get a list of global options and commands.

In case 'lr-d' is not a typo it's probably not a built-in command, but provided as a subcommand or plug-in (see 'zypper help subcommand').
In this case a specific package providing the subcommand needs to be installed first. Those packages are often named 'zypper-lr-d' or 'zypper-lr-d-plugin'.
linux-f5tb:/home/Kilbert # zypper lr -d
Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                               | Name                        | Enabled | GPG Check | Refresh | Priority | Type     | URI                                                                       | Service
---+-------------------------------------+-----------------------------+---------+-----------+---------+----------+----------+---------------------------------------------------------------------------+--------
 1 | Libdvdcss                           | Libdvdcss                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md   | http://opensuse-guide.org/repo/openSUSE_Tumbleweed/                       |        
 2 | OpenSuseNetwork                     | OpenSuseNetwork             | Yes     | (r ) Yes  | No      |   99     | rpm-md   | http://download.opensuse.org/repositories/network/openSUSE_Tumbleweed/    |        
 3 | Packman-Tumbleweed                  | Packman-Tumbleweed          | Yes     | (r ) Yes  | Yes     |   99     | rpm-md   | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/       |        
 4 | Plex                                | Plex                        | Yes     | ( p) Yes  | Yes     |   99     | plaindir | dir:///home/Kilbert/Downloads/Plex/Repo                                   |        
 5 | PlexRepo                            | PlexRepo                    | No      | ----      | ----    |   99     | NONE     | https://downloads.plex.tv/repo/rpm/x86_64/                                |        
 6 | http-download.opensuse.org-9d6a228c | KDE:Extra                   | Yes     | (r ) Yes  | Yes     |   99     | rpm-md   | http://download.opensuse.org/repositories/KDE:/Extra/openSUSE_Tumbleweed/ |        
 7 | openSUSE-20160720-0                 | openSUSE-Tumbleweed-oss     | Yes     | (r ) Yes  | Yes     |   99     | yast2    | http://download.opensuse.org/tumbleweed/repo/oss/                         |        
 8 | repo-debug                          | openSUSE-Tumbleweed-Debug   | No      | ----      | ----    |   99     | NONE     | http://download.opensuse.org/debug/tumbleweed/repo/oss/                   |        
 9 | repo-non-oss                        | openSUSE-Tumbleweed-Non-Oss | Yes     | (r ) Yes  | Yes     |   99     | yast2    | http://download.opensuse.org/tumbleweed/repo/non-oss/                     |        
10 | repo-source                         | openSUSE-Tumbleweed-Source  | No      | ----      | ----    |   99     | NONE     | http://download.opensuse.org/source/tumbleweed/repo/oss/                  |        
11 | repo-update                         | openSUSE-Tumbleweed-Update  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md   | http://download.opensuse.org/update/tumbleweed/                           |        
linux-f5tb:/home/Kilbert # ^C

Is there a way to repair the installation?
thansk
JOhn KIlbert

Forgot to say
I f I try zypper up, it says to upgrade with zypper dup.

Your RPM database is corrupted.

Run “sudo rpmdb --rebuilddb” and hope it can repair it… (no output is ok)

Btw, seems you are using GDM as displaymanager. AFAIK this will always crash the graphical session when installing certain updates (at least that was the case in the past, that’s why GNOME’s updater does offline updates by default, i.e. they are installed when shutting down or booting the system).

So, better install updates in text mode, or use “screen” so that the updates are not interrupted when the graphical session crashes.
You can also switch to a different display manager using “sudo update-alternatives --config default-displaymanager” if you prefer (I’m not aware of similar problems with other ones), that would probably also “fix” your “system cannot recover” error (which, I think comes from GDM).

Tried to update as you suggested the RPM database rebuild seem to go fine. When the updates were installing I bus - gtk 32-bit crash the system while updating, I happened to catch it while I was walking by. On reboot I received a message similar to Kernel Panic and I can no longer boot my system. Any suggestions on how to proceed

That’s a problem of the recent security fixes, they cause 32bit applications on some (AMD-only?) systems to crash.
Kernel 4.14.13 should fix that.

On reboot I received a message similar to Kernel Panic and I can no longer boot my system. Any suggestions on how to proceed

Does it work if you boot the previous kernel?
(“Advanced Options” in the boot menu)

Otherwise please post a picture of the kernel panic at least.
Without any further information, nobody can even try to guess what the problem may be.

It boots but it says failed to start X display manager

The previous kernel?

Well, that’s a step forward, isn’t it?

I’d suggest to run “zypper dup” in text mode to continue the apparently aborted update.

You could also try to run startx as root, and post the error message you get.

I had a similar problem a few days ago, it turns out several X11 libraries became corrupted and I had to reinstall them with

zypper in -f NAMEOFLIBRARY

Maybe you can guess which ones became corrupted by taking a look at the x log? I’m thinking .xsession-errors, perhaps?

Yes, that might likely be the case here.
Or just an incompatible mixture that a normal “zypper dup” would fix.

Maybe you can guess which ones became corrupted by taking a look at the x log? I’m thinking .xsession-errors, perhaps?

Hopefully the output of startx would show.

GDM redirects all output to the systemd journal, i.e. there is no X log nor .xsession-errors (which would contain output from the user session only anyway, which is irrelevant here as X fails to start already)

@ kilbert: Maybe “sudo systemctl status display-manager” would show some further clues as well.

I get an error when I do start X " not start KDE i n i t 5 check your install"

System control status shows an error user / live 64 / libicui18n. So. 60.2 file Too Short error

Rerunning zypper dup list about 88 packages that need to be removed however when i go to remove them it says they are already removed. Hitting i on some of them provide signal 11 segmentation fault others just say RPM failed: whatever file is not installed

Don’t know if anybody already suggested

su -c 'rpm --rebuilddb'

So this file is corrupted/truncated.

Run this to fix it:

sudo zypper in -f libicu60_2

Rerunning zypper dup list about 88 packages that need to be removed however when i go to remove them it says they are already removed. Hitting i on some of them provide signal 11 segmentation fault others just say RPM failed: whatever file is not installed

You’re still on the older kernel now, right?

Add ‘nopti’ to the boot options then, that should avoid the crash of 32bit applications.

Yes, that fixed the original problem.

But his system crashed afterwards while installing all updates, that’s where we are now…

Not that this helps anyone, but I encountered the same problem with my system shutting down during a recent update. I tried rebuilding the system’s RPM database but to no avail. Finally, I wound up just biting the bullet and performing a full reinstall of Tumbleweed. I do wish better luck than I had in fixing my system to anyone encountering this issue. My next question would be… is it now recommended that updates only be performed from outside of the Desktop Environment?

There are backups of the database in /var/adm/backup/rpmdb/ which you can copy back, or you could just create a new one with “rpmdb --reinitdb” (of course rpm, and zypper as a consequence, will think then there are no packages installed…)

My next question would be… is it now recommended that updates only be performed from outside of the Desktop Environment?

Sure, it’s safer, especially for large updates that replace half the system underneath your desktop.
This is being mentioned here, which actually is about upgrades from one openSUSE release to the next, but IMHO partly applies to Tumbleweed too (where every snapshot is more or less a new “release”, though not all packages change everytime of course)
https://en.opensuse.org/SDB:System_upgrade#Running_the_Upgrade
(which actually is about upgrades from one openSUSE release to the next, but applies to Tumbleweed too where every snapshot is more or less a new “release”, though not all packages change everytime of course)

Or, as I wrote already, at least you could use screen to prevent the update from being interrupted if the desktop “crashes”.

Especially gdm seems to be sensitive to certain updates, as I mentioned.

I never had such a problem in KDE/Plasma (with kdm as login manager) though, even with full upgrades from one openSUSE version to the next.

Thanks for the information Wolfi! I am sure this knowledge will be extremely helpful to others, myself included! :slight_smile:

OK I bit the bullet and reinstalled. I tried everything mentioned here, and nothing seemed to work.

System is much smoother now (and i boots too lol) I don’t want to mess up so I am confused :

what is the right way to update? I always went to konsole and “zypper dup --no-allow-vendor-change” Is that not proper?

System shows about 450 updates to perform…

–no-allow-vendor-change is not required it is default now

How Do I do this?