Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Apr 2013 07:42:30 +0000
From:      "Eggert, Lars" <lars@netapp.com>
To:        "current@freebsd.org" <current@freebsd.org>
Subject:   newnfs pkgng database corruption?
Message-ID:  <4C9A5BAE-8607-4E3A-8E69-E3993EA9873F@netapp.com>

next in thread | raw e-mail | index | archive | help

Hi,

on a diskless server, I keep the ports tree and pkgng databases on a newnfs NFSv4 mount. After a bunch of "portmaster -a" runs, the pkgng sqlite database appears to get corrupted. For example, when I try to update an existing port, this happens:

root@five:~ # portmaster ports-mgmt/pkg
...
===>   Registering installation for pkg-1.0.11
Installing pkg-1.0.11...pkg: sqlite: database disk image is malformed (pkgdb.c:925)
pkg: sqlite: database disk image is malformed (pkgdb.c:1914)
*** [fake-pkg] Error code 70

I have removed all ports and the pkgng databases and reinstalled, but the corruption seems to return after a few days or weeks of installing and deinstalling ports.

On another system that has a disk, that corruption of the pkgng database has not happened over six months or so. I therefore wonder if storing the sqlite database on an NFS-mount is triggering some sort of bug, either in pkgng or in newnfs. AFAIK, pkgng is using locks on the database quite liberally, could that be where a bug is lurking?

I'm happy to help debug this, but someone would need to let me know what to try.

Thanks,
Lars


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C9A5BAE-8607-4E3A-8E69-E3993EA9873F>