Re: What may be causing this kernel panic ?

From: Frédéric L. W. Meunier
Date: Fri Apr 27 2012 - 16:49:53 EST


2012/4/27 Mark Lord <kernel@xxxxxxxxxxxx>:
> If anyone goes into the code to look at this, I do wonder if it might be
> related to a bug I've been seeing in 3.2.xx/3.3.xx whereby the input system
> (or X11?) often fails to notice I've released a keyboard button..
> and the auto-repeat just keeps on going until I press/release another button
> to stop it.
>
> Bot the ooops above and the repeat issue could be due to the same/similar race
> somewhere in there.  Or not.  Just keep your eyes and mind open to the possibility. :)

Well, I sort of bisected it compiling 3.2.0, 3.1.0, 3.0.0, 2.6.39,
2.6.38, 2.6.37 and 2.6.36, which was the first to not panic. I'm
attaching the 2.6.37 panic.
[ 31.799755] BUG: unable to handle kernel paging request at ffffffff00000079
[ 31.800290] IP: [<ffffffff8115ccc3>] puts_queue.isra.13+0x25/0x3b
[ 31.800290] PGD 1605067 PUD 0
[ 31.800290] Oops: 0000 [#1] PREEMPT SMP
[ 31.800290] last sysfs file: /sys/devices/virtual/vc/vcsa6/uevent
[ 31.800290] CPU 0
[ 31.800290] Modules linked in: agpgart joydev snd_intel8x0 snd_ac97_codec ac97_bus usbhid snd_pcm snd_page_alloc processor snd_timer hid i2c_piix4 snd thermal_sys e1000 button sg hwmon i2c_core psmouse soundcore evdev loop ext4 crc16 jd
[ 31.800290]
[ 31.800290] Pid: 0, comm: swapper Not tainted 2.6.37 #6 /VirtualBox
[ 31.800290] RIP: 0010:[<ffffffff8115ccc3>] [<ffffffff8115ccc3>] puts_queue.isra.13+0x25/0x3b
[ 31.800290] RSP: 0018:ffff88000f803c28 EFLAGS: 00010086
[ 31.800290] RAX: 0000000000000001 RBX: ffff88000e626000 RCX: ffffffff816d9001
[ 31.800290] RDX: 0000000000000000 RSI: ffffffff00000079 RDI: ffff88000e626000
[ 31.800290] RBP: ffff88000f803c38 R08: 0000000000000000 R09: 000000000000007f
[ 31.800290] R10: 0000000000000053 R11: ffffffff816db4a8 R12: ffffffff00000079
[ 31.800290] R13: 0000000000000001 R14: ffffffff8162f102 R15: 0000000000000000
[ 31.800290] FS: 00007ff32ef16740(0000) GS:ffff88000f800000(0000) knlGS:0000000000000000
[ 31.800290] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 31.800290] CR2: ffffffff00000079 CR3: 000000000e326000 CR4: 00000000000006f0
[ 31.800290] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 31.800290] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 31.800290] Process swapper (pid: 0, threadinfo ffffffff81600000, task ffffffff8160b020)
[ 31.800290] Stack:
[ 31.800290] ffff88000f408000 000000000000003d ffff88000f803c48 ffffffff8115cd79
[ 31.800290] ffff88000f803cb8 ffffffff8115d8cd 0000000000000001 0000000000000000
[ 31.800290] ffff88000f8110c0 ffff88000f408000 0000000000000001 0000f10200000000
[ 31.800290] Call Trace:
[ 31.800290] <IRQ>
[ 31.800290] [<ffffffff8115cd79>] k_fn+0x21/0x23
[ 31.800290] [<ffffffff8115d8cd>] kbd_event+0x4fc/0x566
[ 31.800290] [<ffffffff811589eb>] ? sysrq_filter+0x0/0x159
[ 31.800290] [<ffffffff8117d22f>] input_pass_event+0x9b/0xeb
[ 31.800290] [<ffffffff8117eeec>] input_handle_event+0x484/0x493
[ 31.800290] [<ffffffff81164ae5>] ? add_timer_randomness+0x131/0x138
[ 31.800290] [<ffffffff8117f06f>] input_event+0x66/0x83
[ 31.800290] [<ffffffff81181f8f>] atkbd_interrupt+0x46a/0x537
[ 31.800290] [<ffffffff8104c2c8>] ? timekeeping_get_ns+0x13/0x35
[ 31.800290] [<ffffffff81179c84>] serio_interrupt+0x40/0x7a
[ 31.800290] [<ffffffff8117b201>] i8042_interrupt+0x286/0x298
[ 31.800290] [<ffffffff81063f3c>] handle_IRQ_event+0x24/0xa8
[ 31.800290] [<ffffffff81065d63>] handle_edge_irq+0xf6/0x142
[ 31.800290] [<ffffffff8100524f>] handle_irq+0x1f/0x25
[ 31.800290] [<ffffffff81004f6b>] do_IRQ+0x53/0xab
[ 31.800290] [<ffffffff81205f13>] ret_from_intr+0x0/0xa
[ 31.800290] <EOI>
[ 31.800290] [<ffffffff81009e6f>] ? default_idle+0x22/0x37
[ 31.800290] [<ffffffff81009e69>] ? default_idle+0x1c/0x37
[ 31.800290] [<ffffffff8100a045>] c1e_idle+0xce/0xd0
[ 31.800290] [<ffffffff810011af>] ? enter_idle+0x20/0x22
[ 31.800290] [<ffffffff81001242>] cpu_idle+0x56/0x9c
[ 31.800290] [<ffffffff811f2248>] rest_init+0x8c/0x90
[ 31.800290] [<ffffffff81649b40>] start_kernel+0x34a/0x357
[ 31.800290] [<ffffffff8164929f>] x86_64_start_reservations+0xaf/0xb3
[ 31.800290] [<ffffffff81649398>] x86_64_start_kernel+0xf5/0xfc
[ 31.800290] Code: 01 5b 41 5c 5d c3 55 48 85 ff 48 89 e5 41 54 49 89 f4 53 48 89 fb 75 13 eb 22 40 0f b6 f6 31 d2 48 89 df 49 ff c4 e8 04 f7 ff ff <41> 8a 34 24 40 84 f6 75 e6 48 89 df e8 52 f7 ff ff 5b 41 5c 5d
[ 31.800290] RIP [<ffffffff8115ccc3>] puts_queue.isra.13+0x25/0x3b
[ 31.800290] RSP <ffff88000f803c28>
[ 31.800290] CR2: ffffffff00000079
[ 31.800290] ---[ end trace 92abd74badcefc87 ]---
[ 31.800290] Kernel panic - not syncing: Fatal exception in interrupt
[ 31.800290] Pid: 0, comm: swapper Tainted: G D 2.6.37 #6
[ 31.800290] Call Trace:
[ 31.800290] <IRQ> [<ffffffff81200d0d>] panic+0x9b/0x1a0
[ 31.800290] [<ffffffff81006660>] oops_end+0xa7/0xb8
[ 31.800290] [<ffffffff8120083c>] no_context+0x1fe/0x20d
[ 31.800290] [<ffffffff810279b4>] ? check_preempt_curr+0x3b/0x6f
[ 31.800290] [<ffffffff812009d9>] __bad_area_nosemaphore+0x18e/0x1b1
[ 31.800290] [<ffffffff8102c4ac>] ? try_to_wake_up+0x1a6/0x1b8
[ 31.800290] [<ffffffff81200a0a>] bad_area_nosemaphore+0xe/0x10
[ 31.800290] [<ffffffff8101ed6c>] do_page_fault+0x160/0x2fc
[ 31.800290] [<ffffffff8104282e>] ? wq_worker_waking_up+0xe/0x27
[ 31.800290] [<ffffffff8102908a>] ? ttwu_post_activation+0xa6/0xaf
[ 31.800290] [<ffffffff8102c4ac>] ? try_to_wake_up+0x1a6/0x1b8
[ 31.800290] [<ffffffff8120614f>] page_fault+0x1f/0x30
[ 31.800290] [<ffffffff8115ccc3>] ? puts_queue.isra.13+0x25/0x3b
[ 31.800290] [<ffffffff8115cd79>] k_fn+0x21/0x23
[ 31.800290] [<ffffffff8115d8cd>] kbd_event+0x4fc/0x566
[ 31.800290] [<ffffffff811589eb>] ? sysrq_filter+0x0/0x159
[ 31.800290] [<ffffffff8117d22f>] input_pass_event+0x9b/0xeb
[ 31.800290] [<ffffffff8117eeec>] input_handle_event+0x484/0x493
[ 31.800290] [<ffffffff81164ae5>] ? add_timer_randomness+0x131/0x138
[ 31.800290] [<ffffffff8117f06f>] input_event+0x66/0x83
[ 31.800290] [<ffffffff81181f8f>] atkbd_interrupt+0x46a/0x537
[ 31.800290] [<ffffffff8104c2c8>] ? timekeeping_get_ns+0x13/0x35
[ 31.800290] [<ffffffff81179c84>] serio_interrupt+0x40/0x7a
[ 31.800290] [<ffffffff8117b201>] i8042_interrupt+0x286/0x298
[ 31.800290] [<ffffffff81063f3c>] handle_IRQ_event+0x24/0xa8
[ 31.800290] [<ffffffff81065d63>] handle_edge_irq+0xf6/0x142
[ 31.800290] [<ffffffff8100524f>] handle_irq+0x1f/0x25
[ 31.800290] [<ffffffff81004f6b>] do_IRQ+0x53/0xab
[ 31.800290] [<ffffffff81205f13>] ret_from_intr+0x0/0xa
[ 31.800290] <EOI> [<ffffffff81009e6f>] ? default_idle+0x22/0x37
[ 31.800290] [<ffffffff81009e69>] ? default_idle+0x1c/0x37
[ 31.800290] [<ffffffff8100a045>] c1e_idle+0xce/0xd0
[ 31.800290] [<ffffffff810011af>] ? enter_idle+0x20/0x22
[ 31.800290] [<ffffffff81001242>] cpu_idle+0x56/0x9c
[ 31.800290] [<ffffffff811f2248>] rest_init+0x8c/0x90
[ 31.800290] [<ffffffff81649b40>] start_kernel+0x34a/0x357
[ 31.800290] [<ffffffff8164929f>] x86_64_start_reservations+0xaf/0xb3
[ 31.800290] [<ffffffff81649398>] x86_64_start_kernel+0xf5/0xfc