Dave Anderson <anderson@xxxxxxxxxx> writes: > Actually, it supposed to be the function that was running on the process stack > prior to the transition to the IRQ stack. So it should be "handle_irq" here > in arch/x86/kernel/irq_32.c: I see. [...] >> crash> bt >> PID: 0 TASK: c1da8b00 CPU: 0 COMMAND: "swapper/0" >> #0 [c1da1f60] __schedule at c19fe305 >> #1 [c1da1fa0] schedule at c19febb3 >> #2 [c1da1fac] schedule_preempt_disabled at c19ff0a2 >> #3 [c1da1fb4] cpu_startup_entry at c10a9580 >> crash> bt 45 >> PID: 45 TASK: f57d3a00 CPU: 3 COMMAND: "kworker/3:1" >> bt: cannot resolve stack trace: >> bt: Task in user space -- no backtrace >> >> In above case, looks like failed to detect panic cpu, and "bt 45" also >> not working. crash> bt 45 PID: 45 TASK: f57d3a00 CPU: 3 COMMAND: "kworker/3:1" bt: cannot resolve stack trace: bt: Task in user space -- no backtrace [...] >> crash> bt >> PID: 31 TASK: f505e080 CPU: 1 COMMAND: "kworker/1:1" >> #0 [f5a73de8] die at c101dc04 >> #1 [f5a73dfc] notify_die at c10809fc >> #2 [f5a73e24] do_error_trap at c101ab1c >> #3 [f5a73ec4] do_invalid_op at c101b2cf >> #4 [f5a73ed4] error_code (via invalid_op) at c1a060fd >> EAX: f505e080 EBX: f3da0000 ECX: 00000041 EDX: 0000c06a EBP: f5a73f28 >> DS: 007b ESI: f3da154c ES: 007b EDI: 00000000 GS: ffffb2b0 >> CS: 0060 EIP: c172b046 ERR: ffffffff EFLAGS: 00210006 >> #5 [f5a73f08] __ata_sff_port_intr at c172b046 >> #6 [f5a73f2c] ata_bmdma_port_intr at c172b333 >> #7 [f5a73f50] ata_bmdma_interrupt at c172b576 >> #8 [f5a73f84] __handle_irq_event_percpu at c10cf376 >> #9 [f5a73fc0] handle_irq_event_percpu at c10cf7c9 >> #10 [f5a73fd4] handle_irq_event at c10cf829 >> #11 [f5a73fe8] handle_edge_irq at c10d2958 >> --- <hard IRQ> --- >> bt: cannot resolve stack trace: >> bt: text symbols on stack: crash> bt PID: 31 TASK: f505e080 CPU: 1 COMMAND: "kworker/1:1" #0 [f5a73de8] die at c101dc04 #1 [f5a73dfc] notify_die at c10809fc #2 [f5a73e24] do_error_trap at c101ab1c #3 [f5a73ec4] do_invalid_op at c101b2cf #4 [f5a73ed4] error_code (via invalid_op) at c1a060fd EAX: f505e080 EBX: f3da0000 ECX: 00000041 EDX: 0000c06a EBP: f5a73f28 DS: 007b ESI: f3da154c ES: 007b EDI: 00000000 GS: ffffb2b0 CS: 0060 EIP: c172b046 ERR: ffffffff EFLAGS: 00210006 #5 [f5a73f08] __ata_sff_port_intr at c172b046 #6 [f5a73f2c] ata_bmdma_port_intr at c172b333 #7 [f5a73f50] ata_bmdma_interrupt at c172b576 #8 [f5a73f84] __handle_irq_event_percpu at c10cf376 #9 [f5a73fc0] handle_irq_event_percpu at c10cf7c9 #10 [f5a73fd4] handle_irq_event at c10cf829 #11 [f5a73fe8] handle_edge_irq at c10d2958 --- <hard IRQ> --- bt: cannot resolve stack trace: bt: text symbols on stack: > OK thanks. Please send patches as required. Like above, bt is still not working yet though. Attached the patch to fix typo. Thanks. -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>
Fix typo "handle_IRQ" to "handle_irq" --- kernel.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN kernel.c~handle_IRQ-typo kernel.c --- crash-32/kernel.c~handle_IRQ-typo 2017-02-16 23:35:59.054738773 +0900 +++ crash-32-hirofumi/kernel.c 2017-02-16 23:35:59.055738778 +0900 @@ -2967,7 +2967,7 @@ back_trace(struct bt_info *bt) case BT_HARDIRQ: if (kernel_symbol_exists("hardirq_stack") && STRUCT_EXISTS("irq_stack")) { - btloc.hp->eip = symbol_value("handle_IRQ"); + btloc.hp->eip = symbol_value("handle_irq"); btloc.hp->esp = ULONG(bt->stackbuf); } else { btloc.hp->eip = symbol_value("do_IRQ"); @@ -3058,7 +3058,7 @@ restore_stack(struct bt_info *bt) case BT_HARDIRQ: if (kernel_symbol_exists("hardirq_stack") && STRUCT_EXISTS("irq_stack")) { - bt->instptr = symbol_value("handle_IRQ"); + bt->instptr = symbol_value("handle_irq"); bt->stkptr = ULONG(bt->stackbuf); } else { retvaddr = ULONG(bt->stackbuf + _
-- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility