XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Windows VMGuest changing network cause the guest to crash

    Scheduled Pinned Locked Moved Xen Orchestra
    14 Posts 6 Posters 2.2k Views 7 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • olivierlambertO Offline
      olivierlambert Vates 🪐 Co-Founder CEO
      last edited by

      Okay so as a workaround, rely on Citrix drivers until we got a new XCP-ng version of the PV drivers 🙂

      1 Reply Last reply Reply Quote 1
      • planedropP Offline
        planedrop Top contributor
        last edited by

        I've had something similar in the past and if I recall correctly I had to go into the guest and disable it's network adapter, then make the change on the host, then re-enable the network adapter in the guest VM.

        Might be worth a shot to see if that solves it.

        I believe with the Citrix drivers though it doesn't happen.

        1 Reply Last reply Reply Quote 0
        • P Offline
          piotrlotr1
          last edited by piotrlotr1

          Apologize again for touching an old topic but we are just testing all things we need from XCP-ng while migrating OFF VMware and it looks like this error still occurs even with Citrix XenTools installed.

          Version we have inside VMs is 9.4.0-146.

          Here is the result of removing network adapter.

          snap_02.PNG clipboard-image-1.png

          Not every time I delete network adapter the issue occur.

          We've tried on different VMs with Windows 2019 and the problem exists.

          1 Reply Last reply Reply Quote 0
          • X Offline
            XCP-ng-JustGreat
            last edited by XCP-ng-JustGreat

            All, Just to let you know that I have observed this same behavior on Windows 11 24H2 with the latest Citrix drivers. After changing the network, the CPU spikes to 100% and the VM becomes unusable. In that case, the only fix is to perform a forced reboot. As others have noted here, sometimes the VM will continue to run okay, but the CPU spike failure happens more often than not.

            P 1 Reply Last reply Reply Quote 0
            • P Offline
              piotrlotr1 @XCP-ng-JustGreat
              last edited by

              @XCP-ng-JustGreat
              Check mentioned by @planedrop disabling network adapter from devmgmt.msc before removing it from XOA. It works in our case as a workaround but of course the problem is still there.

              X 1 Reply Last reply Reply Quote 0
              • X Offline
                XCP-ng-JustGreat @piotrlotr1
                last edited by

                @piotrlotr1 Will definitely use the trick if needed in the future. Normally, changing the network for a running VM is not something we typically need to do. Thanks!

                1 Reply Last reply Reply Quote 0
                • P Offline
                  piotrlotr1
                  last edited by

                  There is one more thing we've noticed.

                  While CPU are 100% flat, when we trigger migration to different XCP-ng host the task stops at 90% and goes "failure".

                  Here's the code.

                  {
                    "id": "0m9005wjh",
                    "properties": {
                      "method": "vm.migrate",
                      "params": {
                        "vm": "c30f10de-4dfa-e7dd-84dd-3104ed7e1c23",
                        "migrationNetwork": "6dc5b9a9-36dc-ab29-4ad6-80ecbd53b906",
                        "targetHost": "24eacfb2-da63-4e27-aa02-6e5cb774026b"
                      },
                      "name": "API call: vm.migrate",
                      "userId": "612f2ca4-dddf-4d18-96c4-1ce8c57a6383",
                      "type": "api.call"
                    },
                    "start": 1743602926589,
                    "status": "failure",
                    "updatedAt": 1743602977282,
                    "end": 1743602977282,
                    "result": {
                      "code": "INTERNAL_ERROR",
                      "params": [
                        "Xenops_interface.Xenopsd_error(S(Failed_to_acknowledge_suspend_request))"
                      ],
                      "task": {
                        "uuid": "2f0c5622-52a1-f621-bbec-b2cdf1ab07c9",
                        "name_label": "Async.VM.migrate_send",
                        "name_description": "",
                        "allowed_operations": [],
                        "current_operations": {},
                        "created": "20250402T14:08:46Z",
                        "finished": "20250402T14:09:37Z",
                        "status": "failure",
                        "resident_on": "OpaqueRef:d11c5a86-fa0b-7788-3f80-0cb300322d88",
                        "progress": 1,
                        "type": "<none/>",
                        "result": "",
                        "error_info": [
                          "INTERNAL_ERROR",
                          "Xenops_interface.Xenopsd_error(S(Failed_to_acknowledge_suspend_request))"
                        ],
                        "other_config": {},
                        "subtask_of": "OpaqueRef:NULL",
                        "subtasks": [],
                        "backtrace": "(((process xenopsd-xc)(filename ocaml/xenopsd/xc/xenops_server_xen.ml)(line 2561))((process xenopsd-xc)(filename ocaml/xenopsd/xc/domain.ml)(line 1706))((process xenopsd-xc)(filename ocaml/xenopsd/xc/emu_manager.ml)(line 239))((process xenopsd-xc)(filename ocaml/xenopsd/xc/emu_manager.ml)(line 244))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xenopsd-xc)(filename ocaml/xenopsd/xc/domain.ml)(line 1840))((process xenopsd-xc)(filename result.ml)(line 23))((process xenopsd-xc)(filename ocaml/xenopsd/xc/domain.ml)(line 1833))((process xenopsd-xc)(filename ocaml/xenopsd/xc/xenops_server_xen.ml)(line 2554))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 1830))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 1838))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 2380))((process xenopsd-xc)(filename list.ml)(line 121))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 2373))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 2746))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xenopsd-xc)(filename ocaml/libs/stunnel/stunnel.ml)(line 403))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 2759))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xenopsd-xc)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xenopsd-xc)(filename ocaml/libs/stunnel/stunnel.ml)(line 403))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 2657))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 1830))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 1838))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 3185))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 3195))((process xenopsd-xc)(filename ocaml/xenopsd/lib/xenops_server.ml)(line 3215))((process xenopsd-xc)(filename ocaml/xapi-idl/lib/task_server.ml)(line 194))((process xapi)(filename ocaml/xapi/xapi_xenops.ml)(line 3387))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xapi)(filename ocaml/xapi/xapi_xenops.ml)(line 3555))((process xapi)(filename ocaml/xapi/xapi_vm_migrate.ml)(line 264))((process xapi)(filename ocaml/xapi/xapi_vm_migrate.ml)(line 270))((process xapi)(filename ocaml/xapi/xapi_vm_migrate.ml)(line 295))((process xapi)(filename ocaml/xapi/xapi_vm_migrate.ml)(line 1551))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xapi)(filename ocaml/xapi/xapi_vm_migrate.ml)(line 1714))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xapi)(filename ocaml/xapi/message_forwarding.ml)(line 143))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 24))((process xapi)(filename ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml)(line 39))((process xapi)(filename ocaml/xapi/message_forwarding.ml)(line 2591))((process xapi)(filename ocaml/xapi/rbac.ml)(line 191))((process xapi)(filename ocaml/xapi/rbac.ml)(line 200))((process xapi)(filename ocaml/xapi/server_helpers.ml)(line 75)))"
                      },
                      "message": "INTERNAL_ERROR(Xenops_interface.Xenopsd_error(S(Failed_to_acknowledge_suspend_request)))",
                      "name": "XapiError",
                      "stack": "XapiError: INTERNAL_ERROR(Xenops_interface.Xenopsd_error(S(Failed_to_acknowledge_suspend_request)))\n    at Function.wrap (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/_XapiError.mjs:16:12)\n    at default (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/_getTaskResult.mjs:13:29)\n    at Xapi._addRecordToCache (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/index.mjs:1072:24)\n    at file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/index.mjs:1106:14\n    at Array.forEach (<anonymous>)\n    at Xapi._processEvents (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/index.mjs:1096:12)\n    at Xapi._watchEvents (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/index.mjs:1269:14)"
                    }
                  }
                  

                  Maybe Devs will get something out of it : - /

                  1 Reply Last reply Reply Quote 0
                  • olivierlambertO Offline
                    olivierlambert Vates 🪐 Co-Founder CEO
                    last edited by

                    This is because the VM is likely too busy to migrate memory pages fast enough vs what's newly written.

                    1 Reply Last reply Reply Quote 0
                    • olivierlambertO Offline
                      olivierlambert Vates 🪐 Co-Founder CEO
                      last edited by

                      Adding @dinhngtu in the loop

                      1 Reply Last reply Reply Quote 0
                      • D Offline
                        dinhngtu Vates 🪐 XCP-ng Team
                        last edited by

                        This is a driver bug that we fixed in XCP-ng Windows tools v9.0.9030 but hasn't been integrated by Citrix yet. You can try it out if you're not running a production system.

                        olivierlambertO 1 Reply Last reply Reply Quote 3
                        • olivierlambertO Offline
                          olivierlambert Vates 🪐 Co-Founder CEO @dinhngtu
                          last edited by

                          @dinhngtu said in Windows VMGuest changing network cause the guest to crash:

                          This is a driver bug that we fixed in XCP-ng Windows tools v9.0.9030 but hasn't been integrated by Citrix yet. You can try it out if you're not running a production system.

                          Gosh, we are now officially faster than Citrix to detect and fix bugs even in the Windows PV driver 🤓

                          1 Reply Last reply Reply Quote 1

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          • First post
                            Last post