Alexandre Bezroutchko
2012-Nov-11 13:13 UTC
[xen-devel] kernel 3.4.12 crashes if built debugging
Hi, Kernel 3.4.12 built with debugging options crashes during bootstrap. The issue is easily reproducible and also seems to affect 3.4.18. The "offending" debug option is ''page allocation'', if I switch it off but leave other debugging options the kernel does not crash. +CONFIG_DEBUG_PAGEALLOC=y +CONFIG_WANT_PAGE_DEBUG_FLAGS=y +CONFIG_PAGE_GUARD=y The kernel is actually built from devel-3.4 branch of marmarek repo of Qubes, but all the patches are disabled, so it supposed to be equivalent to vanilla kernel. Partial error messages are below. The kernel config file and full log are attached. ---------------------------------------------------------------------------- [ 0.575221] debug: unmapping init memory ffffffff81879000..ffffffff81913000 [ 0.575474] Write protecting the kernel read-only data: 8192k [ 0.579226] debug: unmapping init memory ffff880001469000..ffff880001600000 [ 0.579825] debug: unmapping init memory ffff8800017fc000..ffff880001800000 [ 0.601666] BUG: unable to handle kernel paging request at ffff88000f66d000 [ 0.601678] IP: [<ffffffff81109c64>] __tlb_remove_page+0x84/0xb0 [ 0.601689] PGD 180c067 PUD 1810067 PMD 861067 PTE 801000000f66d064 [ 0.601698] Oops: 0002 [#1] SMP DEBUG_PAGEALLOC [ 0.601705] CPU 5 [ 0.601708] Modules linked in: [ 0.601713] [ 0.601717] Pid: 60, comm: init Not tainted 3.4.12-1alldebugnopvusb.pvops.qubes.x86_64 #1 [ 0.601726] RIP: e030:[<ffffffff81109c64>] [<ffffffff81109c64>] __tlb_remove_page+0x84/0xb0 [ 0.601736] RSP: e02b:ffff88000f645a78 EFLAGS: 00010286 [ 0.601741] RAX: ffff88000f66d000 RBX: ffff88000f645c30 RCX: 0000000000000000 [ 0.601747] RDX: ffff88000f66d000 RSI: 0000000000000010 RDI: 0000000000000200 [ 0.601754] RBP: ffff88000f645a88 R08: 0000000000000000 R09: ffff880000000000 [ 0.601760] R10: 0000000000000001 R11: 00000000581c6204 R12: ffff88000f62ec68 [ 0.601766] R13: 0000000193e49125 R14: ffff88000f5e3150 R15: 000000000042a000 [ 0.601777] FS: 00007fda48c7b740(0000) GS:ffff880018d40000(0000) knlGS:0000000000000000 [ 0.601784] CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b [ 0.605188] CR2: ffff88000f66d000 CR3: 000000000f665000 CR4: 0000000000002660 [ 0.605188] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 0.605188] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 0.605188] Process init (pid: 60, threadinfo ffff88000f644000, task ffff88000f6427c0) [ 0.605188] Stack: [ 0.605188] ffffea00003d78c0 ffffea000048a680 ffff88000f645b78 ffffffff8110b1d8 [ 0.605188] 000000009658ccc5 0000000000000100 0000000000000000 00000000000001ff [ 0.605188] 00000000004d9fff 00000000004da000 00000000004d9fff ffff88000f62f000 [ 0.605188] Call Trace: [ 0.605188] [<ffffffff8110b1d8>] unmap_page_range+0x4a8/0x730 [ 0.605188] [<ffffffff8110b4c3>] unmap_single_vma+0x63/0xb0 [ 0.605188] [<ffffffff810f52b0>] ? put_pages_list+0x30/0x30 [ 0.605188] [<ffffffff8110bcde>] unmap_vmas+0x5e/0xb0 [ 0.605188] [<ffffffff811131c7>] exit_mmap+0x97/0x140 [ 0.605188] [<ffffffff810445c3>] mmput+0x73/0xf0 [ 0.605188] [<ffffffff811396ad>] flush_old_exec+0x3ed/0x720 [ 0.605188] [<ffffffff8117f8be>] load_elf_binary+0x31e/0x1840 [ 0.605188] [<ffffffff8117f5a0>] ? load_elf_library+0x200/0x200 [ 0.605188] [<ffffffff81138dc7>] search_binary_handler+0xe7/0x2f0 [ 0.605188] [<ffffffff8113a293>] do_execve_common.isra.32+0x3e3/0x4b0 [ 0.605188] [<ffffffff8113a376>] do_execve+0x16/0x20 [ 0.605188] [<ffffffff8101ad52>] sys_execve+0x42/0x70 [ 0.605188] [<ffffffff81460c3c>] stub_execve+0x6c/0xc0 [ 0.605188] Code: 8b 47 10 48 8b 10 48 85 d2 74 0c 48 89 53 10 8b 42 0c 8b 52 08 eb bd 31 f6 bf 00 02 00 00 e8 d4 87 fe ff 48 85 c0 48 89 c2 74 1e <48> c7 00 00 00 00 00 c7 40 08 00 00 00 00 c7 40 0c fe 01 00 00 [ 0.605188] RIP [<ffffffff81109c64>] __tlb_remove_page+0x84/0xb0 [ 0.605188] RSP <ffff88000f645a78> [ 0.605188] CR2: ffff88000f66d000 [ 0.605188] ---[ end trace 555e8456cfdd3999 ]--- [ 0.634427] ------------[ cut here ]------------ [ 0.634435] kernel BUG at /rw/home/user/qubes/qubes-builder/qubes-src/kernel/kernel-3.4.12/linux-3.4.12/arch/x86/kernel/paravirt.c:244! [ 0.634445] invalid opcode: 0000 [#2] SMP DEBUG_PAGEALLOC [ 0.634451] CPU 5 [ 0.634453] Modules linked in: [ 0.634458] [ 0.634462] Pid: 60, comm: init Tainted: G D 3.4.12-1alldebugnopvusb.pvops.qubes.x86_64 #1 [ 0.634472] RIP: e030:[<ffffffff8144f3b7>] [<ffffffff8144f3b7>] enter_lazy.part.4+0x4/0x6 [ 0.634483] RSP: e02b:ffff88000f645488 EFLAGS: 00010202 [ 0.634489] RAX: 0000000000000001 RBX: ffff88000f664c68 RCX: 00003ffffffff000 [ 0.634496] RDX: 0000000000000006 RSI: ffffea00003d9a80 RDI: ffffea00003d9ab0 [ 0.634502] RBP: ffff88000f645488 R08: 0000000000000000 R09: 0000000000000000 [ 0.634508] R10: ffffffff81871d00 R11: 0000000000000001 R12: ffff88000f669ff8 [ 0.634514] R13: ffff88000f664c68 R14: ffff88000f66afe8 R15: 00007fffffffd000 [ 0.634524] FS: 00007fda48c7b740(0000) GS:ffff880018d40000(0000) knlGS:0000000000000000 [ 0.634532] CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b [ 0.634537] CR2: ffff88000f66d000 CR3: 000000000180b000 CR4: 0000000000002660 [ 0.634544] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 0.634550] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 0.634557] Process init (pid: 60, threadinfo ffff88000f644000, task ffff88000f6427c0) [ 0.634564] Stack: [ 0.634567] ffff88000f645498 ffffffff81039bf2 ffff88000f645588 ffffffff8110b002 [ 0.634577] 0000000000000011 0000000000000100 0000000000000000 00000000000001ff [ 0.634586] 00007fffffffefff 00007ffffffff000 00007fffffffefff ffff88000f6657f8 [ 0.634596] Call Trace: [ 0.634602] [<ffffffff81039bf2>] paravirt_enter_lazy_mmu+0x22/0x30 [ 0.634609] [<ffffffff8110b002>] unmap_page_range+0x2d2/0x730 [ 0.634617] [<ffffffff810f5098>] ? release_pages+0x148/0x1c0 [ 0.634624] [<ffffffff8110b4c3>] unmap_single_vma+0x63/0xb0 [ 0.634631] [<ffffffff810f52b0>] ? put_pages_list+0x30/0x30 [ 0.634637] [<ffffffff8110bcde>] unmap_vmas+0x5e/0xb0 [ 0.634644] [<ffffffff811131c7>] exit_mmap+0x97/0x140 [ 0.634650] [<ffffffff810445c3>] mmput+0x73/0xf0 [ 0.634657] [<ffffffff81049afd>] exit_mm+0xfd/0x120 [ 0.634664] [<ffffffff81009dc9>] ? xen_irq_enable_direct_reloc+0x4/0x4 [ 0.634672] [<ffffffff8104b244>] do_exit+0x164/0x8a0 [ 0.634680] [<ffffffff81458c42>] ? _raw_spin_unlock_irqrestore+0x12/0x20 [ 0.634687] [<ffffffff810490fa>] ? kmsg_dump+0x5a/0x100 [ 0.634694] [<ffffffff81459eb9>] oops_end+0x99/0xe0 [ 0.634700] [<ffffffff8144fc9f>] no_context+0x24e/0x279 [ 0.634707] [<ffffffff81007339>] ? xen_pmd_val+0x9/0x10 [ 0.634713] [<ffffffff8144fe84>] __bad_area_nosemaphore+0x1ba/0x1d9 [ 0.634721] [<ffffffff81459169>] ? restore_args+0x30/0x30 [ 0.634727] [<ffffffff8144feb1>] bad_area_nosemaphore+0xe/0x10 [ 0.634734] [<ffffffff8145c69b>] do_page_fault+0x32b/0x4f0 [ 0.634741] [<ffffffff8100728a>] ? pte_mfn_to_pfn+0x6a/0x100 [ 0.634748] [<ffffffff810f1cf3>] ? __alloc_pages_nodemask+0x193/0x850 [ 0.634756] [<ffffffff8114997a>] ? __d_lookup+0x7a/0x160 [ 0.634763] [<ffffffff814593a5>] page_fault+0x25/0x30 [ 0.634769] [<ffffffff81109c64>] ? __tlb_remove_page+0x84/0xb0 [ 0.634776] [<ffffffff81109c5c>] ? __tlb_remove_page+0x7c/0xb0 [ 0.634782] [<ffffffff8110b1d8>] unmap_page_range+0x4a8/0x730 [ 0.634790] [<ffffffff8110b4c3>] unmap_single_vma+0x63/0xb0 [ 0.634797] [<ffffffff810f52b0>] ? put_pages_list+0x30/0x30 [ 0.634803] [<ffffffff8110bcde>] unmap_vmas+0x5e/0xb0 [ 0.634809] [<ffffffff811131c7>] exit_mmap+0x97/0x140 [ 0.634816] [<ffffffff810445c3>] mmput+0x73/0xf0 [ 0.634822] [<ffffffff811396ad>] flush_old_exec+0x3ed/0x720 [ 0.634830] [<ffffffff8117f8be>] load_elf_binary+0x31e/0x1840 [ 0.634838] [<ffffffff8117f5a0>] ? load_elf_library+0x200/0x200 [ 0.634845] [<ffffffff81138dc7>] search_binary_handler+0xe7/0x2f0 [ 0.634852] [<ffffffff8113a293>] do_execve_common.isra.32+0x3e3/0x4b0 [ 0.634858] [<ffffffff8113a376>] do_execve+0x16/0x20 [ 0.634864] [<ffffffff8101ad52>] sys_execve+0x42/0x70 [ 0.634871] [<ffffffff81460c3c>] stub_execve+0x6c/0xc0 [ 0.634876] Code: fa 44 89 e6 48 c7 c7 a8 e3 75 81 31 c0 e8 0b 0f 00 00 48 83 c4 18 5b 41 5c 41 5d 41 5e 41 5f 5d c3 55 48 89 e5 0f 0b 55 48 89 e5 <0f> 0b 55 48 89 e5 0f 0b 55 48 89 e5 41 55 41 54 53 31 db 48 85 [ 0.634932] RIP [<ffffffff8144f3b7>] enter_lazy.part.4+0x4/0x6 [ 0.634938] RSP <ffff88000f645488> [ 0.634941] ---[ end trace 555e8456cfdd399a ]--- [ 0.634944] Fixing recursive fault but reboot is needed! ---------------------------------------------------------------------------- Regards, Alex _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel