NetBSD Problem Report #54488
From gson@gson.org Mon Aug 26 08:38:38 2019
Return-Path: <gson@gson.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
by mollari.NetBSD.org (Postfix) with ESMTPS id 9F39F7A14B
for <gnats-bugs@gnats.NetBSD.org>; Mon, 26 Aug 2019 08:38:38 +0000 (UTC)
Message-Id: <20190826083835.4FB73989382@guava.gson.org>
Date: Mon, 26 Aug 2019 11:38:35 +0300 (EEST)
From: gson@gson.org (Andreas Gustafsson)
Reply-To: gson@gson.org (Andreas Gustafsson)
To: gnats-bugs@NetBSD.org
Subject: LFS tests log errors since 2019-08-22
X-Send-Pr-Version: 3.95
>Number: 54488
>Category: bin
>Synopsis: LFS tests log errors since 2019-08-22
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: brad
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Aug 26 08:40:00 +0000 2019
>Closed-Date: Sun Sep 01 13:40:57 +0000 2019
>Last-Modified: Sun Sep 01 13:40:57 +0000 2019
>Originator: Andreas Gustafsson
>Release: NetBSD-current, source date >= 2019.08.22.20.28.08
>Organization:
>Environment:
System: NetBSD
Architecture: x86_64
Machine: amd64
>Description:
Running the ATF tests now causes a lot of LFS releated error messages
to be logged, for example:
lfs_extendfile: Aug 23 15:18:40 lfs_cleanerd[22597]: couldn't convert '/dev/device0.lfs' ro raw name: No such file or directory
Aug 23 15:18:40 lfs_cleanerd[22597]: /mnt: couldn't init: error code -1
[4.201046s] Passed.
lfs_extendfile_append: Aug 23 15:18:44 lfs_cleanerd[20748]: couldn't convert '/dev/device0.lfs' ro raw name: No such file or directory
Aug 23 15:18:44 lfs_cleanerd[20748]: /mnt: couldn't init: error code -1
[4.022019s] Passed.
lfs_holywrite: Aug 23 15:18:48 lfs_cleanerd[21480]: couldn't convert '/dev/device0.lfs' ro raw name: No such file or directory
Aug 23 15:18:48 lfs_cleanerd[21480]: /mnt: couldn't init: error code -1
[3.524514s] Passed.
This started with the following commits:
2019.08.22.20.23.43 brad src/lib/libutil/getdiskrawname.c 1.6
2019.08.22.20.26.07 brad src/sbin/resize_lfs/resize_lfs.c 1.15
2019.08.22.20.28.08 brad src/libexec/lfs_cleanerd/lfs_cleanerd.c 1.59
The tests are passing despite the error messages.
Also, I'm guessing the "ro" should be "to".
>How-To-Repeat:
Run the ATF tests.
>Fix:
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: bin-bug-people->brad
Responsible-Changed-By: gson@NetBSD.org
Responsible-Changed-When: Mon, 26 Aug 2019 08:41:39 +0000
Responsible-Changed-Why:
Over to committer.
From: Brad Spencer <brad@anduin.eldar.org>
To: gnats-bugs@netbsd.org
Cc: brad@netbsd.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,
gson@NetBSD.org, gson@gson.org
Subject: Re: bin/54488 (LFS tests log errors since 2019-08-22)
Date: Mon, 26 Aug 2019 16:43:08 -0400
gson@NetBSD.org writes:
> Synopsis: LFS tests log errors since 2019-08-22
>
> Responsible-Changed-From-To: bin-bug-people->brad
> Responsible-Changed-By: gson@NetBSD.org
> Responsible-Changed-When: Mon, 26 Aug 2019 08:41:39 +0000
> Responsible-Changed-Why:
> Over to committer.
I am investigating... there may be a rumpism.. the atf test case for
LFS is also a bit unusual... it compiles and links into itself the
cleaner.
The usual cases work fine (test3 is a 9.99.10 DOMU from 2019-08-24):
test3# vnconfig vnd0 /var/tmp/dk.img
test3# disklabel -e vnd0a
test3# newfs_lfs vnd0a
Creating a version 2 LFS32 with roll-forward ident 0x5458c880
99.0MB in 99 segments of size 1048576
super-block backups (for fsck -b #) at:
16, 18432, 36864, 55296, 73728, 92160, 110592, 129024, 147456, 165888.
test3# mount -t lfs /dev/vnd0a /mnt
test3# df -t lfs
Filesystem 1K-blocks Used Avail %Cap Mounted on
/dev/vnd0a 80785 8 72697 0% /mnt
test3# ps -auxww|grep lfs
root 1637 0.0 0.0 22404 1692 ? Ss 4:22PM 0:00.00 /libexec/lfs_cleanerd -b -n 4 /mnt
root 648 0.0 0.0 17944 1576 pts/0 S+ 4:22PM 0:00.00 grep lfs
test3# zfs create -V 100m tank/lfstest
test3# newfs_lfs -F /dev/zvol/rdsk/tank/lfstest
Creating a version 2 LFS32 with roll-forward ident 0x721616f9
99.0MB in 99 segments of size 1048576
super-block backups (for fsck -b #) at:
16, 18432, 36864, 55296, 73728, 92160, 110592, 129024, 147456, 165888.
test3# mount -t lfs /dev/zvol/dsk/tank/lfstest /mnt
test3# df -t lfs
Filesystem 1K-blocks Used Avail %Cap Mounted on
/dev/zvol/dsk/tank/lfstest 80785 8 72697 0% /mnt
test3# ps -auxww|grep lfs
root 1492 0.0 0.0 25452 1688 ? Ss 4:28PM 0:00.00 /libexec/lfs_cleanerd -b -n 4 /mnt
root 905 0.0 0.0 19400 1580 pts/0 S+ 4:28PM 0:00.00 grep lfs
test3# disklabel -e xbd3
test3# newfs_lfs /dev/rxbd3a
Creating a version 2 LFS32 with roll-forward ident 0x110f9ec5
1999.0MB in 1999 segments of size 1048576
super-block backups (for fsck -b #) at:
16, 407552, 815104, 1222656, 1630208, 2037760, 2445312, 2852864, 3260416,
3667968.
test3# mount -t lfs /dev/xbd3a /mnt
test3# df -t lfs
Filesystem 1K-blocks Used Avail %Cap Mounted on
/dev/xbd3a 1843049 8 1658730 0% /mnt
test3# ps -auxww|grep lfs
root 1432 0.0 0.0 22408 1772 ? Ss 4:29PM 0:00.00 /libexec/lfs_cleanerd -b -n 4 /mnt
root 1557 0.0 0.0 19368 1572 pts/0 S+ 4:29PM 0:00.00 grep lfs
There is a problem with rump, but I am not sure I broke that:
test3# mount -o rump -t lfs /dev/xbd3a /mnt
rump_lfs: rump_lfs: puffs_daemonmount: Device busy
: Device busy
Oddly, it almost works with the raw device:
test3# mount -o rump -t lfs /dev/rxbd3a /mnt
[ 1.0300090] WARNING: the log-structured file system is experimental
[ 1.0300090] WARNING: it may cause system crashes and/or corrupt data
test3# lfs_cleanerd[1621]: couldn't convert '/dev/rxbd3a' ro raw name: Inappropriate file type or format
lfs_cleanerd[1621]: /mnt: couldn't init: error code -1
lfs_cleanerd[1621]: : detaching cleaner
This one may be my fault, if lfs_cleanerd needs to work on files. I
will test that (and the above with the raw device):
test3# mount -o rump -t lfs /var/tmp/dk.img /mnt
[ 1.0300090] WARNING: the log-structured file system is experimental
[ 1.0300090] WARNING: it may cause system crashes and/or corrupt data
test3# lfs_cleanerd[1444]: couldn't convert '/var/tmp/dk.img' ro raw name: Inappropriate file type or format
lfs_cleanerd[1444]: /mnt: couldn't init: error code -1
lfs_cleanerd[1444]: : detaching cleaner
However, something else may be very wrong:
test3# df
Filesystem 1K-blocks Used Avail %Cap Mounted on
/dev/xbd0a 10079822 2069410 7506422 21% /
rstuff/var 409600 267402 142198 65% /var
tmpfs 1048576 4 1048572 0% /var/shm
tmpfs 1048576 4 1048572 0% /tmp
kernfs 1 1 0 100% /kern
ptyfs 1 1 0 100% /dev/pts
procfs 4 4 0 100% /proc
rstuff 1630548 23 1630525 0% /rstuff
/var/tmp/dk.img 80777 8 72689 0% /mnt
test3# df -t lfs
test3# ls -l /mnt
test3# touch /mnt/A
[ 104.7700090] panic: kernel diagnostic assertion "*vpp == NULL" failed: file "/usr/src/sys/rump/fs/lib/liblfs/../../../../ufs/lfs/lfs_vnops.c", line 879
[ 104.7700090] rump kernel halting...
halted
touch: /mnt/A: Device not configured
LFS will more or less work just fine a lot of the time without the
cleaner running, at least in my experience.
State-Changed-From-To: open->feedback
State-Changed-By: brad@NetBSD.org
State-Changed-When: Fri, 30 Aug 2019 23:53:32 +0000
State-Changed-Why:
Commited fixes that are believe to have dealt with the problem.
State-Changed-From-To: feedback->closed
State-Changed-By: gson@NetBSD.org
State-Changed-When: Sun, 01 Sep 2019 13:40:57 +0000
State-Changed-Why:
The messages are gone as of source date 2019.08.30.23.45.13. Thanks.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.