Subject: Re: tty_lock problems with zs (was: sparc64 -current kernel fails to boot)
To: None <ad@NetBSD.org>
From: Robert Swindells <rjs@fdy2.demon.co.uk>
List: port-sparc64
Date: 12/22/2007 21:58:14
Andrew Doran wrote:
>On Sat, Dec 22, 2007 at 12:39:45AM -0500, Chris Ross wrote:

>>   So, I looked into this a little more.  There are mutex_spin_enter()
>> and mutex_spin_exit() calls in sys/kern/tty.c in both nullmodem() and
>> ttymodem().  Either or both of those will cause the same:
>> 
>> Mutex error: mutex_vector_enter: locking against myself
>> 
>>   crash if the calls are only removed from zstty_softint().  I
>> experimented with taking those out as well, despite presuming that
>> was the "wrong thing to do," and the machine comes up to multi-user,
>> but crashes with an unlocked mutex as soon as I try to log in.
>> 
>>   The following change to sys/dev/ic/z8530tty.c causes the machine
>> to come up multi-user, and I can ssh in and do things.  But, I was
>> just guessing at something to try, and would want someone who knows
>> much more about the recent vmlocking branch merges to give an
>> opinion.  Andrew?

>I made similar changes so it should be OK now. It would be nice to simplify
>the tty driver interface but that would take a lot of time.

It now crashes in sunkbd_write_data().

> bt
lockdebug_abort(...)
mutex_vector_enter(...)
sunkbd_write_data(...)
kbd_sun_start_tx(...)
sunkbdstart(...)
zstty_softint1(...)
zstty_softint(...)
zsc_intr_soft(...)
zssoft(...)
softint_thread(...)
lwp_trampoline(...)

Robert Swindells