All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.