NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/46063: Locking problem in ttwrite with tty_lock



>Number:         46063
>Category:       kern
>Synopsis:       Locking problem in ttwrite with tty_lock
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 21 08:30:00 +0000 2012
>Originator:     Nick Hudson
>Release:        -current
>Organization:
>Environment:
NetBSD a7000 6.99.3 NetBSD 6.99.3 (GENERIC) #0: Mon Feb 20 13:17:50 GMT 2012 
nick@kenny:/u/obj/acorn32/usr/src/sys/arch/acorn32/compile/GENERIC acorn32

kenny$                                                                          
                                                                                
                                                 
                                          
>Description:
A console bell on my NetBSD/acorn32 A7000 triggers KASSERT at

    http://nxr.netbsd.org/source/xref/src/sys/kern/kern_synch.c#682

as the tty_lock is held in ttwrite

    http://nxr.netbsd.org/source/xref/src/sys/kern/tty.c#2125

when calling ttstart at line 2176. The stack trace is

    ttwrite -> wsdisplayopen -> wsemul_vt100_output -> wsdisplay_emulbell -> 
wsdiaply_internal_ioctl -> wsmouse_add_mux -> wskbd_cnbell -> pckbd_ioctl -> 
audiobell -> audioclose -> audio_close -> audiodrain -> audio_waitio -> 
vw_wait_sig -> sleepq_block -> mi_switch




>How-To-Repeat:
Make an acorn32 machine beep.
>Fix:
tweak tty_locking



Home | Main Index | Thread Index | Old Index