Puppet: System Administration Automated

Support

Ticket #1038 (closed defect: worksforme)

Opened 10 months ago

Last modified 8 months ago

puppet 0.24.1 locking rpm database

Reported by: jay Assigned to: lutter
Priority: normal Milestone: unplanned
Component: client Version: 0.24.1
Severity: major Keywords:
Cc: Triage Stage: Accepted
Attached Patches: None Complexity: Unknown

Description

I am seeing this on about 90% of my hosts. puppet 0.24.1 w/ the cacrl patch from #969 a mix of cent 5 and cent 5.1


puppetd[23465]: Could not prefetch package provider 'yum': Execution of '/usr/bin/python /usr/lib/ruby/site_ruby/1.8/puppet/provider/package/yumhelper.py' returned 256: Loading "installonlyn" plugin rpmdb: Lock table is out of available locker entries rpmdb: Unknown locker ID: 2255 error: db4 error(22) from db->close: Invalid argument error: cannot open Providename index using db3 - Cannot allocate memory (12) Traceback (most recent call last):   File "/usr/lib/ruby/site_ruby/1.8/puppet/provider/package/yumhelper.py", line 31, in ?     ypl = pkg_lists()   File "/usr/lib/ruby/site_ruby/1.8/puppet/provider/package/yumhelper.py", line 28, in pkg_lists     return my.doPackageLists('updates')   File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 994, in doPackageLists     self.doRepoSetup()   File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 306, in doRepoSetup     repo.setup(self.conf.cache)   File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 498, in setup   

Attachments

yumhelper.py (0.9 kB) - added by lutter on 02/08/08 20:52:01.
yumhelper that is a little more paranoid about closing the rpmdb

Change History

02/05/08 07:36:55 changed by luke

  • owner changed from community to lutter.
  • stage changed from Unreviewed to Accepted.
  • severity changed from normal to major.
  • milestone set to 0.24.2.

lutter, any idea on this one?

02/08/08 20:51:06 changed by lutter

  • status changed from new to assigned.

Can you try the attached and modified yumhelper.py ? It's a little more paranoid about closing the rpmdb.

If that doesn't help: are you 100% sure there are no other processes on the affected system that open the rpmdb ? IIRC, there are a couple of cronjobs that run some rpm commands, e.g. /etc/cron.daily/rpm

02/08/08 20:52:01 changed by lutter

  • attachment yumhelper.py added.

yumhelper that is a little more paranoid about closing the rpmdb

02/25/08 19:14:40 changed by lutter

  • stage changed from Accepted to Needs more info.

After talking with Panu (the RPM maintainer), it seems that this is connected to https://bugzilla.redhat.com/show_bug.cgi?id=245389

In a nutshell, the problem is caused by some process crashing while holding locks to the rpmdb (and doing that _a lot_) RPM in Fedora 8 and later is more tolerant to this problem, but in RHEL 5 it gets grumpy when that happens.

Unfortunately, it is a total mystery which process keeps crashing; without logs showing whether it is yumhelper (or if it's yumhelper at all) it is impossible to fix this problem.

To be on the safe side, I am committing the more paranoid yumhelper version, even though it didn't seem to fix the problem when jay tested it -- at least, it didn't make it any worse.

02/25/08 19:37:05 changed by lutter

This is change 621b60 on my 0.24.x branch - be extremely careful when you pull. I might have screwed up the master branch in my repo

02/25/08 19:53:57 changed by lutter

Errr ... the actual change is f0975df on the 0.24.x branch. Haven't merged it into master

02/28/08 23:32:02 changed by luke

  • milestone changed from 0.24.2 to unplanned.

Pushed. I'm leaving this ticket open, but bumping it to a later release.

04/08/08 17:54:11 changed by luke

  • stage changed from Needs more info to Accepted.

What ever happened to this patch?

04/09/08 03:19:43 changed by luke

  • status changed from assigned to closed.
  • resolution set to worksforme.

According to Jason Aras: "I think this turned out to be a known rpm issue."

Thus, closing.