[Kittyhawk] digging deeper

Eric Van Hensbergen ericvh at gmail.com
Sat Sep 17 18:46:20 EDT 2011


I've started paying more attention to the debugger when things lock up
as the console output has been less useful since a recent round of
fixes.
Several nodes seem to be in a bad state, but lets focus on {17}:

memory console dump (never got out jtag):
c0389260: 696e6720 756e7573 6564206b 65726e65 6c206d65 6d6f7279
3a203138 306b2069  * ing unused kernel memory: 180k i *
c0389280: 6e69740a 556e6162 6c652074 6f206861 6e646c65 206b6572
6e656c20 70616769  * nit.Unable to handle kernel pagi *
c03892a0: 6e672072 65717565 73742066 6f722064 61746120 61742061
64647265 73732030  * ng request for data at address 0 *
c03892c0: 78303030 30303030 340a0000 00000000 00000000 00000000
00000000 00000000  * x00000004....................... *

haredebug[ANL-R00-M0-N00-64]>{0-64}.0 dump_iar
OK
{0}.0 IAR:  0xc0007b74    LR:  0xc0007b88 <--- cpu idle
{3}.0 IAR:  0xc029c244    LR:  0xc01de7ec  <--- spin_lock/con_flush
{17}.0 IAR:  0xc029c570    LR:  0xc01d7a64  <- spin_lock/tree xmit

really need to dump_iar from all cores next time.  a bit confused by
stack trace and iar not syncing up...

{17}.0 Dump stack
Core 0 Stack Dump
0xc0355b70  0xc001369c  <--  c0013680 t non_coherent_fixup_cache_tlb
0xc0355bc0  0xc01dde44  <-- c01dddb0 do_write (bg_tty)
0xc0355c00  0xc01ddf64 <-- bg_console_write
0xc0355c20  0xc002d9ec <-- __call_console_drivers
0xc0355c60  0xc002df08 <-- release_console_sem
0xc0355cf0  0xc002e7ec <-- vprintk
0xc0355d30  0xc002e900 <-- printk
0xc0355d40  0xc0013030 <--- bad page fault
0xc0355e00  0xc000fa70 <--- handle page fault
0xc0355e30  0xc01de890 <-- con flush
0xc0355e60  0xc01d8404 <-- bgtree_inject_interrupt
0xc0355e80  0xc00576e4 <-- handleirq
0xc0355ea0  0xc0059754 <--- handle fasteoi irq
0xc0355ec0  0xc0004418 <-- doirq
0xc0355f80  0xc000fc04 <--- ret from except
0xc0355fa0  0xc0007b88 <--- cpu_idle
0xc0355fb0  0xc02989d4
0xc0355ff0  0xc030cca4
0x00000000  0xc00001f8
{17}.1 Dump stack
Core 1 Stack Dump
0xeffc5fe0  0xc0007b88  <- c0007ab0 T cpu_idle
0xeffc5ff0  0xc00109bc
0x00000000  0xc0000258
{17}.2 Dump stack
Core 2 Stack Dump
0xeffc7fe0  0xc0007b88 <- c0007ab0 T cpu_idle
0xeffc7ff0  0xc00109bc
0x00000000  0xc0000258
{17}.3 Dump stack
Core 3 Stack Dump
0xefe1be30  0x20224422
0xefe1be40  0xc019101c <- tty_set_operations


now, the only place where bgtree_inject_interrupt prints is:
    if (pend_irq & ~(_TR_INJ_PIX_WM0 | _TR_INJ_PIX_WM1 | _TR_INJ_PIX_ENABLE)) {
	BUG();
	printk("bgtree: unhandled inject IRQ bits=%x\n", pend_irq);
	// XXX: handle error situation
    }

need to repeat experiments a few more times, but baby in my lap is
making it difficult...

       -eric


More information about the Kittyhawk mailing list