From owner-svn-src-user@freebsd.org Tue Aug 4 06:34:46 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 43F9B3B2C68 for ; Tue, 4 Aug 2020 06:34:46 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BLQ3B15RZz3fl7; Tue, 4 Aug 2020 06:34:46 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0522E20FD3; Tue, 4 Aug 2020 06:34:46 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0746Yjqd016830; Tue, 4 Aug 2020 06:34:45 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0746YjPd016829; Tue, 4 Aug 2020 06:34:45 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008040634.0746YjPd016829@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 4 Aug 2020 06:34:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363825 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363825 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Aug 2020 06:34:46 -0000 Author: pho Date: Tue Aug 4 06:34:45 2020 New Revision: 363825 URL: https://svnweb.freebsd.org/changeset/base/363825 Log: Tests with SUJ shows a know deadlock issue. Skip verbose output. Modified: user/pho/stress2/misc/force.sh Modified: user/pho/stress2/misc/force.sh ============================================================================== --- user/pho/stress2/misc/force.sh Tue Aug 4 03:43:28 2020 (r363824) +++ user/pho/stress2/misc/force.sh Tue Aug 4 06:34:45 2020 (r363825) @@ -35,6 +35,9 @@ # Page fault seen in WiP kernel code: # https://people.freebsd.org/~pho/stress/log/kirk113.txt +# Deadlock seen: +# https://people.freebsd.org/~pho/stress/log/chs002.txt + [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 . ../default.cfg @@ -42,9 +45,10 @@ mount | grep $mntpoint | grep -q /dev/md && umount -f mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart mdconfig -a -t swap -s 1g -u $mdstart flags=$newfs_flags -[ `jot -r 1 0 1` -eq 1 ] && flags="-j" +# Disable SUJ tests for now. Known deadlock issue. +#[ `jot -r 1 0 1` -eq 1 ] && flags="-j" echo "newfs $flags md$mdstart" -newfs $flags md$mdstart > /dev/null +newfs $flags md$mdstart > /dev/null 2>&1 mount /dev/md$mdstart $mntpoint chmod 777 $mntpoint @@ -54,7 +58,7 @@ export RUNDIR=$mntpoint/stressX su $testuser -c 'cd ..; ./run.sh marcus.cfg' > /dev/null 2>&1 & sleep `jot -r 1 10 40` -while mdconfig -l | grep md$mdstart; do +while mdconfig -l | grep -q md$mdstart; do mdconfig -d -u $mdstart -o force || sleep 1 done sleep 1 @@ -65,4 +69,4 @@ while mount | grep $mntpoint | grep -q /dev/md; do umount $mntpoint || sleep 1 [ $((n += 1)) -gt 300 ] && { echo FAIL; exit 1; } done -exit $s +exit 0 From owner-svn-src-user@freebsd.org Tue Aug 4 06:37:17 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8184C3B30C6 for ; Tue, 4 Aug 2020 06:37:17 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BLQ6506kQz3frD; Tue, 4 Aug 2020 06:37:17 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D78B721325; Tue, 4 Aug 2020 06:37:16 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0746bGUG016992; Tue, 4 Aug 2020 06:37:16 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0746bGDe016991; Tue, 4 Aug 2020 06:37:16 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008040637.0746bGDe016991@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 4 Aug 2020 06:37:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363826 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363826 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Aug 2020 06:37:17 -0000 Author: pho Date: Tue Aug 4 06:37:16 2020 New Revision: 363826 URL: https://svnweb.freebsd.org/changeset/base/363826 Log: Added a new syzkaller reproducer. Obtained from: markj@ Added: user/pho/stress2/misc/syzkaller20.sh (contents, props changed) Added: user/pho/stress2/misc/syzkaller20.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/syzkaller20.sh Tue Aug 4 06:37:16 2020 (r363826) @@ -0,0 +1,110 @@ +#!/bin/sh + +# Fatal trap 12: page fault while in kernel mode +# cpuid = 0; apic id = 00 +# fault virtual address = 0x70 +# fault code = supervisor read data, page not present +# instruction pointer = 0x20:0xffffffff80dec3cf +# stack pointer = 0x28:0xfffffe013c9384d0 +# frame pointer = 0x28:0xfffffe013c938510 +# code segment = base 0x0, limit 0xfffff, type 0x1b +# = DPL 0, pres 1, long 1, def32 0, gran 1 +# processor eflags = interrupt enabled, resume, IOPL = 0 +# current process = 58092 (syzkaller20) +# trap number = 12 +# panic: page fault +# cpuid = 0 +# time = 1596109014 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe013c938180 +# vpanic() at vpanic+0x182/frame 0xfffffe013c9381d0 +# panic() at panic+0x43/frame 0xfffffe013c938230 +# trap_fatal() at trap_fatal+0x387/frame 0xfffffe013c938290 +# trap_pfault() at trap_pfault+0x99/frame 0xfffffe013c9382f0 +# trap() at trap+0x2a5/frame 0xfffffe013c938400 +# calltrap() at calltrap+0x8/frame 0xfffffe013c938400 +# --- trap 0xc, rip = 0xffffffff80dec3cf, rsp = 0xfffffe013c9384d0, rbp = 0xfffffe013c938510 --- +# in6_setscope() at in6_setscope+0x5f/frame 0xfffffe013c938510 +# ip6_output() at ip6_output+0x103c/frame 0xfffffe013c938750 +# udp6_send() at udp6_send+0x79b/frame 0xfffffe013c938900 +# sosend_dgram() at sosend_dgram+0x34e/frame 0xfffffe013c938960 +# sosend() at sosend+0x66/frame 0xfffffe013c938990 +# kern_sendit() at kern_sendit+0x246/frame 0xfffffe013c938a30 +# sendit() at sendit+0x1d8/frame 0xfffffe013c938a80 +# sys_sendto() at sys_sendto+0x4d/frame 0xfffffe013c938ad0 +# amd64_syscall() at amd64_syscall+0x159/frame 0xfffffe013c938bf0 +# fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe013c938bf0 +# --- syscall (0, FreeBSD ELF64, nosys), rip = 0x80045513a, rsp = 0x7fffffffe568, rbp = 0x7fffffffe580 --- +# KDB: enter: panic +# [ thread pid 58092 tid 100337 ] +# Stopped at kdb_enter+0x37: movq $0,0x10b8de6(%rip) +# db> x/s version +# version: FreeBSD 13.0-CURRENT #0 r363687: Thu Jul 30 08:55:21 CEST 2020 +# pho@t2.osted.lan:/usr/src/sys/amd64/compile/PHO +# db> + +# $FreeBSD$ + +[ `uname -p` != "amd64" ] && exit 0 + +. ../default.cfg +cat > /tmp/syzkaller20.c < +#include +#include +#include +#include +#include +#include +#include +#include +#include + +uint64_t r[2] = {0xffffffffffffffff, 0xffffffffffffffff}; + +int main(void) +{ + syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x1012ul, -1, 0ul); + intptr_t res = 0; + res = syscall(SYS_socket, 0x1cul, 1ul, 0); + if (res != -1) + r[0] = res; + res = syscall(SYS_socket, 0x1cul, 2ul, 0x88); + if (res != -1) + r[1] = res; + syscall(SYS_dup2, r[1], r[0]); + *(uint8_t*)0x20000000 = 0x1c; + *(uint8_t*)0x20000001 = 0x1c; + *(uint16_t*)0x20000002 = htobe16(0x4e21); + *(uint32_t*)0x20000004 = 0; + *(uint64_t*)0x20000008 = htobe64(0); + *(uint64_t*)0x20000010 = htobe64(1); + *(uint32_t*)0x20000018 = 0; + syscall(SYS_bind, r[0], 0x20000000ul, 0x1cul); + *(uint8_t*)0x200002c0 = 0x1c; + *(uint8_t*)0x200002c1 = 0x1c; + *(uint16_t*)0x200002c2 = htobe16(0x4e23); + *(uint32_t*)0x200002c4 = 0; + memcpy((void*)0x200002c8, + "\xff\x71\x4e\x39\x01\x68\x0f\x3c\xd3\x1d\xb7\x61\x2c\x26\x8b\xac", + 16); + *(uint32_t*)0x200002d8 = 0; + syscall(SYS_sendto, r[0], 0ul, 0ul, 0ul, 0x200002c0ul, 0x1cul); + return 0; +} +EOF +mycc -o /tmp/syzkaller20 -Wall -Wextra -O2 /tmp/syzkaller20.c -lpthread || + exit 1 + +(cd ../testcases/swap; ./swap -t 1m -i 20 -h > /dev/null 2>&1) & +(cd /tmp; ./syzkaller20) & +sleep 60 +pkill -9 syzkaller20 swap +wait + +rm -f /tmp/syzkaller20 /tmp/syzkaller20.c /tmp/syzkaller20.core +exit 0 From owner-svn-src-user@freebsd.org Tue Aug 4 06:38:11 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 69BDC3B2FB1 for ; Tue, 4 Aug 2020 06:38:11 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BLQ77286fz3g7K; Tue, 4 Aug 2020 06:38:11 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 13E0221192; Tue, 4 Aug 2020 06:38:11 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0746cAp8017073; Tue, 4 Aug 2020 06:38:10 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0746cAID017072; Tue, 4 Aug 2020 06:38:10 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008040638.0746cAID017072@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 4 Aug 2020 06:38:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363827 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363827 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Aug 2020 06:38:11 -0000 Author: pho Date: Tue Aug 4 06:38:10 2020 New Revision: 363827 URL: https://svnweb.freebsd.org/changeset/base/363827 Log: Added a new syzkaller reproducer. Added: user/pho/stress2/misc/syzkaller19.sh (contents, props changed) Added: user/pho/stress2/misc/syzkaller19.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/syzkaller19.sh Tue Aug 4 06:38:10 2020 (r363827) @@ -0,0 +1,173 @@ +#!/bin/sh + +# panic: sleeping without a lock +# cpuid = 17 +# time = 1594020733 +# KDB: stack backtrace: +# db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe013e99d6d0 +# vpanic() at vpanic+0x182/frame 0xfffffe013e99d720 +# panic() at panic+0x43/frame 0xfffffe013e99d780 +# _sleep() at _sleep+0x466/frame 0xfffffe013e99d820 +# soclose() at soclose+0x12a/frame 0xfffffe013e99d890 +# _fdrop() at _fdrop+0x1a/frame 0xfffffe013e99d8b0 +# closef() at closef+0x1db/frame 0xfffffe013e99d940 +# fdescfree_fds() at fdescfree_fds+0x3c/frame 0xfffffe013e99d990 +# fdescfree() at fdescfree+0x36c/frame 0xfffffe013e99da50 +# exit1() at exit1+0x487/frame 0xfffffe013e99dac0 +# sys_sys_exit() at sys_sys_exit+0xd/frame 0xfffffe013e99dad0 +# amd64_syscall() at amd64_syscall+0x159/frame 0xfffffe013e99dbf0 +# fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe013e99dbf0 +# --- syscall (1, FreeBSD ELF64, sys_sys_exit), rip = 0x8004513da, rsp = 0x7fffffffe548, rbp = 0x7fffffffe560 --- +# KDB: enter: panic +# [ thread pid 86998 tid 100362 ] +# Stopped at kdb_enter+0x37: movq $0,0x10c3a16(%rip) +# db> x/s version +# version:FreeBSD 13.0-CURRENT #2 r362887+d0cb7ae7cb9-c248258(mlnx3): Sat +# Jul 4 10:28:49 CEST 2020 pho@t2.osted.lan:/var/tmp/deviant2/sys/amd64/compile/PHO +# db> + +# $FreeBSD$ + +[ `uname -p` != "amd64" ] && exit 0 + +. ../default.cfg +cat > /tmp/syzkaller19.c < + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static void kill_and_wait(int pid, int* status) +{ + kill(pid, SIGKILL); + while (waitpid(-1, status, 0) != pid) { + } +} + +static void sleep_ms(uint64_t ms) +{ + usleep(ms * 1000); +} + +static uint64_t current_time_ms(void) +{ + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts)) + exit(1); + return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; +} + +static void execute_one(void); + +#define WAIT_FLAGS 0 + +static void loop(void) +{ + int iter; + for (iter = 0;; iter++) { + int pid = fork(); + if (pid < 0) + exit(1); + if (pid == 0) { + execute_one(); + exit(0); + } + int status = 0; + uint64_t start = current_time_ms(); + for (;;) { + if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) + break; + sleep_ms(1); + if (current_time_ms() - start < 5 * 1000) + continue; + kill_and_wait(pid, &status); + break; + } + } +} + +uint64_t r[1] = {0xffffffffffffffff}; + +void execute_one(void) +{ + intptr_t res = 0; + res = syscall(SYS_socket, 0x1cul, 1ul, 0x84); + if (res != -1) + r[0] = res; + *(uint8_t*)0x20000000 = 0x1c; + *(uint8_t*)0x20000001 = 0x1c; + *(uint16_t*)0x20000002 = htobe16(0x4e22); + *(uint32_t*)0x20000004 = 0; + *(uint8_t*)0x20000008 = 0; + *(uint8_t*)0x20000009 = 0; + *(uint8_t*)0x2000000a = 0; + *(uint8_t*)0x2000000b = 0; + *(uint8_t*)0x2000000c = 0; + *(uint8_t*)0x2000000d = 0; + *(uint8_t*)0x2000000e = 0; + *(uint8_t*)0x2000000f = 0; + *(uint8_t*)0x20000010 = 0; + *(uint8_t*)0x20000011 = 0; + *(uint8_t*)0x20000012 = 0; + *(uint8_t*)0x20000013 = 0; + *(uint8_t*)0x20000014 = 0; + *(uint8_t*)0x20000015 = 0; + *(uint8_t*)0x20000016 = 0; + *(uint8_t*)0x20000017 = 0; + *(uint32_t*)0x20000018 = 0; + syscall(SYS_bind, r[0], 0x20000000ul, 0x1cul); + *(uint8_t*)0x20000180 = 0x1c; + *(uint8_t*)0x20000181 = 0x1c; + *(uint16_t*)0x20000182 = htobe16(0x4e22); + *(uint32_t*)0x20000184 = 0; + *(uint64_t*)0x20000188 = htobe64(0); + *(uint64_t*)0x20000190 = htobe64(1); + *(uint32_t*)0x20000198 = 0; + syscall(SYS_connect, r[0], 0x20000180ul, 0x1cul); + *(uint64_t*)0x20000080 = 0; + *(uint32_t*)0x20000088 = 0; + *(uint64_t*)0x20000090 = 0; + *(uint64_t*)0x20000098 = 0; + *(uint64_t*)0x200000a0 = 0; + *(uint64_t*)0x200000a8 = 0x60; + *(uint32_t*)0x200000b0 = 0; + syscall(SYS_sendmsg, r[0], 0x20000080ul, 0x10cul); + *(uint32_t*)0x200000c0 = 0xbd; + *(uint32_t*)0x200000c4 = 0; + syscall(SYS_setsockopt, r[0], 0xffff, 0x80, 0x200000c0ul, 8ul); +} +int main(void) +{ + syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x1012ul, -1, 0ul); + loop(); + return 0; +} +EOF +mycc -o /tmp/syzkaller19 -Wall -Wextra -O2 /tmp/syzkaller19.c -lpthread || + exit 1 + +(cd ../testcases/swap; ./swap -t 1m -i 20 -h > /dev/null 2>&1) & +(cd /tmp; ./syzkaller19) & +sleep 60 +pkill -9 syzkaller19 swap +wait + +rm -f /tmp/syzkaller19 /tmp/syzkaller19.c /tmp/syzkaller19.core +exit 0 From owner-svn-src-user@freebsd.org Tue Aug 4 06:39:50 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4A2563B30CE for ; Tue, 4 Aug 2020 06:39:50 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BLQ921HmMz3gK8; Tue, 4 Aug 2020 06:39:50 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 106DF21193; Tue, 4 Aug 2020 06:39:50 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0746dncP017200; Tue, 4 Aug 2020 06:39:49 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0746dnQW017199; Tue, 4 Aug 2020 06:39:49 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008040639.0746dnQW017199@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Tue, 4 Aug 2020 06:39:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363828 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363828 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Aug 2020 06:39:50 -0000 Author: pho Date: Tue Aug 4 06:39:49 2020 New Revision: 363828 URL: https://svnweb.freebsd.org/changeset/base/363828 Log: Updated the test exclude list. Modified: user/pho/stress2/misc/all.sh Modified: user/pho/stress2/misc/all.sh ============================================================================== --- user/pho/stress2/misc/all.sh Tue Aug 4 06:38:10 2020 (r363827) +++ user/pho/stress2/misc/all.sh Tue Aug 4 06:39:49 2020 (r363828) @@ -42,7 +42,6 @@ # collapse.sh panic: freeing mapped page 0xfffffe0028ed1d50 20200106 # dd.sh CAM stuck in vmwait 20200116 # devfs4.sh WiP 20181031 -# force.sh WiP 20200303 # force2.sh WiP 20200303 # force3.sh WiP 20200303 # force4.sh Known issue 20200303 @@ -88,7 +87,6 @@ # quota6.sh panic: softdep_deallocate_dependencies: unrecovered ... 20130206 # quota7.sh panic: dqflush: stray dquot 20120221 # rename14.sh mark136.txt 20200525 -# sctp.sh WiP 20200307 # sctp2.sh panic: soclose: SS_NOFDREF on enter 20200307 # sctp3.sh WiP 20190809 # sendfile25.sh WiP 20200611 @@ -102,12 +100,13 @@ # swapoff2.sh swap_pager_force_pagein: read from swap failed 20171223 # systrace.sh WiP 20200227 # systrace2.sh WiP 20200227 -# syzkaller11.sh WiP 20200419 -# syzkaller13.sh WiP 20200607 -# syzkaller15.sh WiP 20200617 +# syzkaller11.sh WiP 20200721 +# syzkaller15.sh WiP 20200712 # syzkaller16.sh WiP 20200620 # syzkaller17.sh WiP 20200630 # syzkaller18.sh WiP 20200630 +# syzkaller19.sh WiP 20200712 +# syzkaller20.sh WiP 20200730 # ucom.sh Stuck in tail -F 20180129 # umountf7.sh panic: handle_written_inodeblock: live inodedep ... 20190219 # umountf9.sh panic: handle_written_inodeblock: live inodedep ... 20170221 From owner-svn-src-user@freebsd.org Wed Aug 5 11:10:05 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C15353720C9 for ; Wed, 5 Aug 2020 11:10:05 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BM86P4g8gz4hBc; Wed, 5 Aug 2020 11:10:05 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8358A15397; Wed, 5 Aug 2020 11:10:05 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 075BA5Zh072855; Wed, 5 Aug 2020 11:10:05 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 075BA5xP072854; Wed, 5 Aug 2020 11:10:05 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008051110.075BA5xP072854@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Wed, 5 Aug 2020 11:10:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363901 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363901 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Aug 2020 11:10:05 -0000 Author: pho Date: Wed Aug 5 11:10:05 2020 New Revision: 363901 URL: https://svnweb.freebsd.org/changeset/base/363901 Log: Added a new syzkaller reproducer. Obtained from: markj@ Added: user/pho/stress2/misc/syzkaller21.sh (contents, props changed) Added: user/pho/stress2/misc/syzkaller21.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/syzkaller21.sh Wed Aug 5 11:10:05 2020 (r363901) @@ -0,0 +1,405 @@ +#!/bin/sh + +# $ pgrep syzkaller21 | xargs ps -lHp +# UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND +# 0 3891 1 0 20 0 29828 2852 - T 0 0:00,14 ./syzkaller21 +# 0 3891 1 0 52 0 29828 2852 ufs T 0 0:00,00 ./syzkaller21 +# 0 3891 1 0 52 0 29828 2852 ufs T 0 0:00,00 ./syzkaller21 +# $ pgrep syzkaller21 | xargs procstat -k +# PID TID COMM TDNAME KSTACK +# 3891 100250 syzkaller21 - mi_switch thread_suspend_switch thread_single exit1 sys_sys_exit amd64_syscall fast_syscall_common +# 3891 100777 syzkaller21 - mi_switch sleepq_switch sleeplk lockmgr_xlock_hard ffs_lock VOP_LOCK1_APV _vn_lock vget_finish vfs_hash_get ffs_vgetf softdep_sync_buf ffs_syncvnode ffs_fsync VOP_FSYNC_APV kern_fsync amd64_syscall fast_syscall_common +# 3891 100778 syzkaller21 - mi_switch sleepq_switch sleeplk lockmgr_slock_hard ffs_lock VOP_LOCK1_APV _vn_lock vget_finish cache_lookup vfs_cache_lookup VOP_LOOKUP_APV lookup namei kern_chdir amd64_syscall fast_syscall_common +# $ uname -a +# FreeBSD t2.osted.lan 13.0-CURRENT FreeBSD 13.0-CURRENT #5 r363786M: Tue Aug 4 16:51:52 CEST 2020 +# pho@t2.osted.lan:/usr/src/sys/amd64/compile/PHO amd64 +# $ + +# $FreeBSD$ + +[ `uname -p` != "amd64" ] && exit 0 + +. ../default.cfg +cat > /tmp/syzkaller21.c < + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static __thread int skip_segv; +static __thread jmp_buf segv_env; + +static void segv_handler(int sig, siginfo_t* info, void* ctx __unused) +{ + uintptr_t addr = (uintptr_t)info->si_addr; + const uintptr_t prog_start = 1 << 20; + const uintptr_t prog_end = 100 << 20; + if (__atomic_load_n(&skip_segv, __ATOMIC_RELAXED) && + (addr < prog_start || addr > prog_end)) { + _longjmp(segv_env, 1); + } + exit(sig); +} + +static void install_segv_handler(void) +{ + struct sigaction sa; + memset(&sa, 0, sizeof(sa)); + sa.sa_sigaction = segv_handler; + sa.sa_flags = SA_NODEFER | SA_SIGINFO; + sigaction(SIGSEGV, &sa, NULL); + sigaction(SIGBUS, &sa, NULL); +} + +#define NONFAILING(...) \ + { \ + __atomic_fetch_add(&skip_segv, 1, __ATOMIC_SEQ_CST); \ + if (_setjmp(segv_env) == 0) { \ + __VA_ARGS__; \ + } \ + __atomic_fetch_sub(&skip_segv, 1, __ATOMIC_SEQ_CST); \ + } + +static void kill_and_wait(int pid, int* status) +{ + kill(pid, SIGKILL); + while (waitpid(-1, status, 0) != pid) { + } +} + +static void sleep_ms(uint64_t ms) +{ + usleep(ms * 1000); +} + +static uint64_t current_time_ms(void) +{ + struct timespec ts; + if (clock_gettime(CLOCK_MONOTONIC, &ts)) + exit(1); + return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; +} + +static void use_temporary_dir(void) +{ + char tmpdir_template[] = "./syzkaller.XXXXXX"; + char* tmpdir = mkdtemp(tmpdir_template); + if (!tmpdir) + exit(1); + if (chmod(tmpdir, 0777)) + exit(1); + if (chdir(tmpdir)) + exit(1); +} + +static void remove_dir(const char* dir) +{ + DIR* dp; + struct dirent* ep; + dp = opendir(dir); + if (dp == NULL) + exit(1); + while ((ep = readdir(dp))) { + if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) + continue; + char filename[FILENAME_MAX]; + snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); + struct stat st; + if (lstat(filename, &st)) + exit(1); + if (S_ISDIR(st.st_mode)) { + remove_dir(filename); + continue; + } + if (unlink(filename)) + exit(1); + } + closedir(dp); + if (rmdir(dir)) + exit(1); +} + +static void thread_start(void* (*fn)(void*), void* arg) +{ + pthread_t th; + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setstacksize(&attr, 128 << 10); + int i; + for (i = 0; i < 100; i++) { + if (pthread_create(&th, &attr, fn, arg) == 0) { + pthread_attr_destroy(&attr); + return; + } + if (errno == EAGAIN) { + usleep(50); + continue; + } + break; + } + exit(1); +} + +typedef struct { + pthread_mutex_t mu; + pthread_cond_t cv; + int state; +} event_t; + +static void event_init(event_t* ev) +{ + if (pthread_mutex_init(&ev->mu, 0)) + exit(1); + if (pthread_cond_init(&ev->cv, 0)) + exit(1); + ev->state = 0; +} + +static void event_reset(event_t* ev) +{ + ev->state = 0; +} + +static void event_set(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + if (ev->state) + exit(1); + ev->state = 1; + pthread_mutex_unlock(&ev->mu); + pthread_cond_broadcast(&ev->cv); +} + +static void event_wait(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + while (!ev->state) + pthread_cond_wait(&ev->cv, &ev->mu); + pthread_mutex_unlock(&ev->mu); +} + +static int event_isset(event_t* ev) +{ + pthread_mutex_lock(&ev->mu); + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +static int event_timedwait(event_t* ev, uint64_t timeout) +{ + uint64_t start = current_time_ms(); + uint64_t now = start; + pthread_mutex_lock(&ev->mu); + for (;;) { + if (ev->state) + break; + uint64_t remain = timeout - (now - start); + struct timespec ts; + ts.tv_sec = remain / 1000; + ts.tv_nsec = (remain % 1000) * 1000 * 1000; + pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); + now = current_time_ms(); + if (now - start > timeout) + break; + } + int res = ev->state; + pthread_mutex_unlock(&ev->mu); + return res; +} + +struct thread_t { + int created, call; + event_t ready, done; +}; + +static struct thread_t threads[16]; +static void execute_call(int call); +static int running; + +static void* thr(void* arg) +{ + struct thread_t* th = (struct thread_t*)arg; + for (;;) { + event_wait(&th->ready); + event_reset(&th->ready); + execute_call(th->call); + __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); + event_set(&th->done); + } + return 0; +} + +static void execute_one(void) +{ + int i, call, thread; + int collide = 0; +again: + for (call = 0; call < 9; call++) { + for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); + thread++) { + struct thread_t* th = &threads[thread]; + if (!th->created) { + th->created = 1; + event_init(&th->ready); + event_init(&th->done); + event_set(&th->done); + thread_start(thr, th); + } + if (!event_isset(&th->done)) + continue; + event_reset(&th->done); + th->call = call; + __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); + event_set(&th->ready); + if (collide && (call % 2) == 0) + break; + event_timedwait(&th->done, 45); + break; + } + } + for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) + sleep_ms(1); + if (!collide) { + collide = 1; + goto again; + } +} + +static void execute_one(void); + +#define WAIT_FLAGS 0 + +static void loop(void) +{ + int iter; + for (iter = 0;; iter++) { + char cwdbuf[32]; + sprintf(cwdbuf, "./%d", iter); + if (mkdir(cwdbuf, 0777)) + exit(1); + int pid = fork(); + if (pid < 0) + exit(1); + if (pid == 0) { + if (chdir(cwdbuf)) + exit(1); + execute_one(); + exit(0); + } + int status = 0; + uint64_t start = current_time_ms(); + for (;;) { + if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) + break; + sleep_ms(1); + if (current_time_ms() - start < 5 * 1000) + continue; + kill_and_wait(pid, &status); + break; + } + remove_dir(cwdbuf); + } +} + +uint64_t r[4] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, + 0xffffffffffffffff}; + +void execute_call(int call) +{ + intptr_t res = 0; + switch (call) { + case 0: + NONFAILING(memcpy((void*)0x20000000, ".\000", 2)); + res = syscall(SYS_open, 0x20000000ul, 0ul, 0ul); + if (res != -1) + r[0] = res; + break; + case 1: + NONFAILING(memcpy((void*)0x20000040, "./file0\000", 8)); + syscall(SYS_mkdirat, r[0], 0x20000040ul, 0ul); + break; + case 2: + NONFAILING(memcpy((void*)0x20000000, ".\000", 2)); + res = syscall(SYS_open, 0x20000000ul, 0ul, 0ul); + if (res != -1) + r[1] = res; + break; + case 3: + NONFAILING(memcpy((void*)0x20000040, "./file1\000", 8)); + syscall(SYS_mkdirat, r[1], 0x20000040ul, 0ul); + break; + case 4: + NONFAILING(memcpy((void*)0x20000000, ".\000", 2)); + res = syscall(SYS_open, 0x20000000ul, 0ul, 0ul); + if (res != -1) + r[2] = res; + break; + case 5: + NONFAILING(memcpy((void*)0x20000080, "./file1\000", 8)); + NONFAILING(memcpy((void*)0x200000c0, "./file0/file0\000", 14)); + syscall(SYS_renameat, r[1], 0x20000080ul, r[2], 0x200000c0ul); + break; + case 6: + NONFAILING(memcpy((void*)0x20000100, "./file0/file0\000", 14)); + res = syscall(SYS_open, 0x20000100ul, 0ul, 0ul); + if (res != -1) + r[3] = res; + break; + case 7: + syscall(SYS_fsync, r[3]); + break; + case 8: + NONFAILING(memcpy((void*)0x20000140, "./file0/file0\000", 14)); + syscall(SYS_chdir, 0x20000140ul); + break; + } +} +int main(void) +{ + syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x1012ul, -1, 0ul); + install_segv_handler(); + use_temporary_dir(); + loop(); + return 0; +} +EOF +mycc -o /tmp/syzkaller21 -Wall -Wextra -O2 /tmp/syzkaller21.c -lpthread || + exit 1 + +(cd ../testcases/swap; ./swap -t 1m -i 20 -h > /dev/null 2>&1) & +(cd /tmp; ./syzkaller21) & +sleep 60 +while pkill swap; do sleep .2; done +pkill -9 syzkaller21 +sleep .5 +if pgrep -q syzkaller21; then + pgrep syzkaller21 | xargs ps -lHp + pgrep syzkaller21 | xargs procstat -k + exit 1 +fi +wait + +rm -rf /tmp/syzkaller21.* +rm -f /tmp/syzkaller21 +exit 0 From owner-svn-src-user@freebsd.org Wed Aug 5 11:11:32 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 14301371EDF for ; Wed, 5 Aug 2020 11:11:32 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BM8836tXkz4h4Z; Wed, 5 Aug 2020 11:11:31 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CFB3915403; Wed, 5 Aug 2020 11:11:31 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 075BBVer075356; Wed, 5 Aug 2020 11:11:31 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 075BBV1k075355; Wed, 5 Aug 2020 11:11:31 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008051111.075BBV1k075355@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Wed, 5 Aug 2020 11:11:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363902 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363902 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Aug 2020 11:11:32 -0000 Author: pho Date: Wed Aug 5 11:11:31 2020 New Revision: 363902 URL: https://svnweb.freebsd.org/changeset/base/363902 Log: Update the no-run list. Modified: user/pho/stress2/misc/all.sh Modified: user/pho/stress2/misc/all.sh ============================================================================== --- user/pho/stress2/misc/all.sh Wed Aug 5 11:10:05 2020 (r363901) +++ user/pho/stress2/misc/all.sh Wed Aug 5 11:11:31 2020 (r363902) @@ -104,9 +104,8 @@ # syzkaller15.sh WiP 20200712 # syzkaller16.sh WiP 20200620 # syzkaller17.sh WiP 20200630 -# syzkaller18.sh WiP 20200630 # syzkaller19.sh WiP 20200712 -# syzkaller20.sh WiP 20200730 +# syzkaller21.sh WiP 20200804 # ucom.sh Stuck in tail -F 20180129 # umountf7.sh panic: handle_written_inodeblock: live inodedep ... 20190219 # umountf9.sh panic: handle_written_inodeblock: live inodedep ... 20170221 From owner-svn-src-user@freebsd.org Thu Aug 6 06:56:57 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A0DA43787FA for ; Thu, 6 Aug 2020 06:56:57 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BMfRs3mbdz3WYW; Thu, 6 Aug 2020 06:56:57 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 605C522FB4; Thu, 6 Aug 2020 06:56:57 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0766uvvs004808; Thu, 6 Aug 2020 06:56:57 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0766uvqM004807; Thu, 6 Aug 2020 06:56:57 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008060656.0766uvqM004807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 6 Aug 2020 06:56:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363942 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363942 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Aug 2020 06:56:57 -0000 Author: pho Date: Thu Aug 6 06:56:56 2020 New Revision: 363942 URL: https://svnweb.freebsd.org/changeset/base/363942 Log: Added a simple ext4 test scenario. Added: user/pho/stress2/misc/ext4fs.sh (contents, props changed) Added: user/pho/stress2/misc/ext4fs.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/pho/stress2/misc/ext4fs.sh Thu Aug 6 06:56:56 2020 (r363942) @@ -0,0 +1,66 @@ +#!/bin/sh + +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright (c) 2018 Dell EMC Isilon +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Simple ext4 test. + +# "panic: buf_vlist_add: Preallocated nodes insufficient" seen: +# https://people.freebsd.org/~pho/stress/log/mjguzik036.txt + +[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 + +. ../default.cfg + +# Uses mke2fs from sysutils/e2fsprogs +[ -z "`type mke2fs 2>/dev/null`" ] && + echo "Skipping test as mke2fs not installed" && exit 0 + +mount | grep "$mntpoint" | grep -q md$mdstart && umount $mntpoint +mdconfig -l | grep -q md$mdstart && mdconfig -d -u $mdstart + +mdconfig -a -t swap -s 1g -u $mdstart +mke2fs -t ext4 -m 0 -b 2048 /dev/md$mdstart > /dev/null + +mount -t ext2fs /dev/md$mdstart $mntpoint || exit 1 +chmod 777 $mntpoint + +export runRUNTIME=5m +export RUNDIR=$mntpoint/stressX + +su $testuser -c 'cd ..; ./run.sh marcus.cfg' & +sleep 300 +../tools/killall.sh +wait + +while mount | grep $mntpoint | grep -q /dev/md; do + umount $mntpoint || sleep 1 +done + +mdconfig -d -u $mdstart From owner-svn-src-user@freebsd.org Thu Aug 6 07:26:32 2020 Return-Path: Delivered-To: svn-src-user@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 050F2379609 for ; Thu, 6 Aug 2020 07:26:32 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BMg5z6P3Lz3XfX; Thu, 6 Aug 2020 07:26:31 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BFF9E235B6; Thu, 6 Aug 2020 07:26:31 +0000 (UTC) (envelope-from pho@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 0767QVRc023260; Thu, 6 Aug 2020 07:26:31 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 0767QVUf023259; Thu, 6 Aug 2020 07:26:31 GMT (envelope-from pho@FreeBSD.org) Message-Id: <202008060726.0767QVUf023259@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Thu, 6 Aug 2020 07:26:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r363943 - user/pho/stress2/misc X-SVN-Group: user X-SVN-Commit-Author: pho X-SVN-Commit-Paths: user/pho/stress2/misc X-SVN-Commit-Revision: 363943 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Aug 2020 07:26:32 -0000 Author: pho Date: Thu Aug 6 07:26:31 2020 New Revision: 363943 URL: https://svnweb.freebsd.org/changeset/base/363943 Log: Added comment about problem found. Modified: user/pho/stress2/misc/msdos6.sh Modified: user/pho/stress2/misc/msdos6.sh ============================================================================== --- user/pho/stress2/misc/msdos6.sh Thu Aug 6 06:56:56 2020 (r363942) +++ user/pho/stress2/misc/msdos6.sh Thu Aug 6 07:26:31 2020 (r363943) @@ -30,6 +30,9 @@ # Parallel mount and umount of file systems +# "panic: userret: Returning with 1 locks held" seen: +# https://people.freebsd.org/~pho/stress/log/mark165.txt + [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 . ../default.cfg