Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Nov 2014 01:26:17 +0100
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        Chris H <bsd-lists@bsdforge.com>
Cc:        FreeBSD STABLE <freebsd-stable@freebsd.org>, FreeBSD ports <freebsd-ports@FreeBSD.org>
Subject:   Re: How to recover local.sqlite (pkg(8) problem)
Message-ID:  <20141119002617.GO48896@ivaldir.etoilebsd.net>
In-Reply-To: <20141119002126.GN48896@ivaldir.etoilebsd.net>
References:  <61ee02eda8e8d3c86fadc175453ffb68@ultimatedns.net> <20141119002126.GN48896@ivaldir.etoilebsd.net>

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

--hXth9cGL35Nvpk4x
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 19, 2014 at 01:21:27AM +0100, Baptiste Daroussin wrote:
> On Tue, Nov 18, 2014 at 04:18:33PM -0800, Chris H wrote:
> > Greetings,
> >  During the building of a meta-port in the ports tree. My
> > /var/db/pkg/local.sqlite database became corrupted. I
> > spent some time, both with the pkg man pages, and with
> > sqlite3 itself attempting to use one of the backups
> > created by periodic(8). Located in /var/backups. But all
> > to no avail. For the record, I used
> > pkg backup -r /var/backup/pkg.sql.xz, as well as unpacking
> > a copy of that file, and issuing the same. Moving (renaming)
> > the corrupted database aside, prior to. I also issued
> > sqlite3 local.sqlite
> > followed by
> > read pkg.sql
> > and
> > quit
> > went w/o issue. But issuing
> > pkg info
> > emitted several error messages. Which appeared to be from
> > sqlite3(8).
> > This is on RELENG_9, w/source, and kernel world from about
> > 1 week ago. I know that the backup is in good shape, as I
> > had been using it w/o issue.
> > Is this a bug?
> >=20
> > Thank you for all your time, and consideration.
> >=20
> This is really surprising and first time this can of things get reported,=
 can
> you provide me the the pkg.sql.xz file?
>=20
> Are you runing on nfs? if yes start the lockd first (pkg should fallback =
on a
> working solution (I need to check for pkg backup) but sqlite3 cli tool do=
es not
> and sqlite3 cli tool on nfs without proper locking is known to corrupt da=
tabase
> file.
>=20
> Best regards,
> Bapt

Right checked I forgot to add the lock workaround on pkg backup I'll fix in
1.4.0 in the mean time you just have to start lockd (service lockd start) a=
nd
the recovery will just work.

It might have been corrupted because a background backup (without the proper
lock workaround) happened at the same time you were via the ports tree runn=
ing
the pkg command.

Best regards,
Bapt

--hXth9cGL35Nvpk4x
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iEYEARECAAYFAlRr46kACgkQ8kTtMUmk6EzqBQCgpNhn7amV9M3kLCCGW2Gt4Zle
9VwAnjUBZdn5hhxIm06yEgQeThNqXgla
=4yjF
-----END PGP SIGNATURE-----

--hXth9cGL35Nvpk4x--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141119002617.GO48896>