This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-bugs] [Bug 366] kernel BUG at arch/xen/kernel/smpboot.c:186 (vcpu_p

To: xen-bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-bugs] [Bug 366] kernel BUG at arch/xen/kernel/smpboot.c:186 (vcpu_prepare)!
From: bugzilla-daemon@xxxxxxxxxxxxxxxxxxx
Date: Mon, 14 Nov 2005 16:50:51 +0000
Delivery-date: Mon, 14 Nov 2005 16:50:59 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-bugs-request@lists.xensource.com?subject=help>
List-id: Xen Bugzilla <xen-bugs.lists.xensource.com>
List-post: <mailto:xen-bugs@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-bugs>, <mailto:xen-bugs-request@lists.xensource.com?subject=unsubscribe>
Reply-to: bugs@xxxxxxxxxxxxxxxxxx
Sender: xen-bugs-bounces@xxxxxxxxxxxxxxxxxxx

------- Additional Comments From grimm@xxxxxxxxxx  2005-11-14 16:50 -------
Created an attachment (id=101)
 --> (http://bugzilla.xensource.com/bugzilla/attachment.cgi?id=101&action=view)
debugging statements in set_gdt and get_page_type

Putting some debugging statements (the attached patch), i think i tracked the
problem down to set_gdt failing.  More specifically, get_page_type fails
(set_gdt calls get_page_and_type, which then calls get_page_type).   

The path of execution seems to hit the failure case because x & PGT_count_mask
!= 0.  Could the page retrieved by get_page in get_page_and_type already have a
reference count?

Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... disabled
(XEN) Enter set_gdt for vcpuid:1
(XEN) About to call get_page_and_type for frame 0
(XEN) Enter set_gdt for vcpuid:2
(XEN) About to call get_page_and_type for frame 0
(XEN) Enter set_gdt for vcpuid:3
(XEN) About to call get_page_and_type for frame 0
(XEN) vcpuid: 0
(XEN) x: f0000001
(XEN) type: a0000000
(XEN) x & PGT_type_mask: e0000000
(XEN) x & PGT_count_mask: 1
(XEN) type & PGT_type_mask: a0000000
(XEN) Bad type in get_page_type
(XEN) failed in set_gdt for vcpuid:3
kernel BUG at arch/xen/kernel/smpboot.c:192 (vcpu_prepare)!
 [<c010772a>] vcpu_prepare+0x1ea/0x200
 [<c01074d0>] cpu_bringup+0x0/0x70
 [<c010a0d8>] divide_error+0x0/0x8
 [<c010a218>] debug+0x0/0x11
 [<c010a25c>] int3+0x0/0x24
 [<c010a280>] overflow+0x0/0xc
 [<c010a28c>] bounds+0x0/0xc
 [<c010a298>] invalid_op+0x0/0xc
 [<c010a1f8>] device_not_available+0x0/0x20
 [<c010a2a4>] coprocessor_segment_overrun+0x0/0xc
 [<c010a2b0>] invalid_TSS+0x0/0xc
 [<c010a2bc>] segment_not_present+0x0/0xc
 [<c010a2c8>] stack_segment+0x0/0xc
 [<c010a2d4>] general_protection+0x0/0xc
 [<c010a2ec>] page_fault+0x0/0xc
 [<c010a2f8>] fixup_4gb_segment+0x0/0x18
 [<c010a1e0>] coprocessor_error+0x0/0xc
 [<c010a2e0>] alignment_check+0x0/0xc
 [<c010a1ec>] simd_coprocessor_error+0x0/0xc
 [<c0109f1c>] system_call+0x0/0x32
 [<c010a110>] hypervisor_callback+0x0/0x34
 [<c010a1bc>] failsafe_callback+0x0/0x24
 [<c05937e6>] smp_prepare_cpus+0x166/0x260
 [<c01040b8>] init+0x38/0x1b0
 [<c0104080>] init+0x0/0x1b0
 [<c0107c1d>] kernel_thread_helper+0x5/0x18
Kernel panic - not syncing: BUG!
 smp_send_stop disable_local_APIC

Configure bugmail: 
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Xen-bugs mailing list

<Prev in Thread] Current Thread [Next in Thread>