Subject: processes stuck draining tty at exit
To: None <port-i386@netbsd.org>
From: Antti Kantee <pooka@iki.fi>
List: port-i386
Date: 03/26/2001 12:24:01
I'm running 1.5.1_ALPHA from a few months back. One com-port using
process just refused to exit:

              proc   pid     flag st              wchan comm
        0xf6740010 25991     6086  3         0xf637e164 uisp (ttyout)

(gdb) proc 0xf6740010
(gdb) bt
#0  mi_switch (p=0xf6740010) at ../../../../kern/kern_synch.c:834
#1  0xc0134cfe in ltsleep (ident=0xf637e164, priority=282, 
    wmesg=0xc028f263 "ttyout", timo=0, interlock=0x0)
    at ../../../../kern/kern_synch.c:482
#2  0xc0144c66 in ttysleep (tp=0xf637e11c, chan=0xf637e164, pri=282, 
    wmesg=0xc028f263 "ttyout", timo=0) at ../../../../kern/tty.c:2121
#3  0xc0143633 in ttywait (tp=0xf637e11c) at ../../../../kern/tty.c:1085
#4  0xc014367a in ttywflush (tp=0xf637e11c) at ../../../../kern/tty.c:1102
#5  0xc01438d2 in ttylclose (tp=0xf637e11c, flag=3)
    at ../../../../kern/tty.c:1223
#6  0xc0105ace in comclose (dev=2048, flag=3, mode=8192, p=0xf6740010)
    at ../../../../dev/ic/com.c:905
#7  0xc01651a6 in spec_close (v=0xf71a4e4c)
    at ../../../../miscfs/specfs/spec_vnops.c:653
#8  0xc0221ac1 in ufsspec_close (v=0xf71a4e4c)
    at ../../../../ufs/ufs/ufs_vnops.c:1758
#9  0xc015c557 in vn_close (vp=0xf69fe948, flags=3, cred=0xc0dd7580, 
    p=0xf6740010) at ../../../../sys/vnode_if.h:171
#10 0xc015ce07 in vn_closefile (fp=0xf671fe74, p=0xf6740010)
    at ../../../../kern/vfs_vnops.c:605
#11 0xc012b73a in closef (fp=0xf671fe74, p=0xf6740010)
    at ../../../../kern/kern_descrip.c:1090
#12 0xc012b56d in fdfree (p=0xf6740010) at ../../../../kern/kern_descrip.c:965
---Type <return> to continue, or q <return> to quit---
#13 0xc012d1a2 in exit1 (p=0xf6740010, rv=2)
    at ../../../../kern/kern_exit.c:185
#14 0xc01333bb in sigexit (p=0xf6740010, signum=2)
    at ../../../../kern/kern_sig.c:1281
#15 0xc01331ba in postsig (signum=2) at ../../../../kern/kern_sig.c:1178
#16 0xc023a0f2 in syscall (frame={tf_es = 31, tf_ds = 31, 
      tf_edi = -1077946988, tf_esi = 1, tf_ebp = -1077957156, 
      tf_ebx = -1077957188, tf_edx = 3404, tf_ecx = 4, tf_eax = 4, 
      tf_trapno = 3, tf_err = 2, tf_eip = 1209026483, tf_cs = 23, 
      tf_eflags = 519, tf_esp = -1077957320, tf_ss = 31, tf_vm86_es = 0, 
      tf_vm86_ds = 0, tf_vm86_fs = 0, tf_vm86_gs = 0})
    at ../../../../arch/i386/i386/trap.c:187
#17 0xc0100cab in syscall1 ()

Reboot of course fixed it, but left me a bit unhappy. Any ideas how to
attack this if it happens again? Or even an idea for a, *gasp*, total
fix for the problem?

Thanks,
  Antti

-- 
Antti Kantee <pooka@iki.fi>          v          Of course he runs NetBSD
http://www.iki.fi/pooka/             i            http://www.NetBSD.org/