Subject: port-i386/13038: i386 system freezes when 2 serial ports used
To: None <gnats-bugs@gnats.netbsd.org>
From: None <jbernard@mines.edu>
List: netbsd-bugs
Date: 05/25/2001 16:07:20
>Number:         13038
>Category:       port-i386
>Synopsis:       i386 system freezes when 2 serial ports used
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 25 15:07:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Jim Bernard
>Release:        May 24, 2001
>Organization:
>Environment:
System: NetBSD zoo 1.5V NetBSD 1.5V (ZOO-$Revision: 1.63 $) #0: Thu May 24 21:10:17 MDT 2001 jim@zoo:/home/tmp/compile/sys/arch/i386/compile/ZOO i386
Architecture: i386
Machine: i386
>Description:
	If two serial ports are in use for a fairly short time, with traffic
	on both, the kernel freezes, and no further interaction with the
	system is possible until it is rebooted.  The freeze is perfectly
	repeatable by the method described below.  This problem may have
	the same cause as the serial-port-freeze problem I reported in PR 12985
	(there the system kept running, but the serial ports stopped working).

	I believe I've narrowed it down to the introduction of the generic
	soft interrupt implementation on April 14.  A 1.5U kernel built
	from sources updated with a timestamp of Sat Apr 14 03:00:00 2001 UTC
	(a few hours before the soft-interrupt commit) does _not_ exhibit the
	problem.  A kernel built from sources updated with a timestamp of
	Sat Apr 14 14:00:00 2001 UTC (a few hours after the soft-interrupt
	commit and a short time after a subsequent compilation problem was
	fixed) _does_ exhibit the problem, as do kernels built from sources
	up through at least late morning (UTC) on May 24.

>How-To-Repeat:
	System setup:
	  pentium 100 MHz
	  internal 56k modem used for ppp (DTE speed is 57600 bps)
	  mouse connected to onboard serial port (1200 bps)
	  (dmesg output is in PR 12985, or I can supply it separately,
	  if it would be useful; I'll supply the kernel config file
	  too, if useful)

	How to hang the system:
	  bring up ppp over modem connection
	  ping -s 7000 some_host_on_the_other_end
	  move mouse continuously for a bit (freezes within a few sec)

	By watching interrupt counts via systat vmstat, I find that moving
	the mouse continuously generates an average of 119 interrupts/sec
	(1200 bps ==> 120 chars/sec).  Separately, I found that the ping
	command above generates about 2300 interrupts per sec over the modem
	port.  I've seen similar freezes, with far lower interrupt rates,
	and it makes it quite risky to operate the system while transferring
	a file via ftp or using netscape (e.g.).

>Fix:
	Not known.
>Release-Note:
>Audit-Trail:
>Unformatted: