NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-xen/46105: hypervisor-dependent(?) xen crash

On Mon, Feb 27, 2012 at 01:25:01AM +0000, wrote:
>       While creating NetBSD 6.0_BETA/i386 AMIs for Amazon EC2, 2 out of
>       7 did not come up properly.  When I investigated more closely,
>       both the ones which did not come up had a hypervisor version of
>       3.1, while all the others were 3.4.
>       Other details: the instances only had 1 vcpu, so MP should not
>       be a factor.  The regions where the failures occurred (and
>       are more likely, I guess, to have 3.1 hypervisors) were "us-west-1"
>       and "ap-northeast-1".
>       Here is the console log for one of the crashed instances:
> [...]

Hum, 6.0_BETA 201202250740Z boots fine for me on a NetBSD/amd64 domains0
and 3.1.4 hypervisor. I tested both i386PAE and amd64 domUs.
I fear it's one of the bugs we fixed with recursive table pages;
if so it's going to be hard to work around.

Do you know if it happens with all Amazon 3.1 hypervisors, or only
some ?
I guess there's no way to restricy a domain to some hypervisor versions
on amazon ?

Also, please apply the attached diff if you can reproduce this.
It prints the tiny version of the hypervisor, which can help identifing bugs

Manuel Bouyer <>
     NetBSD: 26 ans d'experience feront toujours la difference
Index: hypervisor.c
RCS file: /cvsroot/src/sys/arch/xen/xen/hypervisor.c,v
retrieving revision 1.61
diff -u -p -u -r1.61 hypervisor.c
--- hypervisor.c        17 Feb 2012 18:42:19 -0000      1.61
+++ hypervisor.c        27 Feb 2012 11:34:09 -0000
@@ -210,12 +210,15 @@ hypervisor_attach(device_t parent, devic
 #endif /* NPCI */
        union hypervisor_attach_cookie hac;
+       char xen_extra_version[XEN_EXTRAVERSION_LEN];
        xen_version = HYPERVISOR_xen_version(XENVER_version, NULL);
-       aprint_normal(": Xen version %d.%d\n", XEN_MAJOR(xen_version),
-              XEN_MINOR(xen_version));
+       memset(xen_extra_version, 0, sizeof(xen_extra_version));
+       HYPERVISOR_xen_version(XENVER_extraversion, xen_extra_version);
+       aprint_normal(": Xen version %d.%d%s\n", XEN_MAJOR(xen_version),
+              XEN_MINOR(xen_version), xen_extra_version);

Home | Main Index | Thread Index | Old Index