Subject: kern/25104: ^C in a pipe might deadlock the kernel
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <martin@aprisoft.de>
List: netbsd-bugs
Date: 04/08/2004 14:13:20
>Number: 25104
>Category: kern
>Synopsis: ^C in a pipe might deadlock the kernel
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Apr 08 12:14:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Martin Husemann
>Release: NetBSD 2.0_BETA
>Organization:
>Environment:
System: NetBSD emmas.aprisoft.de 2.0_BETA NetBSD 2.0_BETA (EMMAS) #0: Wed Apr 7 12:44:53 CEST 2004 martin@emmas.aprisoft.de:/usr/src/sys/arch/i386/compile/EMMAS i386
Architecture: sparc
Machine: sparc
>Description:
On a serial console of a sparc used as NAT router I ran
tcpdump -i be0 -vvv -s 2400 |& tee /tmp/log
and after I had all the data I wanted I tried to stop it by pressing Ctrl-C.
No reacation on the console any more. Breaking to the debugger worked,
here is a log.
^C
^C^C
Stopped at netbsd:cpu_Debugger+0x4: or %o7, %g0, %g1
db> tr
cpu_Debugger(0xf0413870, 0x0, 0x12b, 0x0, 0xf0225000, 0xf01f2cdc) at netbsd:zsc_intr_hard+0x130
zsc_intr_hard(0x8, 0xf01a8000, 0xf01f2c00, 0xf01f24dc, 0xf01f14dc, 0x100) at netbsd:zshard+0x44
zshard(0x0, 0xf0151804, 0xd00, 0x118000e7, 0xf01f14dc, 0x100) at netbsd:sparc_interrupt44c+0x18c
sparc_interrupt44c(0xf01d83d4, 0xf01a7d10, 0x292, 0x0, 0x0, 0x0) at netbsd:switchexit+0xf4
db> ps /a
PID COMMAND STRUCT PROC * UAREA * VMSPACE/VM_MAP
9762 tee 0xf2a80710 0xf2dc9000 0xf2958ac0
9399 tcsh 0xf2970388 0xf297b000 0xf2958158
11795 cron 0xf2a80e10 0xf2c96000 0xf29586b8
12349 upsmon 0xf2970a88 0xf2bf0000 0xf29582b0
7694 upsmon 0xf2970548 0xf2a70000 0xf2958d70
379 ipmon 0xf2a801d0 0xf2b81000 0xf2958810
280 inetd 0xf2a80a90 0xf2b9e000 0xf2b8a410
214 sshd 0xf2a808d0 0xf2b98000 0xf2b8a2b8
333 ntpd 0xf2970c48 0xf2b84000 0xf2958c18
151 ifwatchd 0xf2970708 0xf298a000 0xf2958408
145 syslogd 0xf29708c8 0xf29a6000 0xf2958560
11 aiodoned 0xf29701c8 0xf2971000 0xf0222df8
10 ioflush 0xf2970008 0xf296e000 0xf0222df8
9 pagedaemon 0xf2952e00 0xf296c000 0xf0222df8
8 nfsio 0xf2952c40 0xf2967000 0xf0222df8
7 nfsio 0xf2952a80 0xf2965000 0xf0222df8
6 nfsio 0xf29528c0 0xf2963000 0xf0222df8
5 nfsio 0xf2952700 0xf2961000 0xf0222df8
4 nell0 0xf2952540 0xf295f000 0xf0222df8
3 scsibus1 0xf2952380 0xf295d000 0xf0222df8
2 scsibus0 0xf29521c0 0xf295b000 0xf0222df8
db> ps /w
PID COMMAND EMUL PRI UTIME STIME WAIT-MSG WAIT-CHANNEL
9762 tee netbsd 4 0.0 0.1 genput netbsd:ddb_cpuinfo+0x1d582c
9399 tcsh netbsd 40 0.3 0.9 pause netbsd:ddb_cpuinfo+0x2753504
11795 cron netbsd 21 0.1 0.8 nfsrcvlk netbsd:ddb_cpuinfo+0x25f72c
12349 upsmon netbsd 24 9.9 42.5 netio netbsd:ddb_cpuinfo+0x27dee4
7694 upsmon netbsd 16 0.0 0.0 piperd netbsd:ddb_cpuinfo+0x275f4fc
379 ipmon netbsd 32 1.4 12.7 nanosleep netbsd:nanowait.0
280 inetd netbsd 24 0.0 0.0 kqread netbsd:ddb_cpuinfo+0x2ed4fc
214 sshd netbsd 24 0.0 0.2 select netbsd:selwait
333 ntpd netbsd 40 7.5 21.1 pause netbsd:ddb_cpuinfo+0x295c544
151 ifwatchd netbsd 24 0.0 0.0 netio netbsd:ddb_cpuinfo+0x27d8a4
145 syslogd netbsd 21 1.3 0.8 nfsrcvlk netbsd:ddb_cpuinfo+0x25f72c
11 aiodoned netbsd 4 0.0 1.1 aiodoned netbsd:uvm+0x7c
10 ioflush netbsd 40 0.0 14.1 syncer netbsd:rushjob
9 pagedaemon netbsd 4 0.0 0.0 pgdaemon netbsd:uvm+0x58
8 nfsio netbsd 32 0.0 0.1 nfsidl netbsd:nfs_asyncdaemon+0x98
7 nfsio netbsd 32 0.0 0.9 nfsidl netbsd:nfs_asyncdaemon+0x70
6 nfsio netbsd 32 0.0 4.2 nfsidl netbsd:nfs_asyncdaemon+0x48
5 nfsio netbsd 24 0.0 18.4 netio netbsd:ddb_cpuinfo+0x27d584
4 nell0 netbsd 32 0.0 0.0 pcicev netbsd:ddb_cpuinfo+0x21ae48
3 scsibus1 netbsd 16 0.0 0.0 sccomp netbsd:ddb_cpuinfo+0x1e9604
2 scsibus0 netbsd 16 0.0 0.0 sccomp netbsd:ddb_cpuinfo+0x1e9a04
1 init netbsd 32 0.0 0.7 wait netbsd:ddb_cpuinfo+0x27284fc
0 swapper netbsd 4 0.0 0.6 scheduler netbsd:proc0
>How-To-Repeat:
s/a
>Fix:
n/A
>Release-Note:
>Audit-Trail:
>Unformatted: