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: