[Yum-devel] A new ctrl-c gotcha/regression

Panu Matilainen pmatilai at laiskiainen.org
Mon Feb 14 17:15:05 UTC 2011


On 02/14/2011 06:38 PM, seth vidal wrote:
> On Mon, 2011-02-14 at 18:37 +0200, Panu Matilainen wrote:
>> Spotted while looking at something related: commit
>> e95f16d8342bc4dcdfde6b8858a8704bc4c1bdf8 causes yum to hold the rpmdb
>> open throughout the remaing package downloads after first signature
>> check happens. Which wont exactly help catching ctrl-c in timely manner...
>>
>> Perhaps the simplest bandaid would be adding an optional argument
>> sigCheckPkg() to automatically nuke the ts after checking and use it for
>> the call from within downloadPkgs(). The downside of this is that it'll
>> cause a bunch of rpmdb re-re-re-opens, depending on the number of repos
>> and their config. There's no helping that with rpm 4.4.x, but with>=
>> 4.6.x rpm doesn't actually need the database for signature checking, it
>> uses an in-memory keyring which is only initially populated from the
>> database.
>>
>> I'll try to come up with a remotely sane way to take advantage of the
>> behavior in newer versions when available (I've a patch but its just too
>> gross for public consumption), just thought I'd let you know of the
>> issue in case you find even more people are complaining about ctrl-c
>> behavior :)
>
> they are, thank you for finding this.
>
> out of curiosity - HOW did you track it down?

In general, "inotifywait -m --event=open,close /var/lib/rpm/" and
"db_stat -h /var/lib/rpm -Cl" are handy for watching what goes on with 
the rpmdb (inotifywait shows actual db opens + closes, db_stat shows 
locking + other details)

...but in this particular case I happened to be running with some extra 
debugging code to get a better idea where all the transaction sets are 
coming from and what they get used for.

	- Panu -




More information about the Yum-devel mailing list