Bug 58665
Summary: | RPM locks up in __os_yield_rpmdb | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Michael Meeks <michael> |
Component: | rpm | Assignee: | Jeff Johnson <jbj> |
Status: | CLOSED WORKSFORME | QA Contact: | |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2002-01-22 15:38:25 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: |
Description
Michael Meeks
2002-01-22 15:38:21 UTC
Try rm -f /var/lib/rpm/__db* Please reopen if that does not fix. And asking the user to remove some files is a fix ? - that makes me feel it isn't worth filing bugs against RPM, _Or_ is this already fixed in some development version ? Yes, removing the files is the fix. The underlying issue is that rpm is going to permit concurrent access to the database, using a dbenv (what's in rpm-4.0.3) is the 1st step. The complete solution is gonna require either a setgid helper and/or new kernel functionality, and that is gonna take more than coding in rpm. Sorry - I'm still unclear your statement is: The issue is that we have a half implemented feature shipping, and this can result in users totally loosing the ability to manage packages - and it's not going to be complete without a setgid helper and/or new kernel functionality and more hacking in rpm ? And in the meantime, users have to 'just know' that they need to su and remove files in a strange place on the disk ? Would you reccommend that automated tools always remove these files ? or ... And - I'm suprised that rpm presents any problem that would require new kernel functionality. Hmm. Sorry - I'm still unclear your statement is: The issue is that we have a half implemented feature shipping, and this can result in users totally loosing the ability to manage packages - and it's not going to be complete without a setgid helper and/or new kernel functionality and more hacking in rpm ? And in the meantime, users have to 'just know' that they need to su and remove files in a strange place on the disk ? Would you reccommend that automated tools always remove these files ? or ... And - I'm suprised that rpm presents any problem that would require new kernel functionality. Hmm. No, there is a fully implemented use of a dbenv in rpm-4.0.3. A dbenv is necessary for using other functionality within Berkeley DB. Read about interprocess and interthread locking in the db sources, what's missing in linux is pthread_mutexattr_setpshared() which AFAICT is gonna require kernel changes. No, red-carpet shouldn't remove the __db* files, they are removed when the database is opened by root. The problem that cannot be solved w/o setgid helper is r__db* emoval by non-root if created by root. In all instances I was opening the RPM database as root - and it persistantly failed to remove these files - and it stuck there and blocked. Strangely rpm --rebuilddb did remove the locks, and solved the problem for me; So again, I did nothing a normal user would not and I was screwed ;-) rpm-4.0.3? Yup, removal fixed in rpm-4.0.4. Lovely thanks; I feel thorougly reassured. |