Dave Anderson <anderson(a)redhat.com> writes:
Hi Ogawa,
Hi,
It's been quite some time since I've done any 32-bit x86
maintenance,
and any help/time you can afford would be appreciated.
I've tried some on latest git with i386 linux-v4.9. And the results are
seems not working yet. I'm not checking the detail of crash failure yet,
sorry.
[In latest few commits, using "handle_IRQ" symbol though, at least v4.9
kernel doesn't have "handle_IRQ". So I changed from "handle_IRQ"
to
"do_IRQ".]
The following is some cases of "kernel stack dump" and "bt".
crash> log
[ 2.493782] ------------[ cut here ]------------
[ 2.493783] kernel BUG at
/devel/linux/works/tux3/linux-tux3/drivers/ata/libata-sff.c:1573!
[ 2.493784] invalid opcode: 0000 [#1] PREEMPT SMP
[ 2.493785] Modules linked in:
[ 2.493789] CPU: 3 PID: 45 Comm: kworker/3:1 Not tainted
4.9.0-03202-g815a856e470a-dirty #15
[ 2.493789] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.10.1-0-g8891697-prebuilt.qemu-project.org 04/01/2014
[ 2.493799] Workqueue: ata_sff ata_sff_pio_task
[ 2.493800] task: f57d3a00 task.stack: f4cd8000
[ 2.493803] EIP: 0060:[<c172b046>] EFLAGS: 00210002 CPU: 3
[ 2.493804] EIP is at __ata_sff_port_intr+0x146/0x150
[ 2.493805] EAX: f57d3a00 EBX: f3a98000 ECX: 00000041 EDX: 0000c06a
[ 2.493806] ESI: f3a9954c EDI: 00000000 EBP: f56d3f28 ESP: f56d3f14
[ 2.493806] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 2.493807] CR0: 80050033 CR2: ffffffff CR3: 020bb000 CR4: 000006d0
[ 2.493809] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 2.493809] DR6: fffe0ff0 DR7: 00000400
[ 2.493809] Stack:
[ 2.493812] 00000000 41000000 f3a98000 f3a9954c 00000000 f56d3f4c c172b338 00000000
[ 2.493814] 00000001 00000000 c172b3f7 00001458 00000001 f3fc047c f56d3f80 c172b57b
[ 2.493817] 00200086 f3fc047c 00000000 00dcd658 00000001 00000001 f3a9954c 00000000
[ 2.493817] Call Trace:
[ 2.493820] <IRQ>
[ 2.493820] [<c172b338>] ata_bmdma_port_intr+0x28/0xd0
[ 2.493822] [<c172b3f7>] ? ata_bmdma_interrupt+0x17/0x200
[ 2.493824] [<c172b57b>] ata_bmdma_interrupt+0x19b/0x200
[ 2.493829] [<c10cf378>] __handle_irq_event_percpu+0x38/0x470
[ 2.493831] [<c10cf827>] ? handle_irq_event+0x27/0x50
[ 2.493832] [<c10cf7ce>] handle_irq_event_percpu+0x1e/0x50
[ 2.493833] [<c10cf82e>] handle_irq_event+0x2e/0x50
[ 2.493834] [<c10d295d>] handle_edge_irq+0xad/0x130
[ 2.493835] [<c10d28b0>] ? handle_level_irq+0x110/0x110
[ 2.493837] [<c101cfbd>] handle_irq+0x9d/0xd0
[ 2.493838] <EOI>
[ 2.493841] <IRQ>
[ 2.493841] [<c1a0630e>] do_IRQ+0x5e/0x130
[ 2.493842] [<c1a067b0>] ? __irqentry_text_end+0x3/0x3
[ 2.493844] [<c1a059b1>] common_interrupt+0x31/0x38
[ 2.493845] [<c1a067b0>] ? __irqentry_text_end+0x3/0x3
[ 2.493846] [<c1a06835>] ? __do_softirq+0x85/0x565
[ 2.493848] [<c1a067b0>] ? __irqentry_text_end+0x3/0x3
[ 2.493849] [<c101cf12>] do_softirq_own_stack+0x32/0x40
[ 2.493852] <EOI>
[ 2.493852] [<c10631d9>] irq_exit+0xa9/0xc0
[ 2.493853] [<c1a06418>] smp_apic_timer_interrupt+0x38/0x50
[ 2.493853] [<c1a05c86>] apic_timer_interrupt+0x32/0x38
[ 2.493855] [<c1a04819>] ? _raw_spin_unlock_irq+0x29/0x50
[ 2.493857] [<c172ade8>] ata_sff_pio_task+0x78/0x190
[ 2.493858] [<c1078a37>] process_one_work+0x207/0x700
[ 2.493860] [<c107899b>] ? process_one_work+0x16b/0x700
[ 2.493861] [<c1078f71>] worker_thread+0x41/0x470
[ 2.493862] [<c1078f30>] ? process_one_work+0x700/0x700
[ 2.493864] [<c107ed46>] kthread+0xa6/0xc0
[ 2.493866] [<c107eca0>] ? kthread_park+0x50/0x50
[ 2.493867] [<c107eca0>] ? kthread_park+0x50/0x50
[ 2.493868] [<c1a05177>] ret_from_fork+0x1b/0x28
[ 2.493889] Code: c0 74 1a 83 8e 80 00 00 00 02 c7 83 20 2d 00 00 04 00 00 00 e9 39 ff
ff ff 8d 74 26 00 83 83 94 29 00 00 01 31 f6 e9 67 ff ff ff <0f> 0b 90 8d b4 26 00
00 00 00 55 89 e5 3e 8d 74 26 00 31 c9 e8
[ 2.493891] EIP: [<c172b046>]
[ 2.493892] __ata_sff_port_intr+0x146/0x150
[ 2.493892] SS:ESP 0068:f56d3f14
[ 2.493895] ---[ end trace 362d4d3f42fbe108 ]---
[ 2.493896] Kernel panic - not syncing: Fatal exception in interrupt
[ 2.494103] Kernel Offset: disabled
[ 2.509246] ---[ end Kernel panic - not syncing: Fatal exception in interrupt
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> log
[ 2.406255] ------------[ cut here ]------------
[ 2.406391] kernel BUG at
/devel/linux/works/tux3/linux-tux3/drivers/ata/libata-sff.c:1573!
[ 2.406565] invalid opcode: 0000 [#1] PREEMPT SMP
[ 2.407285] Modules linked in:
[ 2.407442] CPU: 1 PID: 31 Comm: kworker/1:1 Not tainted
4.9.0-03202-g815a856e470a-dirty #15
[ 2.407643] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.10.1-0-g8891697-prebuilt.qemu-project.org 04/01/2014
[ 2.407986] Workqueue: ata_sff ata_sff_pio_task
[ 2.408145] task: f505e080 task.stack: f5060000
[ 2.408296] EIP: 0060:[<c172b046>] EFLAGS: 00210006 CPU: 1
[ 2.408441] EIP is at __ata_sff_port_intr+0x146/0x150
[ 2.408640] EAX: f505e080 EBX: f3da0000 ECX: 00000041 EDX: 0000c06a
[ 2.408865] ESI: f3da154c EDI: 00000000 EBP: f5a73f28 ESP: f5a73f14
[ 2.409077] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
[ 2.409266] CR0: 80050033 CR2: ffffffff CR3: 020bb000 CR4: 000006d0
[ 2.409464] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
[ 2.409621] DR6: fffe0ff0 DR7: 00000400
[ 2.409772] Stack:
[ 2.409952] 00000000 41000000 f3da0000 f3da154c 00000000 f5a73f4c c172b338 00000000
[ 2.410374] 00000001 00000000 c172b3f7 00001458 00000001 f42b532c f5a73f80 c172b57b
[ 2.410775] 00200086 f42b532c 00000000 00dcd658 00000001 00000001 f3da154c 00000000
[ 2.411140] Call Trace:
[ 2.411252] <IRQ>
[ 2.411287] [<c172b338>] ata_bmdma_port_intr+0x28/0xd0
[ 2.411453] [<c172b3f7>] ? ata_bmdma_interrupt+0x17/0x200
[ 2.411597] [<c172b57b>] ata_bmdma_interrupt+0x19b/0x200
[ 2.411747] [<c10cf378>] __handle_irq_event_percpu+0x38/0x470
[ 2.411925] [<c10cf827>] ? handle_irq_event+0x27/0x50
[ 2.412108] [<c10cf7ce>] handle_irq_event_percpu+0x1e/0x50
[ 2.412313] [<c10cf82e>] handle_irq_event+0x2e/0x50
[ 2.412511] [<c10d295d>] handle_edge_irq+0xad/0x130
[ 2.412713] [<c10d28b0>] ? handle_level_irq+0x110/0x110
[ 2.413029] [<c101cfbd>] handle_irq+0x9d/0xd0
[ 2.413196] <EOI>
[ 2.413237] [<c1a0630e>] do_IRQ+0x5e/0x130
[ 2.413397] [<c1a059b1>] common_interrupt+0x31/0x38
[ 2.413536] [<c1a04819>] ? _raw_spin_unlock_irq+0x29/0x50
[ 2.413691] [<c172ade8>] ata_sff_pio_task+0x78/0x190
[ 2.413832] [<c1078a37>] process_one_work+0x207/0x700
[ 2.419333] [<c107899b>] ? process_one_work+0x16b/0x700
[ 2.419477] [<c1078f71>] worker_thread+0x41/0x470
[ 2.419615] [<c1078f30>] ? process_one_work+0x700/0x700
[ 2.419758] [<c107ed46>] kthread+0xa6/0xc0
[ 2.419887] [<c107eca0>] ? kthread_park+0x50/0x50
[ 2.420022] [<c107eca0>] ? kthread_park+0x50/0x50
[ 2.420159] [<c1a05177>] ret_from_fork+0x1b/0x28
[ 2.420295] Code: c0 74 1a 83 8e 80 00 00 00 02 c7 83 20 2d 00 00 04 00 00 00 e9 39 ff
ff ff 8d 74 26 00 83 83 94 29 00 00 01 31 f6 e9 67 ff ff ff <0f> 0b 90 8d b4 26 00
00 00 00 55 89 e5 3e 8d 74 26 00 31 c9 e8
[ 2.422387] EIP: [<c172b046>]
[ 2.422431] __ata_sff_port_intr+0x146/0x150
[ 2.422585] SS:ESP 0068:f5a73f14
[ 2.422711] ---[ end trace 8465c4f061d2e6ad ]---
[ 2.422845] Kernel panic - not syncing: Fatal exception in interrupt
[ 2.423137] Kernel Offset: disabled
[ 2.423264] ---[ end Kernel panic - not syncing: Fatal exception in interrupt
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:
Thanks.
--
OGAWA Hirofumi <hirofumi(a)mail.parknet.co.jp>