From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: 2.6.36 modprobe kvm-intel - general protection fault Date: Tue, 09 Nov 2010 11:57:11 +0200 Message-ID: <4CD91AF7.4050802@redhat.com> References: <20101108194147.GA2945@nik-comp.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: KVM list , nikola.ciprich@linuxbox.cz To: Nikola Ciprich Return-path: Received: from mx1.redhat.com ([209.132.183.28]:35675 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753779Ab0KIJ5Y (ORCPT ); Tue, 9 Nov 2010 04:57:24 -0500 In-Reply-To: <20101108194147.GA2945@nik-comp.lan> Sender: kvm-owner@vger.kernel.org List-ID: On 11/08/2010 09:41 PM, Nikola Ciprich wrote: > Hi, > after booting 2.6.36 on one of my testing machines, modprobe kvm-intel > produces: > > [ 1349.991299] general protection fault: 0000 [#1] PREEMPT SMP > [ 1349.997199] last sysfs file: /sys/module/drbd/parameters/cn_idx > [ 1350.003201] CPU 2 > [ 1350.005081] Modules linked in: kvm(+) ocfs2 ocfs2_nodemanager ocfs2_stack_user ocfs2_stackglue dlm configfs drbd lru_cache cn ipmi_si ipmi_devintf ipmi_msghandler autofs4 ipv6 lockd sunrpc ext3 jbd video backlight output sbs sbshc fan container battery ac parport_pc lp parport nvram sg joydev thermal usbhid e1000e processor button thermal_sys tpm_tis tpm tpm_bios i2c_i801 i2c_core pcspkr iTCO_wdt shpchp pci_hotplug sd_mod crc_t10dif raid1 dm_snapshot dm_zero dm_mirror dm_region_hash dm_log dm_mod ext4 jbd2 crc32 crc16 uhci_hcd ohci_hcd ehci_hcd ahci libahci libata scsi_mod [last unloaded: ocfs2_nodemanager] > [ 1350.063230] > [ 1350.064817] Pid: 9066, comm: modprobe Not tainted 2.6.36lb.00_01_PRE11 #1 X8SIL/X8SIL > [ 1350.072837] RIP: 0010:[] [] __kmalloc_track_caller+0x7c/0x210 > [ 1350.081993] RSP: 0018:ffff880130471d38 EFLAGS: 00010002 > [ 1350.087398] RAX: 0000000000000000 RBX: ffffffff81652640 RCX: 0000000000000000 > [ 1350.094623] RDX: ffff880001a8fae0 RSI: 00000000000006a5 RDI: ffffffff81530d06 > [ 1350.101847] RBP: ffff880130471d78 R08: ffffc90010c6e000 R09: 0000000000000000 > [ 1350.109070] R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000202 > [ 1350.116303] R13: 6574737973627573 R14: 00000000000000d0 R15: 00000000000000d0 > [ 1350.123528] FS: 00007f46d8c426e0(0000) GS:ffff880001a80000(0000) knlGS:0000000000000000 > [ 1350.131758] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b > [ 1350.137595] CR2: 00007f46d8bd200f CR3: 00000001304ce000 CR4: 00000000000006e0 > [ 1350.144819] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 > [ 1350.152044] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 > [ 1350.159277] Process modprobe (pid: 9066, threadinfo ffff880130470000, task ffff88013ae6dcc0) > [ 1350.167851] Stack: > [ 1350.170008] 2222222222222222 ffffffff8107ff1f 000000000000000a 0000000000000000 > [ 1350.178715]<0> ffffc90010ce0adb 000000000000000a 00000000000000d0 ffff88013021f820 > [ 1350.186787]<0> ffff880130471da8 ffffffff810df9f0 0000000000000019 ffff88013021f3c8 > [ 1350.195128] Call Trace: > [ 1350.197668] [] ? mod_sysfs_setup+0x38f/0x620 > [ 1350.203680] [] kstrdup+0x40/0x100 > [ 1350.208730] [] mod_sysfs_setup+0x38f/0x620 > [ 1350.214569] [] sys_init_module+0x104c/0x11a0 > [ 1350.220581] [] ? sys_read+0x50/0x90 > [ 1350.225811] [] system_call_fastpath+0x16/0x1b > [ 1350.231909] Code: 59 00 41 f6 c6 10 75 67 9c 41 5c fa 65 48 8b 14 25 18 d4 00 00 48 8b 03 48 01 c2 4c 8b 2a 4d 85 ed 0f 84 6b 01 00 00 48 63 43 18<4a> 8b 04 28 48 89 02 41 54 9d 66 45 85 f6 0f 88 37 01 00 00 8b > [ 1350.254300] RIP [] __kmalloc_track_caller+0x7c/0x210 > [ 1350.261065] RSP > [ 1350.264643] ---[ end trace 858b0a13120fab50 ]--- > > there's certainly something wrong... > n. > Looks like kvm_init() corrupts memory. Things to try: - add printk()s (or perf probe + trace-cmd record) to see if kvm_init() terminates with an error, and if so, which label it jumps to - comment out lines from kvm_init(), starting from the end and working towards the beginning, to see which line introduces the error. You will have to reboot after each try. Note you can do this in a VM since it is before the check for hardware support. - bisect -- error compiling committee.c: too many arguments to function