Subject: Re: mutex fault and no symbol table on recent Dom0 and Xen
To: Kazushi Marukawa <jam@pobox.com>
From: Christoph Egger <Christoph_Egger@gmx.de>
List: port-xen
Date: 07/30/2007 08:45:33
The mutex error is a bug in NetBSD.
The missing symbol table is a regression in Xen 3.1.
(The symbol table is there with Xen 3.0.4). I am already
working on fixing this.
Christoph
On Sunday 29 July 2007 17:13:15 Kazushi Marukawa wrote:
> On Jul 3, 9:45, Kazushi (Jam) Marukawa wrote:
> > Subject: mutex fault and no symbol table on recent Dom0 and Xen
> > Hi,
> >
> > I'm having difficulties with recent Dom0 kernel. It crashes
> > with following message.
> >
> > Mutex error: mutex_vector_exit: exiting unheld spin mutex
> >
> > I tried Dom0 from both 20070627 and 20070701. Both crashed
> > because of mutex error. Here is a crash log from 0627. Not
> > sure why, but db didn't show symbol table.
>
> I tried recent kernel, 2007/07/26 source codes, and got the
> same problem.
>
> This time, I konw db doesn't work with Xen 3.1, so I hand-
> translated addresses to symbol name. Can someone inspect
> this problem? Thanks.
>
> -----
> Mutex error: mutex_vector_exit: exiting unheld spin mutex
>
> lock address : 0x00000000c0978280
> current cpu : 0
> current lwp : 0x00000000cae21e00
> owner field : 0x0000000000000b00 wait/spin: 0/1
>
> panic: lock error
> Stopped in pid 0.2 (system) at 0xc04bbe14: popl %ebp
> db> trace
> ?(c085f60d,cae4eee4,cae4eed8,c0439717,b) at 0xc04bbe14
> ?(c083d699,c083c34b,c06ef970,c083c2e7,c0978280) at 0xc04396a5
> ?(0,c0978280,c08d198c,c06ef970,c083c2e7) at 0xc0434d21
> ?(c0978280,c06ef970,c083c2e7,0,0) at 0xc0414c2c
> ?(c0978280,ca003b9a,cae4ef78,e1894609,c0914520) at 0xc0414e0f
> ?(0,0,cae4efb8,c04cc0b6,0) at 0xc042b8e0
> ?(0,cae4efa8,0,f,fffff000) at 0xc04f42af
> ?(0,cad9cbdc,3,1,c04f42bb) at 0xc0103dfd
> ?(f,cad9cbdc,cad9cb94,0,0) at 0xc04cc6b7
> --- switch to interrupt stack ---
> ?(cad9cbdc,0,11,31,ca000011) at 0xc0102550
> ?(c040bd50,cae21e00,cad9cc6c,c040bdfe,cae21e00) at 0xc0104323
> ?(cae21e00,cad9cc68,c0413b6e,0,cae21e00) at 0xc04be545
> ?(cae21e00,0,c01001e7,c01001df,c01001e7) at 0xc040bdfe
> db>
> -----
>
> NetBSD's DB cannot read symbol table on Xen 3.1. Therefore,
> I translated it to name by hand.
>
> -----
> Mutex error: mutex_vector_exit: exiting unheld spin mutex
>
> lock address : 0x00000000c0978280 (sched_mutex)
> current cpu : 0
> current lwp : 0x00000000cae21e00
> owner field : 0x0000000000000b00 wait/spin: 0/1
>
> panic: lock error
> Stopped in pid 0.2 (system) at cpu_Debugger+0x4: popl %ebp
> db> trace
> db> trace
> cpu_Debugger(c085f60d,cae4eee4,cae4eed8,c0439717,b) at cpu_Debugger+0x4
> panic(c083d699,c083c34b,c06ef970,c083c2e7,c0978280) at panic+0x155
> lockdebug_abort(0,c0978280,c08d198c,c06ef970,c083c2e7) at
> lockdebug_abort+0x61 mutex_abort(c0978280,c06ef970,c083c2e7,0,0) at
> mutex_abort+0x3c
> mutex_vector_exit(c0978280,ca003b9a,cae4ef78,e1894609,c0914520) at
> mutex_vector_exit+0xcf callout_softclock(0,0,cae4efb8,c04cc0b6,0) at
> callout_softclock+0x240 softintr_dispatch(0,cae4efa8,0,f,fffff000) at
> softintr_dispatch+0x3f Xsoftclock(0,cad9cbdc,3,1,c04f42bb) at
> Xsoftclock+0x39
> evtchn_do_event(f,cad9cbdc,cad9cb94,0,0) at evtchn_do_event+0xf7
> --- switch to interrupt stack ---
> call_evtchn_do_event(cad9cbdc,0,11,31,ca000011) at
> call_evtchn_do_event+0x1c
> hypervisor_callback(c040bd50,cae21e00,cad9cc6c,c040bdfe,cae21e00) at
> hypervisor_callback+0x63 cpu_idle(cae21e00,cad9cc68,c0413b6e,0,cae21e00) at
> cpu_idle+0x25
> idle_loop(cae21e00,0,c01001e7,c01001df,c01001e7) at idle_loop+0xae
> db>
> -----
>
> -- Kazushi
> This process can check if this value is zero, and if it is, it does
> something child-like.
> -- Forbes Burkowski, Computer Science 454