firewall failed

Hello,

I am trying to open firewall from YAST. But it always failed with meassges:

Subprocess failed. Error: RPM failed: error: rpmdb: Thread/process 172944/47416938325184 failed: Thread died in Berkeley DB library
error: db4 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db4 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
warning: /var/cache/zypp/packages/SUSE_Linux_Enterprise_Desktop_12_SP3_x86_64:SLED12-SP3-Updates/noarch/SuSEfirewall2-3.6.312.333-3.13.1.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 39db7c82: NOKEY
error: rpmdb: Thread/process 172944/47416938325184 failed: Thread died in Berkeley DB library
error: db4 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db4 -  (-30974)
error: cannot open Packages database in /var/lib/rpm

Thank you very much.

Hi,

try the recovery steps mentioned here. Helped me a couple of times.

Regards

thanks a lot for the comments.

I tried all these steps. But when I click firewall2 in YAST, it asked me to install it. Then it failed with messages:

Could you paste the output of

host:~ # rpm -qa | grep firewall SuSEfirewall2-3.6.312.333-4.1.noarch yast2-firewall-3.2.0-1.1.noarch
and then for every entry a

[CODE]host:~ # rpm -V SuSEfirewall2-3.6.312.333-4.1.noarch

host:~ # rpm -V yast2-firewall-3.2.0-1.1.noarch
[/CODE]
Maybe you have to reinstall the firewall. Is it possible that other packages are damaged, too? Have there been any changes to the system leading to a rpm-database corruption?

Hello,

THe output for the following command is empty. Nothing returned.

rpm -qa | grep firewall

Here is something for the last two commands

>rpm -V SuSEfirewall2-3.6.312.333-4.1.noarch
package SuSEfirewall2-3.6.312.333-4.1.noarch is not installed
>rpm -V yast2-firewall-3.2.0-1.1.noarch
package yast2-firewall-3.2.0-1.1.noarch is not installed

It is a little bit confused me that I use command line “zypper se firewall”, it seems that it had been installed. See the attached screenshot.

Since your rpm-db seems to be corrupted, the output of rpm -qa | grep firewall is expected. In the rpm -V command you need to provide your package version, I just added mine to make it clearer what it expects. To find your version run zypper info SuSEfirewall2 and use that version number or just take a look into your pasted output :D. But this won’t reveal anything due to the corrupted rpm-db. Are you sure that the rpm -v --rebuilddb command worked? Did you see any warning or error messages? Is the directory “/sbin/” okay? Are all your mountpoints mounted? All searches for your error message lead to a broken rpm-db, so maybe try to run those steps again (as root) and verify that the rebuild was ok. But don’t overwrite the first backup of Packages (Packages.orig) and try to recover from that.