From owner-svn-src-user@freebsd.org Mon Jan 8 08:37:32 2018 Return-Path: Delivered-To: svn-src-user@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7E400E5B1B6 for ; Mon, 8 Jan 2018 08:37: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.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3F139707F0; Mon, 8 Jan 2018 08:37:32 +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 88D272D484; Mon, 8 Jan 2018 08:37: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 w088bVEU052147; Mon, 8 Jan 2018 08:37:31 GMT (envelope-from pho@FreeBSD.org) Received: (from pho@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w088bVX4052146; Mon, 8 Jan 2018 08:37:31 GMT (envelope-from pho@FreeBSD.org) Message-Id: <201801080837.w088bVX4052146@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pho set sender to pho@FreeBSD.org using -f From: Peter Holm Date: Mon, 8 Jan 2018 08:37:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r327688 - 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: 327688 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.25 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: Mon, 08 Jan 2018 08:37:32 -0000 Author: pho Date: Mon Jan 8 08:37:31 2018 New Revision: 327688 URL: https://svnweb.freebsd.org/changeset/base/327688 Log: Update the exclude list. Move logfiles to /tmp/stress2.d Sponsored by: Dell EMC Isilon Modified: user/pho/stress2/misc/all.sh Modified: user/pho/stress2/misc/all.sh ============================================================================== --- user/pho/stress2/misc/all.sh Mon Jan 8 08:32:07 2018 (r327687) +++ user/pho/stress2/misc/all.sh Mon Jan 8 08:37:31 2018 (r327688) @@ -39,57 +39,52 @@ # panic: 43 vncache entries remaining 20111220 # backingstore3.sh # g_vfs_done():md6a[WRITE(offset=...)]error = 28 20111230 +# chain.sh WiP 20171225 # crossmp4.sh Known nullfs issue 20150523 # fsync.sh GEOM_JOURNAL: Cannot suspend file system /mnt 20160818 # fuse.sh Memory corruption seen in log file kostik734.txt 20141114 # fuse2.sh Deadlock seen 20121129 # fuse3.sh Deadlock seen 20141120 # gbde.sh panic: handle_written_inodeblock: Invalid link count... 20131128 -# gjournal.sh kmem_malloc(131072): kmem_map too small 20120626 -# gjournal2.sh -# gjournal3.sh panic: Journal overflow 20130729 -# gjournal4.sh panic: Journal overflow 20160829 -# kevent7.sh panic: softclock_call_cc: act 0xfffff800380dad40 0 20161115 +# gjournal3.sh panic: Bio not on queue 20171225 +# graid1_8.sh Known issue 20170909 +# graid1_9.sh WiP 20180108 # lockf5.sh Spinning threads seen 20160718 # maxvnodes2.sh WiP 20161129 # mdconfig.sh Panic: g_read_data(): invalid length 262144 20161128 # memguard.sh Waiting for fix commit # memguard2.sh Waiting for fix commit # memguard3.sh Waiting for fix commit -# mmap18.sh panic: vm_fault_copy_entry: main object missing page 20161102 -# msdos4.sh panic: Assertion sq->sq_wchan != NULL 20160610 -# msdos5.sh Panic: Freeing unused sector ... 20141118 -# newfs4.sh Deadlock seen 20150906 +# mmap32.sh Kernel loop 20171118 +# msdos5.sh panic: Freeing unused sector 320185 25 fc000004 20170819 # nfs10.sh Double fault 20151013 # nfs16.sh panic: Failed to register NFS lock locally - error=11 20160608 +# Xnullfs23.sh panic: Lock (lockmgr) nullfs not locked 20170817 # pfl3.sh panic: handle_written_inodeblock: live inodedep 20140812 -# pmc.sh NMI ... going to debugger 20111217 -# snap5-1.sh mksnap_ffs deadlock 20111218 +# ptrace9.sh WiP # quota2.sh panic: dqflush: stray dquot 20120221 # quota3.sh panic: softdep_deallocate_dependencies: unrecovered ... 20111222 # quota6.sh panic: softdep_deallocate_dependencies: unrecovered ... 20130206 # quota7.sh panic: dqflush: stray dquot 20120221 -# sendmsg.sh Test loops in the kernel 20160519 -# shm_open.sh panic: kmem_malloc(4096): kmem_map too small 20130504 -# snap3.sh mksnap_ffs stuck in snaprdb 20111226 -# snap5.sh mksnap_ffs stuck in getblk 20111224 +# sendfile11.sh panic: vnode_pager_generic_getpages: sector size 8192 . 20170930 +# signal.sh Timing issues. Needs fixing 20171116 # snap6.sh panic: softdep_deallocate_dependencies: unrecovered ... 20130630 # snap8.sh panic: softdep_deallocate_dependencies: unrecovered ... 20120630 -# snap9.sh panic: softdep_deallocate_dependencies: unrecovered ... 20150217 +# snap9.sh panic: handle_written_filepage: not started 20170722 # suj3.sh panic: Memory modified after free 20150721 -# suj9.sh page fault in softdep_count_dependencies+0x27 20141116 # suj11.sh panic: ufsdirhash_newblk: bad offset 20120118 # suj13.sh general protection fault in bufdaemon 20141130 # suj30.sh panic: flush_pagedep_deps: MKDIR_PARENT 20121020 # suj34.sh Various hangs and panics (SUJ + NULLFS issue) 20131210 -# trim4.sh Page fault in softdep_count_dependencies+0x27 20140608 -# umountf3.sh KDB: enter: watchdog timeout 20111217 +# swap4.sh WiP 20171208 +# swapoff2.sh swap_pager_force_pagein: read from swap failed 20171223 +# umountf3.sh KDB: enter: watchdog timeout 20170514 # umountf7.sh panic: handle_written_inodeblock: live inodedep ... 20131129 -# umountf9.sh panic: handle_written_inodeblock: live inodedep ... 20160921 +# umountf9.sh panic: handle_written_inodeblock: live inodedep ... 20170221 # unionfs.sh insmntque: non-locked vp: xx is not exclusive locked... 20130909 # unionfs2.sh insmntque: mp-safe fs and non-locked vp is not ... 20111219 # unionfs3.sh insmntque: mp-safe fs and non-locked vp is not ... 20111216 -# zfs3.sh Page fault 20161118 +# Xzfs3.sh Page fault 20161118 # Test not to run for other reasons: @@ -128,15 +123,23 @@ [ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1 # Log files: -allfaillog=/tmp/stress2.all.fail.log # Tests that failed -alllast=/tmp/stress2.all.last # Last test run -alllist=/tmp/stress2.all.list # -o list -alllog=/tmp/stress2.all.log # Tests run -alloutput=/tmp/stress2.all.output # Output from current test -allexcess=/tmp/stress2.all.excessive # Tests with excessive runtime +sdir=/tmp/stress2.d +mkdir -p $sdir +allfaillog=$sdir/fail # Tests that failed +alllast=$sdir/last # Last test run +alllist=$sdir/list # -o list +alllog=$sdir/log # Tests run +alloutput=$sdir/output # Output from current test +allexcess=$sdir/excessive # Tests with excessive runtime +allelapsed=$sdir/elapsed # Test runtime +loops=0 # Times to run the tests +rev=`uname -a | awk '{print $7}' | sed 's/://'` +rev="`uname -a | sed 's#.*/compile/##; s/ .*//'` $rev" -args=`getopt acno $*` -[ $? -ne 0 ] && echo "Usage $0 [-a] [-c] [-n] [tests]" && exit 1 +args=`getopt acl:m:no "$@"` +[ $? -ne 0 ] && + echo "Usage $0 [-a] [-c] [-l ] [-m ] [-n] [-o] [tests]" && + exit 1 set -- $args for i; do case "$i" in @@ -148,10 +151,16 @@ for i; do rm -f $alllist shift ;; + -l) loops=$2 # Number of time to run + shift; shift + ;; + -m) minutes=$(($2 * 60)) # Run for minutes + shift; shift + ;; -n) noshuffle=1 # Do not shuffle the list of tests shift # Resume test after last test ;; - -o) once=1 # Only run once + -o) loops=1 # Only run once shift ;; --) @@ -168,8 +177,10 @@ minspace=$((1024 * 1024)) # in k { echo "diskimage dir: $diskimage not found"; exit 1; } [ `df -k $(dirname $diskimage) | tail -1 | awk '{print $4'}` -lt \ $minspace ] && - echo "Warn: Not enough disk space on `dirname $diskimage` for \$diskimage" -[ ! -d $(dirname $RUNDIR) ] && echo "No such \$RUNDIR \"`dirname $RUNDIR`\"" && + echo "Warn: Not enough disk space on `dirname $diskimage` " \ + "for \$diskimage" +[ ! -d $(dirname $RUNDIR) ] && + echo "No such \$RUNDIR \"`dirname $RUNDIR`\"" && exit 1 [ `df -k $(dirname $RUNDIR) | tail -1 | awk '{print $4'}` -lt \ $minspace ] && @@ -183,11 +194,13 @@ su $testuser -c "touch $probe" > /dev/null 2>&1 [ `swapinfo | wc -l` -eq 1 ] && echo "Consider adding a swap disk. Many tests rely on this." [ -x ../testcases/run/run ] || - { echo "Please run \"cd stress2; make\" first." && exit 1; } + (cd ..; make) ping -c 2 -t 2 $BLASTHOST > /dev/null 2>&1 || { echo "Note: Can not ping \$BLASTHOST: $BLASTHOST"; } +echo "$loops" | grep -Eq "^[0-9]+$" || + { echo "The -l argument must be a positive number"; exit 1; } -rm -f $alllog $alllist +rm -f $alllog $alllist $allelepsed find `dirname $alllast` -maxdepth 1 -name $alllast -mtime +12h -delete touch $alllast $alllog chmod 640 $alllast $alllog @@ -199,16 +212,19 @@ pid=$! sleep 1 kill -0 $pid > /dev/null 2>&1 && { console=/dev/null; kill -9 $pid; } +while pgrep -q fsck; do sleep 10; done [ -f all.debug.inc ] && . all.debug.inc +s1=`date +%s` while true; do exclude=`sed -n '/^# Start of list/,/^# End of list/p' < $0 | - cat - all.exclude 2>/dev/null | - grep "\.sh" | awk '{print $2}'` + cat - all.exclude 2>/dev/null | + grep "\.sh" | awk '{print $2}'` list=`echo *.sh` [ $# -ne 0 ] && list=$* - list=`echo $list | \ - sed "s/[[:<:]]all\.sh[[:>:]]//g; s/[[:<:]]cleanup\.sh[[:>:]]//g"` + list=`echo $list | + sed "s/[[:<:]]all\.sh[[:>:]]//g;\ + s/[[:<:]]cleanup\.sh[[:>:]]//g"` if [ -n "$noshuffle" -a $# -eq 0 ]; then last=`cat $alllast` @@ -217,33 +233,37 @@ while true; do l=`echo "$list" | sed "s/.*$last//"` [ -z "$l" ] && l=$list # start over list=$l - echo "Resuming test at `echo "$list" | \ + echo "Resuming test at `echo "$list" | awk '{print $1}'`" fi fi [ -n "$noshuffle" ] || - list=`echo $list | tr ' ' '\n' | sort -R | \ - tr '\n' ' '` + list=`echo $list | tr ' ' '\n' | sort -R | + tr '\n' ' '` lst="" for i in $list; do - [ -z "$all" ] && echo $exclude | grep -qw $i && continue + [ -z "$all" ] && echo $exclude | grep -qw `basename $i` && + continue lst="$lst $i" done [ -z "$lst" ] && exit - [ -n "$once" ] && echo "$lst" > $alllist + echo "$lst" > $alllist n1=0 n2=`echo $lst | wc -w | sed 's/ //g'` for i in $lst; do + i=`basename $i` n1=$((n1 + 1)) echo $i > $alllast ./cleanup.sh || exit 1 - echo "`date '+%Y%m%d %T'` all: $i" - printf "`date '+%Y%m%d %T'` all ($n1/$n2): $i\n" >> $alllog - printf "`date '+%Y%m%d %T'` all ($n1/$n2): $i\r\n" > $console + ts=`date '+%Y%m%d %T'` + echo "$ts all: $i" + printf "$ts all ($n1/$n2): $i\n" >> $alllog + printf "$ts all ($n1/$n2): $i\r\n" > $console logger "Starting test all: $i" [ $all_debug ] && pre_debug + [ -f $i ] || loops=1 # break sync;sync;sync start=`date '+%s'` ( @@ -252,19 +272,29 @@ while true; do [ $e -ne 0 ] && echo "FAIL $i exit code $e" ) | tee $alloutput + ts=`date '+%Y%m%d %T'` grep -qw FAIL $alloutput && - echo "`date '+%Y%m%d %T'` $i" >> $allfaillog && + echo "$ts $i" >> $allfaillog && logger "stress2 test $i failed" rm -f $alloutput - [ $((`date '+%s'` - $start)) -gt 1980 ] && - printf "*** Excessive run time: %s %d min\r\n" $i, \ - $(((`date '+%s'` - $start) / 60)) | \ + printf "$ts $rev $i $((`date '+%s'` - start))\n" >> \ + $allelapsed + [ -f ../tools/ministat.sh ] && + ../tools/ministat.sh $allelapsed $i + [ $((`date '+%s'` - start)) -gt 1980 ] && + printf "$ts *** Excessive run time: %s %d min\r\n" $i, \ + $(((`date '+%s'` - start) / 60)) | tee $console >> $allexcess - while pgrep -q swap; do + while pgrep -q "^swap$"; do echo "swap still running" sleep 2 done [ $all_debug ] && post_debug + [ $minutes ] && [ $((`date +%s` - s1)) -ge $minutes ] && break 2 done - [ -n "$once" ] && break + [ $((loops -= 1)) -eq 0 ] && break done +printf "`date '+%Y%m%d %T'` all: done\n" +printf "`date '+%Y%m%d %T'` all: done\r\n" > $console +[ -x ../tools/fail.sh ] && ../tools/fail.sh +find /tmp . -name "*.core" -mtime -2 -maxdepth 2 -ls 2>/dev/null