Date: Tue, 21 Apr 2009 23:11:44 +0200 From: Florian Smeets <flo@kasimir.com> To: Marius Strobl <marius@alchemy.franken.de> Cc: freebsd-sparc64@freebsd.org Subject: Re: US-III crashes on current Message-ID: <49EE3690.2010404@kasimir.com> In-Reply-To: <20090421210332.GD33994@alchemy.franken.de> References: <bc4edd860903221730p584dc13s5aff941ae3515b60@mail.gmail.com> <20090325114426.GA74306@alchemy.franken.de> <49CA1BF1.6090507@kasimir.com> <20090420183620.GA25251@alchemy.franken.de> <49ED0917.10402@kasimir.com> <20090421185814.GA33994@alchemy.franken.de> <49EE1B54.50003@kasimir.com> <20090421210332.GD33994@alchemy.franken.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On 21.04.09 23:03, Marius Strobl wrote: > On Tue, Apr 21, 2009 at 09:15:32PM +0200, Florian Smeets wrote: >> On 21.04.09 20:58, Marius Strobl wrote: >>> On Tue, Apr 21, 2009 at 01:45:27AM +0200, Florian Smeets wrote: >>>> >>>> Yes, i can still reproduce this on every shutdown. Tried with r191337. >>>> Trace is still the same. >>>> >>> >>> Could you please run gdb(1) on the corresponding kernel.debug >>> and report the output of the following commands? >>> l *(0xc034c96c) >>> l *(callout_lock+0x40) >>> Change as needed if the addresses differ from the above >>> backtrace. Hrm, the one you reported to scsi@ actually >>> is a bit different: >>>> -- fast data access mmu miss tar=0x1454156000 %o7=0xc040e7a4 -- >>>> _mtx_lock_spin_flags() at _mtx_lock_spin_flags+0x5c >>>> callout_lock() at callout_lock+0x50 >>> >>> In that case please additionally get the output of >>> l *(_mtx_lock_spin_flags+0x5c) >>> >> >> OK, to get this straight this is the trace I'm talking about. >> >> Uptime: 19h19m49s >> panic: trap: fast data access mmu miss >> cpuid = 0 >> KDB: enter: panic >> [thread pid 97473 tid 100179 ] >> Stopped at kdb_enter+0x80: ta %xcc, 1 >> db> where >> Tracing pid 97473 tid 100179 td 0xfffff80006dfc370 >> panic() at panic+0x20c >> trap() at trap+0x4d0 >> -- fast data access mmu miss tar=0x20007e000 %o7=0xc03f70a4 -- >> callout_lock() at callout_lock+0x20 >> untimeout() at untimeout+0xc >> isp_done() at isp_done+0x140 >> isp_intr() at isp_intr+0x3eb8 >> isp_poll() at isp_poll+0x38 >> xpt_polled_action() at xpt_polled_action+0xc8 >> dashutdown() at dashutdown+0x16c >> boot() at boot+0x850 >> reboot() at reboot+0x64 >> syscall() at syscall+0x2b4 >> -- syscall (55, FreeBSD ELF64, reboot) %o7=0x1013e4 -- >> userland() at 0x40564948 >> user trace: trap %o7=0x1013e4 >> pc 0x40564948, sp 0x7fdffffe201 >> pc 0x100df0, sp 0x7fdffffe2c1 >> pc 0x40206954, sp 0x7fdffffe381 >> done >> >> (gdb) l *(0xc03f70a4) >> 0xc03f70a4 is in spinlock_exit (/usr/src/sys/sparc64/sparc64/machdep.c:232). >> 227 spinlock_exit(void) >> 228 { >> 229 struct thread *td; >> 230 >> 231 td = curthread; >> 232 critical_exit(); >> 233 td->td_md.md_spinlock_count--; >> 234 if (td->td_md.md_spinlock_count == 0) >> 235 wrpr(pil, td->td_md.md_saved_pil, 0); >> 236 } > > Hrm, this suggests that curthread or the per-CPU data went > missing at that point, which leaves me clueless at the > moment. Do you see this problem since installing FreeBSD > on that machine or has it developed later? If the latter, > can you pinpoint when it started? What kind of access for > debugging could you provide? > Honestly i don't know for sure. I don't know if it already existed with the first USIII patch you sent me. But i know 100% certain that i was already seeing this when we were debugging the STICK thing, which was only a few days after i installed the machine (with your initial patch). I cloud provide access to a FreeBSD box from which you could telnet to the rsc card of the machine. Cheers, Florian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?49EE3690.2010404>