public inbox for dev@dpdk.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Matan Azrad <matan@nvidia.com>
Cc: dev@dpdk.org
Subject: Bug: github actions triggering bug in vdev_netvsc
Date: Sun, 22 Feb 2026 11:48:43 -0800	[thread overview]
Message-ID: <20260222114843.0f27db7f@phoenix.local> (raw)

There are multiple unrelated patches failing in github action automated
testing. Not sure where this should live in Bugzilla, since not DTS but problem
with github action.

The root cause is that github container is deciding to pick up
the vdev_netvsc PMD when it should not.

Long winded AI details...

# eal_flags_vdev_opt_autotest failure on Azure/Hyper-V CI runners

## Summary

`eal_flags_vdev_opt_autotest` fails on GitHub Actions (Azure/Hyper-V VMs)
because `net_vdev_netvsc` auto-probes and crashes when a ring ethdev has
been created via the `nodeaction` parameter.

## Environment

- GitHub Actions runner (Azure Hyper-V VM)
- DPDK v26.03-rc1, shared library build
- VMBUS device present: `7ced8d63-dd7e-7ced-8d63-dd7e7ced8d63`
- PCI device: `c4c8:00:02.0` (mlx5)

## Details

The test spawns three child processes with `--no-huge`:

1. `--vdev eth_dummy` — correctly fails (invalid device) ✓
2. `--vdev net_ring0,args=test` — succeeds, exits cleanly ✓
3. `--vdev net_ring0,nodeaction=r1:0:CREATE` — child process crashes ✗

Because the runner is a Hyper-V VM, `vdev_netvsc_scan_callback` (triggered
by `RTE_INIT` when `rte_hypervisor_get() == RTE_HYPERVISOR_HYPERV`)
automatically injects `net_vdev_netvsc` as a vdev to probe alongside the
user-requested `net_ring0`.

In run 2, `args=test` is an unknown key — `net_ring0` creates a default
device and `net_vdev_netvsc` probes without issue.

In run 3, `nodeaction=r1:0:CREATE` causes `net_ring0` to create a named
ring ethdev via `eth_dev_ring_create()`. When `net_vdev_netvsc` then
auto-probes, it hits `rte_intr_fd_get: Interrupt instance unallocated`
and the child process dies (no EAL cleanup messages are printed, indicating
a crash rather than a graceful exit).

The same `rte_intr_fd_get` errors appear in run 2 but are non-fatal there,
suggesting the additional ethdev state from nodeaction CREATE triggers a
fatal code path in the netvsc/interrupt interaction.

## Suggested fixes

- Fix `net_vdev_netvsc` probe to handle unallocated interrupt instances
  gracefully instead of crashing.
- Alternatively, the test could suppress auto-probing by passing
  `--vdev=net_vdev_netvsc,ignore=1` to its child processes.


                 reply	other threads:[~2026-02-22 19:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260222114843.0f27db7f@phoenix.local \
    --to=stephen@networkplumber.org \
    --cc=dev@dpdk.org \
    --cc=matan@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox