Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Jan 1996 14:30:21 -0700
From:      rlenk@widget.xmission.com
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/938: processes sleeping on "newbuf" indefinitely 
Message-ID:  <199601072130.OAA00364@widget.xmission.com>
Resent-Message-ID: <199601072140.NAA17404@freefall.freebsd.org>

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

>Number:         938
>Category:       kern
>Synopsis:       after heavy disk I/O, processes sleep on "newbuf" indefinitely
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan  7 13:40:02 PST 1996
>Last-Modified:
>Originator:     Ron Lenk
>Organization:
A private FreeBSD site
>Release:        FreeBSD 2.1-STABLE i386
>Environment:

FreeBSD 2.1-STABLE, kernel sources obtained via FTP from ftp.freebsd.org on
Sun Jan  7, at about 10:00 MST.

dmesg output:

FreeBSD 2.1-STABLE #0: Sun Jan  7 12:33:12 MST 1996
    rlenk@widget.xmission.com:/usr/src/sys/compile/WIDGET
CPU: 60-MHz Pentium 510\60 (Pentium-class CPU)
  Origin = "GenuineIntel"  Id = 0x517  Stepping=7
  Features=0x1bf<FPU,VME,PSE,MCE,CX8,APIC>
real memory  = 33554432 (32768K bytes)
avail memory = 30621696 (29904K bytes)
ahc0: <Adaptec 284X SCSI host adapter> at 0x1c00-0x1cff irq 11 on isa
ahc0: Using Edge Triggered Interrupts
ahc0: aic7770 <= Rev C, Single Channel, SCSI Id=7, 4 SCBs
ahc0: Probing channel A
ahc0 waiting for scsi devices to settle
ahc0: target 0 synchronous at 10.0MHz, offset = 0xf
ahc0: target 0 Tagged Queuing Device
(ahc0:0:0): "MICROP 2210-09MQ1001901 HQ30" type 0 fixed SCSI 2
sd0(ahc0:0:0): Direct-Access 1008MB (2065250 512 byte sectors)
sd0(ahc0:0:0): with 2372 cyls, 9 heads, and an average 96 sectors/track
ahc0: target 1 synchronous at 5.0MHz, offset = 0xf
(ahc0:1:0): "SyQuest SQ3270S 2_04" type 0 removable SCSI 2
sd1(ahc0:1:0): Direct-Access 256MB (524288 512 byte sectors)
sd1(ahc0:1:0): with 3140 cyls, 2 heads, and an average 83 sectors/track
(ahc0:2:0): "TEXEL CD-ROM DM-XX28 3.05" type 5 removable SCSI 2
cd0(ahc0:2:0): CD-ROM 
cd0(ahc0:2:0): NOT READY asc:3a,0 Medium not present
can't get the size

Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
ed0 at 0x280-0x28f irq 9 maddr 0xd8000 msize 8192 on isa
ed0: address 02:60:8c:3f:30:b8, type 3c503 (8 bit) 
bpf: ed0 attached
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
bpf: lp0 attached
mse0 at 0x23c irq 5 on isa
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: NEC 72065B
fd0: 1.44MB 3.5in
fd1: 1.2MB 5.25in
npx0 on motherboard
npx0: INT 16 interface
BIOS Geometries:
 0:03ef3f20 0..1007=1008 cylinders, 0..63=64 heads, 1..32=32 sectors
 0 accounted for
bpf: lo0 attached
bpf: ppp0 attached
bpf: ppp1 attached
bpf: sl0 attached
bpf: sl1 attached
bpf: tun0 attached
bpf: tun1 attached
sd0s1: type 0xa5, start 0, end = 2065249, size 2065250 : OK

kernel configuration file:

machine		"i386"
cpu		"I586_CPU"
ident		WIDGET
maxusers	64

options		INET
options		FFS
options		MFS
options		NFS
options		MSDOSFS
options		"CD9660"
options		PROCFS
options		"COMPAT_43"
options		"SCSI_DELAY=5"
options		BOUNCE_BUFFERS
options		UCONSOLE
options		SYSVSHM
options		SYSVSEM
options		SYSVMSG
options         "AUTO_EOI_1"
options         "AUTO_EOI_2"
options         DUMMY_NOPS
options         AHC_TAGENABLE
options         KTRACE
options         "CHILD_MAX=128"
options         "OPEN_MAX=128"
options		DDB

config		kernel	root on sd0

controller	isa0
controller	eisa0

controller	fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk		fd0	at fdc0 drive 0
disk		fd1	at fdc0 drive 1

controller	ahc0
controller	scbus0
device		sd0
device		cd0

device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

device		sio0	at isa? port "IO_COM1" tty irq 4 vector siointr
device		sio1	at isa? port "IO_COM2" tty irq 3 vector siointr
device		lpt0	at isa? port? tty irq 7 vector lptintr
device		mse0	at isa? port 0x23c tty irq 5 vector mseintr
device 		ed0 	at isa? port 0x280 net irq  9 iomem 0xd8000 vector edintr

pseudo-device	loop
pseudo-device	ether
pseudo-device	log
pseudo-device	sl	2
pseudo-device	ppp	2
pseudo-device	tun	2
pseudo-device	pty	64
pseudo-device	snp	2
pseudo-device	bpfilter	8
pseudo-device	speaker
pseudo-device	gzip
pseudo-device	vn

>Description:

After periods of heavy disk I/O, all disk activity will eventually stop,
leaving the machine in a semi-hung condition. The only way to recover is
do a full hardware reset, with the big red button. :)

The easiest way to cause the hang is to do something such as:

dd if=/dev/zero of=bigfile
dd if=bigfile of=/dev/null

Building a kernel with DDB, and doing a "ps" after escaping to the
debugger reveals that the "dd" process is waiting on "newbuf". If
I do a "continue", then escape to the debugger again after several
minutes, more of the processes, such as cron, syslogd, etc, are also
waiting on "newbuf".

>How-To-Repeat:

See above.

>Fix:

Unknown
>Audit-Trail:
>Unformatted:



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