NetBSD Problem Report #55945

From gson@gson.org  Fri Jan 22 14:49:11 2021
Return-Path: <gson@gson.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_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 3E9DD1A923B
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 22 Jan 2021 14:49:11 +0000 (UTC)
Message-Id: <20210122144853.1EBC3253EDE@guava.gson.org>
Date: Fri, 22 Jan 2021 16:48:53 +0200 (EET)
From: gson@gson.org (Andreas Gustafsson)
Reply-To: gson@gson.org (Andreas Gustafsson)
To: gnats-bugs@NetBSD.org
Subject: rump/rumpkern/t_vm:busypage fails since early December
X-Send-Pr-Version: 3.95

>Number:         55945
>Category:       kern
>Synopsis:       rump/rumpkern/t_vm:busypage fails since early December
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 22 14:50:00 +0000 2021
>Last-Modified:  Tue Jul 06 04:25:01 +0000 2021
>Originator:     Andreas Gustafsson
>Release:        NetBSD-current
>Organization:
>Environment:
System: NetBSD
Architecture: i386
Machine: i386
>Description:

On December 8, 2020, the TNF testbed sent the following report to
current-users.  The failure is still happening as of source date
2021.01.21.21.45.42.

  This is an automatically generated notice of a new failure of the
  NetBSD test suite.

  The newly failing test case is:

      rump/rumpkern/t_vm:busypage

  The above test failed in each of the last 4 test runs, and passed in
  at least 26 consecutive runs before that.

  Between the last successful test and the failed test, a total of 434
  revisions were committed, by the following developers:

      christos
      chs
      dholland
      jdc
      jmcneill
      mrg
      nia
      rillig
      rin
      sjg
      skrll
      thorpej
      tsutsui

  The first of these commits was made on CVS date 2020.12.05.18.17.01,
  and the last on 2020.12.07.10.02.51.

  Logs can be found at:

      http://releng.NetBSD.org/b5reports/i386/commits-2020.12.html#2020.12.07.10.02.51

>How-To-Repeat:

>Fix:

>Audit-Trail:
From: "Chuck Silvers" <chs@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/55945 CVS commit: src/tests/rump/rumpkern
Date: Fri, 22 Jan 2021 22:03:01 +0000

 Module Name:	src
 Committed By:	chs
 Date:		Fri Jan 22 22:03:01 UTC 2021

 Modified Files:
 	src/tests/rump/rumpkern: t_vm.c

 Log Message:
 for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip()
 because atf apparently has no way to expect a test program to crash.
 fixes PR 55945.


 To generate a diff of this commit:
 cvs rdiff -u -r1.5 -r1.6 src/tests/rump/rumpkern/t_vm.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Andreas Gustafsson <gson@gson.org>
To: "Chuck Silvers" <chs@netbsd.org>
Cc: gnats-bugs@netbsd.org
Subject: Re: PR/55945 CVS commit: src/tests/rump/rumpkern
Date: Sat, 23 Jan 2021 12:04:04 +0200

 Chuck Silvers wrote:
 >  Module Name:	src
 >  Committed By:	chs
 >  Date:		Fri Jan 22 22:03:01 UTC 2021
 >  
 >  Modified Files:
 >  	src/tests/rump/rumpkern: t_vm.c
 >  
 >  Log Message:
 >  for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip()
 >  because atf apparently has no way to expect a test program to crash.
 >  fixes PR 55945.
 >
 >  To generate a diff of this commit:
 >  cvs rdiff -u -r1.5 -r1.6 src/tests/rump/rumpkern/t_vm.c

 For context, the previous commit (predating the PR) was:

   Revision 1.5
   date: 2020-12-08 19:52:11 +0200;  author: chs;  state: Exp;  lines: +2 -1;  commitid: OWDf2vgr44wLVXyC;
   the busypage test is buggy, expect it to fail.

 If you think a test is buggy and you can't fix it, you should file a PR
 about it and include a reference to that PR in the atf_tc_expect_fail()
 or atf_tc_skip() message.

 I don't think this PR should be considered "fixed" until either the
 buggy test has been fixed, or the atf_tc_skip() message contains a
 reference to a PR.
 -- 
 Andreas Gustafsson, gson@gson.org

From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/55945 CVS commit: [netbsd-9] src
Date: Tue, 6 Jul 2021 04:22:35 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Tue Jul  6 04:22:35 UTC 2021

 Modified Files:
 	src/external/cddl/osnet/dist/uts/common/fs/zfs [netbsd-9]: zfs_vnops.c
 	src/sys/rump/librump/rumpkern [netbsd-9]: vm.c
 	src/sys/rump/librump/rumpvfs [netbsd-9]: vm_vfs.c
 	src/sys/uvm [netbsd-9]: uvm_anon.c uvm_page.c uvm_pager.c
 	src/tests/rump/rumpkern [netbsd-9]: t_vm.c

 Log Message:
 Pull up following revision(s) - all via patch -
 (requested by riastradh in ticket #1317):

 	sys/uvm/uvm_page.c: revision 1.248
 	sys/uvm/uvm_anon.c: revision 1.80
 	sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.40
 	sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.41
 	sys/rump/librump/rumpkern/vm.c: revision 1.191
 	sys/uvm/uvm_pager.c: revision 1.130
 	external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c: revision 1.71
 	tests/rump/rumpkern/t_vm.c: revision 1.5
 	tests/rump/rumpkern/t_vm.c: revision 1.6
 	sys/rump/librump/rumpvfs/vm_vfs.c: revision 1.39

 Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
 uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
 handle this flag separately.  Split out the pages part of uvm_aio_aiodone()
 into uvm_aio_aiodone_pages() in rump just like in the real kernel.

 In ZFS functions that can fail to copy data between the ARC and VM pages,
 use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
 handle these "I/O" errors.  Fixes PR 55702.

 fix an incorrect assertion in the previous commit.

 Handle PG_PAGEOUT in uvm_anon_release() too.

 Commit the ZFS file that I forgot in this previous commit:

 Move the handling of PG_PAGEOUT from uvm_aio_aiodone_pages() to
 uvm_page_unbusy() so that all callers of uvm_page_unbusy() don't need to
 handle this flag separately.  Split out the pages part of uvm_aio_aiodone()
 into uvm_aio_aiodone_pages() in rump just like in the real kernel.

 In ZFS functions that can fail to copy data between the ARC and VM pages,
 use uvm_aio_aiodone_pages() rather than uvm_page_unbusy() so that we can
 handle these "I/O" errors.  Fixes PR 55702.
 update the rump copy of uvm_page_unbusy() to match the real version,
 in particular handle PG_PAGEOUT.  fixes a few atf tests.
 the busypage test is buggy, expect it to fail.

 make rump's uvm_aio_aiodone_pages() look more like the kernel version.
 fixes some more rumpy assertions.

 for the busypage test, replace atf_tc_expect_fail() with atf_tc_skip()
 because atf apparently has no way to expect a test program to crash.
 fixes PR 55945.


 To generate a diff of this commit:
 cvs rdiff -u -r1.50.2.9 -r1.50.2.10 \
     src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
 cvs rdiff -u -r1.173 -r1.173.14.1 src/sys/rump/librump/rumpkern/vm.c
 cvs rdiff -u -r1.34 -r1.34.34.1 src/sys/rump/librump/rumpvfs/vm_vfs.c
 cvs rdiff -u -r1.64 -r1.64.8.1 src/sys/uvm/uvm_anon.c
 cvs rdiff -u -r1.199 -r1.199.4.1 src/sys/uvm/uvm_page.c
 cvs rdiff -u -r1.111.8.1 -r1.111.8.2 src/sys/uvm/uvm_pager.c
 cvs rdiff -u -r1.4 -r1.4.16.1 src/tests/rump/rumpkern/t_vm.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.