current/netbsd-10: panic() when MULTIPROCESSOR is disabled

Paolo Pisati <[email protected]>
Newsgroups gmane.os.netbsd.general,gmane.os.netbsd.devel.kernel
Message-ID <CAMmgNdbWiDLy4NVfSXjcFpV2A=ixVOm=UC89HyreBULDFp8JiA@mail.gmail.com>
I'm slimming down a GENERIC i386 kernel[1] for an embedded board[2], when i
discovered that turning off MULTIPROCESSOR, leads to:

[  12.3802131] Mutex error: mutex_spin_retry,979: locking against myself
...
[  12.3802131] panic: lock error: Mutex: mutex_spin_retry,979: locking
against myself: lock 0xc1052b08 cpu 0 lwp 0xc0df7300
...

here the full trace: https://dpaste.org/ZsVvf

$ gdb ../obj.i386/sys/arch/i386/compile/ALIX/netbsd.gdb
(gdb) info line *(knote+0x34)
Line 2937 of "/home/flag/bsd/netbsd/src/sys/kern/kern_event.c" starts at
address 0xc03bec0c <knote+52> and ends at 0xc03bec13 <knote+59>.

so, if i'm reading it correctly:

static void
knote_activate(struct knote *kn) {

struct kqueue *kq = kn->kn_kq;

mutex_spin_enter(&kq->kq_lock); <--- is it this one???
knote_activate_locked(kn);            <--- 2937 is actually this line,
though
mutex_spin_exit(&kq->kq_lock);
}

the annoying part is that adding any debug option (e.g. LOCKDEBUG, etc)
makes the panic disappear.

Any idea how can i debug it further?


1: https://dpaste.com//GM8KQV74X
2: https://www.pcengines.ch/alix.htm


-- 
bye,
p.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.