DPDK patches and discussions
 help / color / mirror / Atom feed
From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/ethdev Bug 1691] e1000 device initialization fails with SIGILL in KVM
Date: Thu, 03 Apr 2025 21:07:43 +0000	[thread overview]
Message-ID: <bug-1691-3@http.bugs.dpdk.org/> (raw)

[-- Attachment #1: Type: text/plain, Size: 2611 bytes --]

https://bugs.dpdk.org/show_bug.cgi?id=1691

            Bug ID: 1691
           Summary: e1000 device initialization fails with SIGILL in KVM
           Product: DPDK
           Version: 24.11
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: mgsmith@netgate.com
  Target Milestone: ---

Created attachment 309
  --> https://bugs.dpdk.org/attachment.cgi?id=309&action=edit
backtrace from gdb

When attempting to run FD.io VPP in a qemu VM with e1000 interfaces, SIGILL is
caught during initialization of one of the e1000 interfaces attached to the VM.
The value of si_code is 2 (illegal operand).


This occurs on at least VPP versions:
 24.10 (DPDK 24.07)
 25.02 (DPDK 24.11)


The VM where the problem occurs is running ubuntu 24.04 LTS (kernel
6.8.0-54-generic). This issue does not occur on another VM running ubuntu 22.04
LTS (kernel 5.15.0-133-generic) on the same host system and using the same
version of VPP/DPDK.


The problem occurs very consistently when DPDK is compiled with gcc using
optimization level 2 or 3. It does not occur when DPDK is compiled with gcc
using optimization level 1 or compiled with clang.


I'll attach a text file with a stack trace since I don't know how to make it
format nicely here. The signal is caught in e1000_id_led_init_generic() while
trying to read from the memory address of the ledctl register. 


Googling found someone else reporting the same problem to qemu -
https://gitlab.com/qemu-project/qemu/-/issues/2784. It doesn't seem to me like
the issue can be attributed to qemu though.


It should be possible to reproduce the problem via:
1) Provision a qemu VM running ubuntu 24.04 ("noble"). Attach one or more e1000
NICs.
2) In the VM, install the VPP 25.02 deb packages (libvppinfra, vpp,
vpp-plugin-core, vpp-plugin-devtools, vpp-plugin-dpdk) for noble
(https://packagecloud.io/fdio/2502).
3) In the VM, run 'systemctl stop vpp.service' to make sure VPP is shut down.
4) In the VM, edit /etc/vpp/startup.conf. Add a line containing 'dpdk { dev
<PCI_addr_of_e1000> }'.
5) In the VM, run 'systemctl start vpp.service' to start VPP. Or just execute
it from a shell as /usr/bin/vpp -c /etc/vpp/startup.conf. In either case, it
should crash immediately on SIGILL.


I'm not sure if it also affects e1000 hardware devices, I don't have any to
test.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #2: Type: text/html, Size: 4749 bytes --]

                 reply	other threads:[~2025-04-03 21:07 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=bug-1691-3@http.bugs.dpdk.org/ \
    --to=bugzilla@dpdk.org \
    --cc=dev@dpdk.org \
    /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;
as well as URLs for NNTP newsgroup(s).