[BUG?] pkg: Cannot get a read lock on a database, it is locked by another process

Stefan Esser se at freebsd.org
Mon Jul 28 11:00:27 UTC 2014


Am 28.07.2014 um 11:46 schrieb Baptiste Daroussin:
> On Mon, Jul 28, 2014 at 11:36:43AM +0200, Stefan Esser wrote:
>> Hi Baptiste,
>> 
>> my mail to the ports maillist has not been answered, but I think 
>> what I describe is a real issue: Simultaneous "pkg" commands can 
>> lock-out each other in such a way, that one of the commands
>> fails.
>> 
>> This is not expected in existing scripts (e.g. portmaster),
>> which assume a permanent failure, when in fact the cause was a
>> temporary access restriction.
>> 
>> I do not like the fact, that read operations (from the point of 
>> view of the user, e.g. "pkg info") now fails when other
>> processes are also only reading the database.
>> 
>> But I think that aborted updates to the package database (e.g.
>> if a package has been installed, but cannot be registered due to
>> other pkg commands having a read lock) are a bigger problem,
>> since they may leave a system in an inconsistent state.
>> 
>> Shall I open a PR on this topic or is it already on your to-do
>> list?
>> 
>> Regards, STefan
>> 
> This is fixed with pkg 1.3 :)

Hi Bapt,

thank you for your reply, but I waited for 1.3.0 to be released
(had tested pkg-devel and noticed this effect, but thought it
might be a temporary problem) before posting to the ports@ list.

I just retried with pkg-1.3.2:

# pkg check -Bs
^Z
[1]+  Stopped              pkg check -Bs
# pkg info
pkg: Cannot get a read lock on a database, it is locked by another process

I never hit this problem with pkg-1.2.x ...

But it makes it impossible to e.g. run "pkg check -B" (or pkg_libchk)
in one window and issue "portmaster $PORT_WITH_MISSING_LIB" in
another. Not that this is required functionality, but in the same
way other scripted uses of pkg collide with each other ...

> btw usually to hit more people on pkg adding pkg@ in CC is a good
> idea.

Thanks, I did not know that list existed. CC is added and I'll
subscribe to the list ...

Regards, STefan


More information about the freebsd-pkg mailing list