PCI Passthorugh INTERNAL_ERROR
-
- XCPNG: 8.3
- node: 20.18.3
- npm: 10.8.3
- xen-orchestra-upload-ova: 0.1.6
- xen-orchestra-web: 0.17.1
- xo-server: 5.177.4
- xo-server-telemetry: 0.7.0
- xo-server-xoa: 0.30.1
- xo-web-free: 5.174.3
- xoa-cli: 0.40.3
- xoa-updater: 0.50.10
When I go to pass through a device I get the following error on the screen.
-
Hi,
As stated in https://docs.xen-orchestra.com/community, you should provide the commit number and double check you are on the latest version available on
master
-
@olivierlambert I was actually using the official XOA not from source, but I do have source instance installed with the commit of
c8f9d
and I have having the same issue. -
Oh sorry, I thought you were on the sources
In that case, you just have to provide the XOA channel you are on, that's enough
Regarding your issue, it's hard to tell, it seems you have a problem at the host level. Have you enabled IOMMU in the bios?
-
@olivierlambert I have SR-IOV enabled in the BIOS.
-
What's the result of
lspci
on your machine?Also pinging @Team-Hypervisor-Kernel
-
Not a Xen issue.
This seems to be either a configuration issue (knowing/opt/xensource/libexec/xen-cmdline --get-dom0
may help) causing a issue in XAPI (@Team-XAPI-Network).Maybe crashing in xapi/pciops.ml#L71-L80 or xapi/xapi_pci_helpers.ml#L179-L207.
-
@TeddyAstie I ran
/opt/xensource/libexec/xen-cmdline --get-dom0
on the host and it didn't return anything.EDIT: I also want to mention that I upgraded from 8.2 to 8.3 is that makes any difference. But I only started to testing passing through devices after I upgraded.
-
@TITUS-MAXIMUS Could you please attach
/var/log/xensource.log
from the time of the error? Would be very useful to have a backtrace from where the error occurs -
@TITUS-MAXIMUS
--get-dom0
being empty means no PCI devices were hidden from dom0 either, did you follow this step of the guide? https://docs.xcp-ng.org/compute/#2-tell-xcp-ng-not-to-use-this-device-id-for-dom0 -
@andriy.sultanov Here are the logs. To your second question. I thought I was able to pass through devices from XO and then the host reboots. Maybe I misunderstood how this worked. Are you saying I need to do this in the console and then XO?
Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] PCI.get_dom0_access_status R:1f40280dd69a failed with exception Server_error(INTERNAL_ERROR, [ 126 ]) Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] Raised Server_error(INTERNAL_ERROR, [ 126 ]) Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 1/15 xapi Raised at file ocaml/xapi-aux/helper_process.ml, line 17 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 2/15 xapi Called from file ocaml/xapi/pciops.ml, line 73 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 3/15 xapi Called from file ocaml/xapi/pciops.ml, line 95 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 4/15 xapi Called from file ocaml/xapi/pciops.ml, line 99 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 5/15 xapi Called from file ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml, line 24 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 6/15 xapi Called from file ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml, line 39 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 7/15 xapi Called from file ocaml/xapi/xapi_pci_helpers.ml, line 213 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 8/15 xapi Called from file ocaml/xapi/message_forwarding.ml, line 141 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 9/15 xapi Called from file ocaml/xapi/rbac.ml, line 188 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 10/15 xapi Called from file ocaml/xapi/rbac.ml, line 197 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 11/15 xapi Called from file ocaml/xapi/server_helpers.ml, line 77 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 12/15 xapi Called from file ocaml/xapi/server_helpers.ml, line 96 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 13/15 xapi Called from file ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml, line 24 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 14/15 xapi Called from file ocaml/libs/xapi-stdext/lib/xapi-stdext-pervasives/pervasiveext.ml, line 39 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace] 15/15 xapi Called from file ocaml/libs/log/debug.ml, line 250 Jul 7 16:42:08 xcp-ng-01 xapi: [error||62070 :::80|dispatch:PCI.get_dom0_access_status D:7ee7c7e624f9|backtrace]
-
@TITUS-MAXIMUS You are correct. Sorry, the command to run is
/opt/xensource/libexec/xen-cmdline --get-dom0 xen-pciback.hide
- does this return anything? what's the return code of the command?