hi, I am trying to find the cause of a crash I am seeing with using my domain creation tool ''buscreate'' from the migrationtools package, and the just release xen 3.0.3 (sorry for not being able to test this earlier on, I could not risk hosing my debug machine as I was working remotely and I don''t have remote power cycling hardware). I first call xc_domain_create(xc, ACM_DEFAULT_SSID, xen_handle, &domid); then xc_domain_setmaxmem(xc,domid, maxmem_mb << 10); xc_domain_memory_increase_reservation(xc,domid, mem_mb << 8, 0,0,0); rconsole xc_evtchn_alloc_unbound(xc,domid,DOMID_SELF); rstore = xc_evtchn_alloc_unbound(xc,domid,DOMID_SELF); and finally: xc_linux_build(xc, domid, kernel, ramdisk, cmdline ,NULL, 0, rstore, &mfn_store, rconsole, &mfn_console) which prints the following: Supported features = { 0000001f }. Required features = { 00000000 }. VIRTUAL MEMORY ARRANGEMENT: Loaded kernel: 0xc0100000->0xc029e7cc Initial ramdisk: 0xc029f000->0xc058d000 Phys-Mach map: 0xc058d000 Start info: 0xc0595000 Store page: 0xc0596000 Console page: 0xc0597000 Page tables: 0xc0598000 Boot stack: 0xc059b000 TOTAL: 0xc0000000->0xc0800000 ENTRY ADDRESS: 0xc0100000 but before the call returns, Xen crashes like this: (XEN) ----[ Xen-3.0.3-0 x86_32 debug=n Not tainted ]---- (XEN) CPU: 0 (XEN) EIP: e008:[<ff11a62d>] arch_do_domctl+0x6d/0xdd0 (XEN) EFLAGS: 00010246 CONTEXT: hypervisor (XEN) eax: 00000000 ebx: ff1abe50 ecx: ff188080 edx: 00000003 (XEN) esi: ff188080 edi: b7fc75f0 ebp: 00002000 esp: ff1abd8c (XEN) cr0: 8005003b cr4: 000006d0 cr3: 18364000 cr2: 00000300 (XEN) ds: e010 es: e010 fs: 0000 gs: 0033 ss: e010 cs: e008 (XEN) Xen stack trace from esp=ff1abd8c: (XEN) 00000002 00000000 00000000 00000000 00000000 00000000 00000000 00000000 (XEN) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 (XEN) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 (XEN) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 fffffff3 (XEN) bfcc69c0 b7fc75f0 ceb1c000 ff102fd0 ff1abe50 bfcc69c0 0000008c 00000000 (XEN) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 (XEN) 00000000 00000006 00000003 0afa0002 00002000 00000000 b7f61ff4 b7ea6ac7 (XEN) 08052808 b7eac4ce b7e9b150 b7f624c0 00000000 00000000 b7ea6795 b7f624c0 (XEN) b7fb3000 b7f63560 b7f63558 b7f63158 00008018 b7f61ff4 00008008 00000076 (XEN) bfcc6a28 b7f7d60c b7fb43e0 b7fcffd8 b7fb4680 00000001 bfcc6a70 b7fc2119 (XEN) b7fb4828 00000000 00000001 00000001 00000073 ff1abef4 ff1abef0 fe800034 (XEN) ffbf8080 000187b3 fc64b8c8 187b3067 fe020164 00000001 fe020164 ff127fd1 (XEN) 00000000 ffbf8080 ff1abfc8 b7eae401 0001805f ffbf8080 187b3067 b7eae3fa (XEN) b7eae3fc 187b3067 00000000 ffbf8080 fe020164 ffbf8080 fe020164 ff12835c (XEN) ff186024 ff1abfb4 ff10d704 1f413030 00000000 16b0ffff 187b3067 00000000 (XEN) ff186024 00000000 ff1abfb4 0805a80c 1805f067 0001805f 00000006 ff18b080 (XEN) 08052808 b7fc75f0 ceb1c000 ff1562f1 bfcc69c0 0000f19c b7f7c188 08052808 (XEN) b7fc75f0 ceb1c000 bfcc69c0 0000f19c b7f7c188 08052808 b7fc75f0 ceb1c000 (XEN) 00000024 000e0006 c0101487 00000061 00000282 ceb1ded0 00000069 0000007b (XEN) 0000007b 00000000 00000033 00000000 ff18b080 (XEN) Xen call trace: (XEN) [<ff11a62d>] arch_do_domctl+0x6d/0xdd0 (XEN) [<ff102fd0>] do_domctl+0xf0/0xd20 (XEN) [<ff127fd1>] mod_l1_entry+0x101/0x3b0 (XEN) [<ff12835c>] do_update_va_mapping+0xdc/0x320 (XEN) [<ff10d704>] do_multicall+0xc4/0x2a0 (XEN) [<ff1562f1>] hypercall+0x71/0x78 (XEN) (XEN) Pagetable walk from 00000300: (XEN) L2[0x000] = 00000000 ffffffff (XEN) (XEN) **************************************** (XEN) Panic on CPU 0: (XEN) CPU0 FATAL PAGE FAULT (XEN) [error_code=0000] (XEN) Faulting linear address: 00000300 (XEN) **************************************** (XEN) (XEN) Reboot in five seconds... I have tried switching xen-3.0.2 compat. mode on and of in dom0 and domU, but that has zero effect. The guest kernel is a vanilla domU, compiled from the same xen tree as xen and domU. I have verified that I am not using stale .so versions or anything like that. xenstored and xenconsoled are both running. Things worked fine in xen 3.0.2. Jacob _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 18/10/06 11:18 pm, "Jacob Gorm Hansen" <jacobg@diku.dk> wrote:> I have tried switching xen-3.0.2 compat. mode on and of in dom0 and > domU, but that has zero effect. The guest kernel is a vanilla domU, > compiled from the same xen tree as xen and domU. I have verified that I > am not using stale .so versions or anything like that. xenstored and > xenconsoled are both running. Things worked fine in xen 3.0.2.I can''t imagine this will be hard to track down. Since it''s in domctl() this will only be triggerable from dom0. It''d just be nice to know whether the Python tools can trigger this. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Jacob Gorm Hansen
2006-Oct-26 11:08 UTC
Re: [Xen-devel] Crash with 3.0.3 on domain creation
On Thu, 2006-10-19 at 08:32 +0100, Keir Fraser wrote:> On 18/10/06 11:18 pm, "Jacob Gorm Hansen" <jacobg@diku.dk> wrote: > > > I have tried switching xen-3.0.2 compat. mode on and of in dom0 and > > domU, but that has zero effect. The guest kernel is a vanilla domU, > > compiled from the same xen tree as xen and domU. I have verified that I > > am not using stale .so versions or anything like that. xenstored and > > xenconsoled are both running. Things worked fine in xen 3.0.2. > > I can''t imagine this will be hard to track down. Since it''s in domctl() this > will only be triggerable from dom0. It''d just be nice to know whether the > Python tools can trigger this.Got back to this and found the problem: If xc_domain_max_vcpus() is not called before the domain gets build, Xen will crash when trying to test for the HVM guest bit in the hvm_guest() macro. Would it make sense to start out with one rather than no vcpus to prevent this crash? Jacob _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 26/10/06 12:08, "Jacob Gorm Hansen" <jacobg@diku.dk> wrote:> Got back to this and found the problem: If xc_domain_max_vcpus() is not > called before the domain gets build, Xen will crash when trying to test > for the HVM guest bit in the hvm_guest() macro. Would it make sense to > start out with one rather than no vcpus to prevent this crash? > > JacobAh. I''m going to fix this by having HVM be a flag that is set when the domain is first created. That will get rid of the bogus test on VCPU0. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel