Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Feb 1999 17:21:12 +0200 (EET)
From:      netch@lucky.net
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/10226: Filesystem stress test crashes FreeBSD 3.1
Message-ID:  <199902231521.RAA05399@burka.carrier.kiev.ua>

next in thread | raw e-mail | index | archive | help

>Number:         10226
>Category:       kern
>Synopsis:       Filesystem stress test crashes FreeBSD 3.1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Feb 23 07:30:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     Valentin Nechayev
>Release:        FreeBSD 3.1
>Organization:
Lucky Net Ltd.
>Environment:

FreeBSD 3.1-RELEASE, also 3.1-STABLE cvsup'ed at 18th of February
i386 architecture

>Description:

On running stress test, filesystem activity stops; no file can be opened,
each process which try to open file hangs in 'inode' state (seeing 'top'
command output). No memory activity hangs (i.e., bash can print list of its
variables ('set' command), top redraws its screen every 1-2 seconds);
attempt to run 'ps' command from shell hangs the shell.

The problem seems not to be hardware-related; the same results have been
obtained on different hardware configurations (either IDE or SCSI, Pentium-100
or dual Pentium-II, different motherboards).

Problem repeated after cvsup'ing and building stable system (cvsup'ing
on 18th of February).

This stress test doesn't crash 2.2.8-RELEASE or 3.0-RELEASE.

>How-To-Repeat:

Execute following to create test files:

cat >stress <<\EOF
#!/bin/sh
i=1
while :; do
  nohup sh -c 'find / -type f | xargs fgrep zukabukafoobar' \
	>/dev/null 2>&1 &
  echo $i
  i=`expr $i + 1`
done
EOF
chmod 755 stress

and run it:

./stress

In this configuration, process can create approx. 30 childs before locking.

In another variant:

cat >1 <<\EOF
#!/bin/sh
while :; do
  find / -type f | xargs fgrep zukabukafoobar
done
EOF
cat >2 <<\EOF
#!/bin/sh
nohup ./1 >/dev/null 2>&1 &
EOF
cat >3 <<\EOF
#!/bin/sh
for j in 1 2 3 4 5 6 7 8 9 10; do
  ./2
done
EOF
chmod 755 1 2 3

(to run, type `./3')

normally 3-4 childs (./2) can start before locking.

>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902231521.RAA05399>