locked
Linux VM literally crashes Hyper-V host server with STOP 0x00020001 RRS feed

  • Question

  • Hi,

    We have a Hyper-V host server with Windows Server 2008 R2 SP1 and last Microsoft updates. Hardware is a HP DL 380 G5 with last BIOS, firmwares and drivers.

    We have installed a Linux RedHat 5.6 virtual machine (kernel 2.6.18-194.8.1.el5). It worked fine until yesterday. When the VM boots and loads the Linux kernel, it crashes the host OS with a BSOD STOP 0x00020001 "The Hypervisor has encountered a fatal error"! After crash dump analysis, the faulty module is hvboot.sys, so I guess the hypervisor...

    We moved the VM to another server, and it worked perfectly. Then when installed Linux Integration Services for Hyper-V v2.1. It was still working. So we moved again the VM to the first server, and again, same problem, the server crashes on linux kernel load.

    Does anyone has an idea on what could be the problem? How to explain that a VM can crash the host OS? I did know that VM can access hardware directly, but I didn't know that they were able to crash the host OS!

    Thanks.

    Tuesday, March 8, 2011 7:18 PM

Answers

All replies

  • hello,

     

    I'm facing the same problem with ProLiant BL460c G1 but i noticed that it happen "only" when the "allow migration to a virtual machine host with a different processor" option is checked. when un-checked this option i was able to start my Linux machine.

     

    hope it will help for something,

    but i guess the big question is how come a single VM is crushing the HOST itself.

    (i got the memory.dmp as well)


    test
    Monday, March 14, 2011 10:48 AM
  • Hi,

    I do not know this options in Hyper-V.

    You mean in System Center Virtual Machine Manager ?

    Yes, I'm about to open a case at Microsoft support.

    Tuesday, March 15, 2011 5:01 PM
  • +1

    We are having the same issue.

    There are six Windows 2008 R2 SP1 fully patched servers making a cluster.

    Tried Ubuntu 10.10 server, both x86 and x64. Both cause BSOD with STOP 0x00020001.

    hvboot.sys+282e

    P1: 0000000000000011

    P2: fffff800076ada66

    P3: 0000000000001004

    P4: fffff880802adc10

    Dumps can be provided upon request at kirill at systola dot com

    Wednesday, March 16, 2011 7:03 PM
  • E-mail sent - although given past history, it will end up in your spam filter. Please reply.

    If anyone else has logs, please email mike.sterling@microsoft.com

    -M

    This posting is provided "AS IS" with no warranties, and confers no rights.
    Thursday, March 17, 2011 2:05 AM
  • WinDBG outputs will help?
    test
    Thursday, March 17, 2011 9:21 AM
  • Hello Mike,

    I've sent you dump files via email.

    There is one thing I forgot to mention. The virtual machine had the “Migrate to a physical computer with a different processor version” option turned on, as our cluster has machines with different CPU families.

    Today I’ve tried turning off this option and the cluster node no longer has BSOD. However, Linux integration modules (hv_*) does seem to work really good – modprobe hangs up.

    Thursday, March 17, 2011 11:00 AM
  • We have same issue. Booting Linux VM causes complete cluster failure, all nodes log "Cluster node 'nodename' was removed from the active failover cluster membership. The Cluster service on this node may have stopped." then "The Cluster service is shutting down because quorum was lost. This could be due to the loss of network connectivity between some or all nodes in the cluster, or a failover of the witness disk. "

    This issue appears as soon as the Linux bootloader starts, looking through the event log its possible that all nodes loose various services during the crash including briefly loosing network connectivity. After this occurs, VM cluster configurations appear to get locked and individual machines cannot be brought online getting stuck at "Online Pending". The only way out of this is to reboot the node the VM was formally on before the crash occured which seems to release whatever is preventiing the VM cluster config from coming online.

    Fortunately we only have 1 Linux VM so for now it has been moved to a stand alone host.

     

    Tuesday, May 17, 2011 11:21 AM
  • Hi,

    I do not know this options in Hyper-V.

    You mean in System Center Virtual Machine Manager ?

    Yes, I'm about to open a case at Microsoft support.


    Hello gtamisier,

    Have you got the answer from MS?

    Monday, June 27, 2011 2:59 AM
  • It might happen if the VM was migrated from a different processor.

    Remove the option “Migrate to a physical computer with a different processor version”.

    see blog:

    http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/06/09/processor-compatibility-in-hyper-v-r2.aspx

    Monday, June 27, 2011 6:57 AM
  • try hotfix:

    "0x20001" Stop error when you start a Linux VM in Windows Server 2008 R2 SP1

    http://support.microsoft.com/kb/2550569

    Monday, June 27, 2011 7:18 AM
  • That Hot fix worked for me!!
    Dane!
    Tuesday, August 30, 2011 8:04 AM
  • I cannot download the hotfix links is down, anyone has download and save the hotfix? Or can send to my e-mail? brunocardoso at catolicasc dot org dot br
    Tuesday, April 16, 2013 9:51 PM
  • I cannot download the hotfix links is down, anyone has download and save the hotfix? Or can send to my e-mail? ZZZZZZZZZZZ at ZZZZZZZZZZZ dot ZZZ

    ~

    http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/9ef4d685-8618-43b2-9455-5463a1e04555
    ==
    >> I ( John Howard -MSFT) am a Program Manager in the Hyper-V team.
    . . . provide me access to the memory.dmp file for the bugcheck . . .

    Bruno R. Cardoso:
    John could you have resolve the issue? I have same problem here with Dell 1950.

    John Howard:

    Are you also using Windows Server 2008, or 2008 R2, or 2012 on the parent partition?

    There is a hotfix available here for Windows Server 2008 R2: http://support.microsoft.com/kb/2550569 if you are running
    Linux guests and seeing this error.

    Have you also ensured you have updated to the latest firmware from Dell?

    ==

    ~

    ~

    ==
    you using Windows Server 2008, or 2008 R2, or 2012 on the parent partition?
    Have you also ensured you have updated to the latest firmware from Dell?
    ==

     And?

    ~

    ----- Original Message -----
    From: "Victor Miasnikov"
    To: "Bruno R. Cardoso"
    Sent: Wednesday, April 17, 2013 5:30 PM

    Subject: kb2550569 is old?Fw: Windows6.1-KB2550569-x64.msu from ZZZZZ_intl_x64_zip.exe Fw: hotfix available here for Windows Server 2008 R2: http://support.microsoft.com/kb/2550569 if you are running Linux guests

     . . .

    --

    received?




    Wednesday, April 17, 2013 11:01 AM
  • I cannot download the hotfix links is down, anyone has download and save the hotfix? Or can send to my e-mail? ZZZZZZZZZZZ at ZZZZZZZZZZZ dot ZZZ

    ~

    http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/9ef4d685-8618-43b2-9455-5463a1e04555
    ==
    >> I ( John Howard -MSFT) am a Program Manager in the Hyper-V team.
    . . . provide me access to the memory.dmp file for the bugcheck . . .

    Bruno R. Cardoso:
    John could you have resolve the issue? I have same problem here with Dell 1950.

    John Howard:

    Are you also using Windows Server 2008, or 2008 R2, or 2012 on the parent partition?

    There is a hotfix available here for Windows Server 2008 R2: http://support.microsoft.com/kb/2550569 if you are running
    Linux guests and seeing this error.

    Have you also ensured you have updated to the latest firmware from Dell?

    ==

    ~

    ~

    ==
    you using Windows Server 2008, or 2008 R2, or 2012 on the parent partition?
    Have you also ensured you have updated to the latest firmware from Dell?
    ==

     And?

    ~

    ----- Original Message -----
    From: "Victor Miasnikov"
    To: "Bruno R. Cardoso"
    Sent: Wednesday, April 17, 2013 5:30 PM

    Subject: kb2550569 is old?Fw: Windows6.1-KB2550569-x64.msu from ZZZZZ_intl_x64_zip.exe Fw: hotfix available here for Windows Server 2008 R2: http://support.microsoft.com/kb/2550569 if you are running Linux guests

     . . .

    --

    received?

    #

    ~

    ~

     A-la duplicate, sorry but not I create 2 topics about one problem . . .

    http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/9ef4d685-8618-43b2-9455-5463a1e04555

    ==

     I/m affected to! :-/ :-(

    2008 R2 on the parent partition

    before and after latest secirity hotfixes

    ~

    ~

    I planned add details to this post later

    ~

    ~

    Welcom with Youre Q and A to

    vvm (at) tut.by

    ~

    ==

    ~

    P.S.  Detail I planned send to MS Support Team  ( only)

    P.P.S.  Who knwn CVE number ?



    Friday, April 26, 2013 8:32 AM
  •  And on

    http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg439101.html

    ----- Original Message -----
    From: "Victor Miasnikov" <vvm(at)tut.by>
    To: "Richard Genoud" ; "Haiyang Zhang" <ZZZZZZZZZZZ(at)microsoft.com>; "Patrick J. Volkerding" < ZZZZZZZZZZZZZZZ (at)slackware.com>; "KY Srinivasan" <ZZZZZZZZZZZZZZZZZ(at)microsoft.com>; "Mike Sterling" <ZZZZZZZZZZZZZZZz(at)microsoft.com>; "Olaf Hering" <ZZZZZZZZZZZZZZZZZZZ (at)suse.de>
    Cc: <davem(at)davemloft.net>; <netdev(at)vger.kernel.org>; <olaf(at)ZZZZZZZZZZ>; <ZZZZZZZZZZZZZZZZ(at)redhat.com>; <linux-kernel(at)vger.kernel.org>; <devel(at)linuxdriverproject.org>; <stable(at)vger.kernel.org>

    Sent: Thursday, May 23, 2013 4:14 PM

    Subject: Kernel v3.2 used in SlackWare 14.00 please, backport all needed patches Re: [PATCH net, 1/2] hyperv: Fix a kernel warning from netvsc_linkstatus_callback()

    Hi!

    > (the 3.2 version is different,
    > and it's instaging. (at not used by distros anyway))

     No: used

    Linux Kernel v3.2 used in:
    -- SlackWare 14.00

    This is actual stable version SlackWare

    Please, backport all(!) needed patches

     I'm download https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.2.45.tar.xz

    File ata_piix.c ( SHA1 ceaf441142ad3f6768ff71f023e73d0695458e2c ) from
    ./linux-3.2.45/drivers/ata/
    not contain:
    ( even not contain sub-string "Hyper-V")
    == ( VVM: symbol TAB replaced by Space+Space -- special for users of MS IE, MS OutLook [Express] )
    static int prefer_ms_hyperv = 1;
    module_param(prefer_ms_hyperv, int, 0);
    MODULE_PARM_DESC(prefer_ms_hyperv,
      "Prefer Hyper-V paravirtualization drivers instead of ATA, "
      "0 - Use ATA drivers, "
      "1 (Default) - Use the paravirtualization drivers.");

    static void piix_ignore_devices_quirk(struct ata_host *host)
    {
    #if IS_ENABLED(CONFIG_HYPERV_STORAGE)
      static const struct dmi_system_id ignore_hyperv[] = {
        {
          /* On Hyper-V hypervisors the disks are exposed on
           * both the emulated SATA controller and on the
           * paravirtualised drivers.  The CD/DVD devices
           * are only exposed on the emulated controller.
           * Request we ignore ATA devices on this host.
           */
          .ident = "Hyper-V Virtual Machine",
          .matches = {
            DMI_MATCH(DMI_SYS_VENDOR,
                "Microsoft Corporation"),
            DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"),
          },
        },
        { }  /* terminate list */
      };
      static const struct dmi_system_id allow_virtual_pc[] = {
        {
          /* In MS Virtual PC guests the DMI ident is nearly
           * identical to a Hyper-V guest. One difference is the
           * product version which is used here to identify
           * a Virtual PC guest. This entry allows ata_piix to
           * drive the emulated hardware.
           */
          .ident = "MS Virtual PC 2007",
          .matches = {
            DMI_MATCH(DMI_SYS_VENDOR,
                "Microsoft Corporation"),
            DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"),
            DMI_MATCH(DMI_PRODUCT_VERSION, "VS2005R2"),
          },
        },
        { }  /* terminate list */
      };
      const struct dmi_system_id *ignore = dmi_first_match(ignore_hyperv);
      const struct dmi_system_id *allow = dmi_first_match(allow_virtual_pc);

      if (ignore && !allow && prefer_ms_hyperv) {
        host->flags |= ATA_HOST_IGNORE_ATA;
        dev_info(host->dev, "%s detected, ATA device ignore set\n",
          ignore->ident);
      }
    #endif
    ==


    _Absolutly_ ( as _minimum_ for SlackWare 14.00 ) need backport requested at 2012-06-08(!) :
    ( look on sub-string "3.2")
    ==
    ----- Original Message -----
    From: "Victor Miasnikov"
    To: "Greg KH" ; "Jonathan Nieder" ; "Andy Whitcroft"
    Cc: <stable@vger.kernel.org>; <linux-kernel@vger.kernel.org>; "KY Srinivasan"; "Mike Sterling"
    Sent: Friday, June 08, 2012 1:36 PM
    Subject: Re: Re: ToDo: backport to v3.4 , v3.3 , v3.2 patches 1b) db63a4c8115a libata 1) cd006086fa5d ata_piix: defer
    disks to the Hyper-V drivers by default Fw: use hv_storvsc instead of ata_piix for IDE disks ( but not for the CD-ROM)

     . . .

    {
    > > > Hyper-V admins need _worked_ Linux v3.4.X / v3.3.X / v3.2.X
    > > > Please, _fix_ errors related "use hv_storvsc instead of ata_piix to
    > > > handle the IDE disks devices ( but not for the CD-ROM)"

      i.e. need backport to all actual version after 3.1

      cd006086fa5d ata_piix: defer disks to the Hyper-V drivers by default

    and its prerequisite

      db63a4c8115a libata: add a host flag to ignore detected ATA devices
    }
    ==

    and not forget patch related Bug 52821 :

    {{
    == ==
    ----- Original Message -----
    From: vvm
    To: Andreas
    Sent: Wednesday, January 30, 2013 4:20 PM
    Subject: FIXed: ef773e1..bec35f4 Re: ata_piix.prefer_ms_hyperv=0 works Fw: Bug 52821 - ata_piix ATA_HOST_IGNORE_ATA for
    Hyper-V also affects Virtual PC 7 https://bugzilla.novell.com/show_bug.cgi?id=737532 Or
    https://bugzilla.kernel.org/show_bug.cgi?id=52821


    Hi!

     Short:

    > Still, if there is a way to cleanly identify Hyper-V but not Virtual PC 7, this would be great!

    FIXed: ef773e1..bec35f4

     Write in
    https://bugzilla.kernel.org/show_bug.cgi?id=52821

    "please, backport to 3.4 . . . 3.6 . . . 3.7"

       . . .

     Full:

     

    (
     . . .

    > Still, if there is a way to cleanly identify Hyper-V but not Virtual PC 7, this would be great!

    FIXed: ef773e1..bec35f4


    ----- Original Message -----
    From: "Jeff Garzik"
    To: "Olaf Hering"
    Cc:  . . . ; "KY Srinivasan"
    Sent: Wednesday, November 28, 2012 8:44 PM
    Subject: Re: [PATCH] ata_piix: reenable MS Virtual PC guests

    On 09/18/2012 11:48 AM, Olaf Hering wrote:
    An earlier commit cd006086fa5d91414d8ff9ff2b78fbb593878e3c ("ata_piix:
    defer disks to the Hyper-V drivers by default") broke MS Virtual PC
    guests. Hyper-V guests and Virtual PC guests have nearly identical DMI
    info. As a result the driver does currently ignore the emulated hardware
    in Virtual PC guests and defers the handling to hv_blkvsc [ VVM: in current ver kernel -- hv_storvsc ]  . Since Virtual
    PC does not offer paravirtualized drivers no disks will be found in the
    guest.

    One difference in the DMI info is the product version. This patch adds a
    match for MS Virtual PC 2007 and "unignores" the emulated hardware.

    This was reported for openSuSE 12.1 in bugzilla:
    https://bugzilla.novell.com/show_bug.cgi?id=737532
    .  .  .

    Signed-off-by: Olaf Hering

    applied.  Apologies for missing this one.  It was accidentally shifting
    into the low-priority pile.
    ==


    == ==


    ==
    Andreas 2013-01-30 22:19:21
      First appearance:
    https://bugzilla.novell.com/show_bug.cgi?id=737532
    Patch:
    https://lkml.org/lkml/2012/9/18/306

    ==

    }}

     


    > This should also go to the stable tree, shouldn't it ?
    > At least 3.8, 3.7 and 3.4

     In kernel 3.2 used in

    -- Ubuntu 12.4.0 LTS (  after 12.4.2 -- 3.5.X)
    and
    -- Debian 7.0

    source code related Hyper-V backported from "vanila" Kernel v3.5 ( and someone from hi versions)

    Please, ask Support Teams of Debian and Ubuntu for backport

     

    Best regards, Victor Miasnikov
    Blog:  http://vvm.blog.tut.by/


    P.S.

    to To Microsoft Hyper-V for Linux Team:

    what are mint phrase:
    "LIS (Linux Integration Services) 4.0"
    ?

    If need details -- ask me by e-mail . . .

     

    P.P.S.

    Again to To Microsoft Hyper-V for Linux Team:

     See on MS Forum topic
    "Linux VM literally crashes Hyper-V host server with STOP 0x00020001"
     and (or)
    please, remember, CVE number

     

    P.P.P.S.

    To SUSE Hyper-V for Linux Team:

    Olaf, I'm received Yours e-mail msg ( answer on my earler msg)

     Thanks for answer

    Unfortunately Yours ( SUSE/Novel) Bug-Tracker not opened by IE from Win Srv Edtions
    I'm try do it from OpenSUSE v12.3 LiveCD but can not boot from it in Hyper-V VM when "Dynamic memory" turn on

     See details on
    http://vvm.blog.tut.by/2013/05/18/opensuse-on-hyper-v/

     Or ask SUSE Support Team write me by e-mail for detail


    P.P.P.P.S.

     In
    ./linux-3.10-rc2/drivers/scsi/storvsc_drv.c

    I am not found sub-string "Fiber Channel"

      As I  undestand Linux Kernel roadmap/timeline traditions
    need ask by backport needed patches to v3.10

    To Microsoft Hyper-V for Linux Team:

     Who must do it?

    Again Hypev-V sysadmin[s] ?


    P.P.P.P.P.S.

    Sorry, if my msg not full "political correct"

    I preffered solve problem as possibily earler, what wait big problems

    Sorry, again . . .

     

    Thursday, May 23, 2013 1:49 PM