sparc64 kernel dump debug

Andrew Belashov bel at orel.ru
Wed Oct 13 05:36:27 PDT 2004


Maxim Konovalov wrote:
> On Wed, 13 Oct 2004, 13:26+0400, Andrew Belashov wrote:
> 
> 
>>Maxim Konovalov wrote:
>>>panic: trap: fast data access mmu miss
>>>cpuid = 0
>>>boot() called on cpu#0
>>>Uptime: 11d1h56m16s
>>>Dumping 2048 MB (1 chunks)
>>> chunk at 0: 2147483648 bytes |\^H/\^H
>>>---
>>>#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:233
>>>233             savectx(&dumppcb);
>>>doadump () at /usr/src/sys/kern/kern_shutdown.c:233
>>>233             savectx(&dumppcb);
>>>(kgdb) bt f
>>>#0  doadump () at /usr/src/sys/kern/kern_shutdown.c:233
>>>No locals.
>>>#1  0x00000000c01193c0 in boot (howto=260)
>>>at /usr/src/sys/kern/kern_shutdown.c:385
>>>       first_buf_printf = 1
>>>#2  0x00000000c0119ccc in panic (fmt=0xc02d1138 "trap: %s")
>>>at /usr/src/sys/kern/kern_shutdown.c:541
>>>_tid = (struct thread *) 0xfffff80039daea00
>>>td = (struct thread *) 0xfffff80039daea00
>>>bootopt = 260
>>>newpanic = 1
>>>buf = "trap: fast data access mmu miss", '\0' <repeats 224
>>>times>
>>>#3  0x00000000c022e8c4 in trap (tf=0xff9e51c0)
>>>at /usr/src/sys/sparc64/sparc64/trap.c:370
>>>td = (struct thread *) 0xfffff80039daea00
>>>p = (struct proc *) 0xc033f398
>>>sticks = 3223512960
>>>error = -1070788296
>>>sig = -6401600
>>>#4  0x00000000c0038fe0 in tl1_trap ()
>>>No symbol table info available.
>>>#5  0x00000000c0038fe0 in tl1_trap ()
>>>
>>>
>>>?
>>>
>>
>>Hmm... Stack corrupted?
>>
>>Please show tf[0], td[0], p[0] from frame #3.
> 
> 
> (kgdb) p tf[0]
> $2 = {tf_global = {0, 0, 0, 0, 0, 3224533928, 4288567680, 3224630168},
>   tf_out = {0, 0, 0, 0, 0, 6, 4288563905, 3222336224},
>   tf_fprs = 18446735279716060000, tf_fsr = 0, tf_gsr = 0, tf_level = 0,
>   tf_pil = 14, tf_sfar = 0, tf_sfsr = 8, tf_tar = 0, tf_tnpc = 3222336148,
>   tf_tpc = 3222336144, tf_tstate = 597000459783, tf_type = 99, tf_y = 0,
>   tf_wstate = 18446735278587177472, tf_pad = {1, 0}}

Please show trapped instruction:

(kgdb) x/10i tf[0].tf_tpc
(kgdb) info line *tf[0].tf_tpc

Show also:

(kgdb) x/10i tf[0].tf_out[7]
(kgdb) info line *tf[0].tf_out[7]

> (kgdb) p td[0]
> $4 = {td_proc = 0xfffff80030e6da70, td_ksegrp = 0xfffff80061715b80,
>   td_plist = {tqe_next = 0x0, tqe_prev = 0xfffff80030e6da90}, td_kglist = {
>     tqe_next = 0x0, tqe_prev = 0xfffff80061715b98}, td_slpq = {
>     tqe_next = 0xfffff800151b1180, tqe_prev = 0xfffff800151b0530}, td_lockq = {
>     tqe_next = 0x0, tqe_prev = 0xffc12fd0}, td_runq = {tqe_next = 0x0,
>     tqe_prev = 0x0}, td_selq = {tqh_first = 0x0,
>     tqh_last = 0xfffff80039daea60}, td_sleepqueue = 0xfffff80000987000,
>   td_turnstile = 0xfffff8000b70b000, td_tid = 100172, td_flags = 16842754,
>   td_inhibitors = 0, td_pflags = 0, td_dupfd = 0, td_wchan = 0x0,
>   td_wmesg = 0x0, td_lastcpu = 1 '\001', td_oncpu = 0 '\0', td_locks = 0,
>   td_blocked = 0x0, td_ithd = 0x0, td_lockname = 0x0, td_contested = {
>     lh_first = 0x0}, td_sleeplocks = 0x0, td_intr_nesting_level = 0,
>   td_pinned = 0, td_mailbox = 0x0, td_ucred = 0xfffff80010ca4300,
>   td_standin = 0x0, td_upcall = 0x0, td_sticks = 0, td_uuticks = 0,
>   td_usticks = 0, td_intrval = 0, td_oldsigmask = {__bits = {0, 0, 0, 0}},
>   td_sigmask = {__bits = {0, 0, 0, 0}}, td_siglist = {__bits = {0, 0, 0, 0}},
>   td_waitset = 0x0, td_umtx = {tqe_next = 0x0, tqe_prev = 0x0},
> 
> (kgdb) p p[0]
> $5 = {p_list = {le_next = 0xfffff80039daea00, le_prev = 0xfffff8007f504c80},
>   p_ksegrps = {tqh_first = 0x0, tqh_last = 0x0}, p_threads = {
>     tqh_first = 0xff9e5980, tqh_last = 0xe9bc0}, p_suspended = {
>     tqh_first = 0x1cad672999acab79, tqh_last = 0x5b4cef900000000},
>   p_ucred = 0x100000002, p_fd = 0x0, p_fdtol = 0x0, p_stats = 0x0,
>   p_limit = 0x0, p_upages_obj = 0x0, p_sigacts = 0x0, p_flag = 0,
>   p_sflag = -1070337040, p_state = PRS_NEW, p_pid = 0, p_hash = {
>     le_next = 0x0, le_prev = 0x0}, p_pglist = {le_next = 0xc033f410,
>     le_prev = 0x0}, p_pptr = 0x0, p_sibling = {le_next = 0x0,
>     le_prev = 0xc033f430}, p_children = {lh_first = 0x0}, p_mtx = {
>     mtx_object = {lo_class = 0x0, lo_name = 0x0, lo_type = 0xc033f450 "",
>       lo_flags = 0, lo_list = {tqe_next = 0x0, tqe_prev = 0x0},
>       lo_witness = 0xc033f470}, mtx_lock = 0, mtx_recurse = 0}, p_oppid = 0,
>   p_vmspace = 0xc033f490, p_swtime = 0, p_realtimer = {it_interval = {
>       tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 3224630448,
>       tv_usec = 0}}, p_runtime = {sec = 0, frac = 0}, p_uu = 3224630480,
>   p_su = 0, p_iu = 0, p_uticks = 0, p_sticks = 3224630512, p_iticks = 0,
>   p_profthreads = 0, p_maxthrwaits = 0, p_traceflag = 0,
>   p_tracevp = 0xc033f510, p_tracecred = 0x0, p_textvp = 0x0, p_siglist = {
>     __bits = {0, 0, 0, 3224630576}}, p_lock = 0 '\0', p_sigiolst = {
>     slh_first = 0x0}, p_sigparent = 0, p_sig = 0, p_code = 3224630608,
>   p_stops = 0, p_stype = 0, p_step = 0 '\0', p_pfsflags = 0 '\0',
>   p_nlminfo = 0x0, p_aioinfo = 0xc033f570, p_singlethread = 0x0,
>   p_suspcount = 0, p_xthread = 0x0, p_magic = 0,
>   p_comm = "?3?\220", '\0' <repeats 15 times>, p_pgrp = 0x0,

Hmm... Strange process name (pointed by p_comm).

>   p_sysent = 0xc033f5b0, p_args = 0x0, p_cpulimit = 0, p_nice = 0 '\0',
>   p_xstat = 0, p_klist = {kl_lock = 0xc033f5d0, kl_list = {slh_first = 0x0}},
>   p_numthreads = 0, p_numksegrps = 0, p_md = {md_utrap = 0x0,
>     md_sigtramp = 0xc033f5f0}, p_itcallout = {c_links = {sle = {
>         sle_next = 0x0}, tqe = {tqe_next = 0x0, tqe_prev = 0x0}}, c_time = 0,
>     c_arg = 0xc033f610, c_func = 0, c_flags = 0}, p_uarea = 0x0, p_acflag = 0,
>   p_ru = 0x0, p_peers = 0x0, p_leader = 0x0, p_emuldata = 0xc033f650,
>   p_label = 0x0, p_sched = 0x0}
> 



More information about the freebsd-sparc64 mailing list