NetBSD-Bugs archive

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

xsrc/44712: wscons VT switching gets wedged



>Number:         44712
>Category:       xsrc
>Synopsis:       wscons VT switching gets wedged
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    xsrc-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Mar 12 03:35:00 +0000 2011
>Originator:     David A. Holland
>Release:        NetBSD 5.99.41 (20101130)
>Organization:
>Environment:
System: NetBSD macaran 5.99.41 NetBSD 5.99.41 (MACARAN) #3: Tue Nov 30 21:52:01 
EST 2010 dholland@macaran:/usr/src/sys/arch/amd64/compile/MACARAN amd64
Architecture: x86_64
Machine: amd64
>Description:

Tonight while starting an X server (on screen 1; there was another one
running as screen 0, which might or might not be important) I hit
ctrl-alt-f1 at, apparently, just the wrong time. This left wscons
unable to switch VTs. Hitting ctrl-alt-Fn (for any n) did nothing;
explicitly switching with wsconscfg(*) yielded EBUSY.

It looks as if the EBUSY comes from line 1943 of wsdisplay.c, meaning
that the SC_SWITCHPENDING flag got set and some race condition
associated with starting up the X server caused the operation that's
supposed to clear the flag to get lost.

The EBUSY might instead be coming from line 1972 but I don't think so
judging from what SCR_GRAPHICS is documented to mean and the fact that
I have an ordinary x86 text console.

On the other hand it looks as if SC_SWITCHPENDING should be cleared by
suspending and resuming wsdisplay0. I tried to do that and couldn't
get it to do anything; but maybe I was doing it wrong.


(*) (Why is this functionality found in wscons*cfg* rather than
wscons*ctl*?)

>How-To-Repeat:

as above.

>Fix:

dunno.



Home | Main Index | Thread Index | Old Index