Bug 480510
Summary: | [ppc64] Crash when called by rpm.ppc64 | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jan Kratochvil <jan.kratochvil> |
Component: | compat-db | Assignee: | Jindrich Novy <jnovy> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | high | Docs Contact: | |
Priority: | low | ||
Version: | rawhide | CC: | jnovy, loganjerry, pknirsch, pmatilai |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | ppc64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2009-02-18 21:14:26 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 486423 |
Description
Jan Kratochvil
2009-01-18 00:12:06 UTC
The crash should be gone as of current rawhide due to using db 4.7.x instead of 4.5.x. Doesn't mean the db environment can actually be shared between 32/64bit processes (you just get an error message instead), but that's really been the case AFAIK. Thanks, confirming as fixed: $ rpm -qv rpm rpm-4.6.0-4.fc11.ppc $ ./rpm.ppc64/usr/bin/rpmquery -qv rpm rpmdb: Build signature doesn't match environment error: db4 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages index using db3 - (-30971) error: cannot open Packages database in /var/lib/rpm rpmdb: Build signature doesn't match environment error: db4 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages database in /var/lib/rpm package rpm is not installed gdb.ppc64 also no longer crashes. Just the gdb rpmdb queries support does not work there due to rpmdb being in the ppc32 format. I was not aware of this incompatibility. Hmm. There's an extra gotcha here: the *database* is 32/64bit portable, the db environment is not. Going through the environment is the means to safe concurrent access to the db, but it is only used/usable with sufficient permissions to the rpmdb directory. Otherwise "private" locking (which is just about as good as no locking, but mostly works for read-only purposes) is used: [pmatilai@localhost ~]$ rpm -q --dbpath /var/lib/mock/fedora-rawhide-i386/root/var/lib/rpm/ glibc glibc-2.9.90-3.i686 [pmatilai@localhost ~]$ su Password: [root@localhost pmatilai]# rpm -q --dbpath /var/lib/mock/fedora-rawhide-i386/root/var/lib/rpm/ glibc rpmdb: Build signature doesn't match environment error: db4 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages index using db3 - (-30971) error: cannot open Packages database in /var/lib/mock/fedora-rawhide-i386/root/var/lib/rpm rpmdb: Build signature doesn't match environment error: db4 error(-30971) from dbenv->open: DB_VERSION_MISMATCH: Database environment version mismatch error: cannot open Packages database in /var/lib/mock/fedora-rawhide-i386/root/var/lib/rpm package glibc is not installed In default Fedora setup, this equals to 32/64bit gdb accessing rpmdb working for regular users but not for root. Fun isn't it... |