NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/55702: panic: kernel diagnostic assertion "(pg->flags & PG_PAGEOUT) == 0" failed



>Number:         55702
>Category:       kern
>Synopsis:       panic: kernel diagnostic assertion "(pg->flags & PG_PAGEOUT) == 0" failed
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Oct 07 21:10:00 +0000 2020
>Originator:     rudolf
>Release:        current
>Organization:
>Environment:
NetBSD  9.99.73 NetBSD 9.99.73 (GENERIC) #0: Tue Oct  6 16:39:23 UTC 2020  mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/amd64/compile/GENERIC amd64
>Description:
Copying ~ 600 GB of data using rsync (with flags: -aH)

FROM:
  read-only mounted ffs filesystem on a cgd on a SATA drive ("spinning rust") plugged to a notebook using usb-sata adapter (connected to xhci)

TO:
  zfs filesystem on a cgd on a SSD drive

results (happened two times in a row after 10 - 20 GB of transferred data) in the following panic:

kernel diagnostic assertion "(pg->flags & PG_PAGEOUT) == 0" failed: file "/home/source/ab/HEAD/src/sys/uvm/uvm_page.c", line 1616

The assertion was added in the following commit ~ 16 years ago:
"uvm_page_unbusy: add assertions and comments about PG_RELEASED anon pages."
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/uvm/uvm_page.c.diff?r1=1.97&r2=1.98

The system has a dual-core CPU, 16 GB RAM and 16 GB of swap (vm.swap_encrypt=1). There was no other significant activity during the copying.

I have photos of the panic, backtrace and registers. Backtrace:
vpanic()
__x86_indirect_thunk_rax()
uvm_page_unbusy()
zfs_putpage()
genfs_do_putpages()
zfs_netbsd_putpages()
VOP_PUTPAGES()
uvm_pageout()

>How-To-Repeat:
The panic occurred twice in a row so I believe I can trigger it again if more information is required, please let me know what information you need in that case. 
>Fix:



Home | Main Index | Thread Index | Old Index