Bug 1773175 - Could not parse device path: Invalid argument
Summary: Could not parse device path: Invalid argument
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: efivar
Version: 31
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Jones
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-11-16 08:30 UTC by Kamil Páral
Modified: 2020-02-29 03:20 UTC (History)
5 users (show)

Fixed In Version: efivar-37-6.fc31
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-02-29 03:20:54 UTC
Type: Bug


Attachments (Terms of Use)
bootvars from T480s (1.61 KB, application/x-bzip)
2019-11-20 09:36 UTC, Kamil Páral
no flags Details
Same problem, Rawhide (1.08 KB, application/x-bzip)
2019-12-01 14:18 UTC, Steven Usdansky
no flags Details
bootvars.tar.bz (720 bytes, application/x-bzip)
2019-12-28 03:53 UTC, Chris Murphy
no flags Details

Description Kamil Páral 2019-11-16 08:30:56 UTC
Description of problem:
$ sudo efibootmgr 
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002,0003,0004
Boot0000* Windows Boot Manager
Boot0001* Fedora
Boot0002* UEFI:CD/DVD Drive
Boot0003* UEFI:Removable Device
Boot0004* UEFI:Network Device

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002,0003,0004
Boot0000* Windows Boot ManagerCould not parse device path: Invalid argument

After downgrading to efivar{,-libs}-37-1.fc30.x86_64:

$ sudo efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000,0002,0003,0004
Boot0000* Windows Boot Manager	HD(1,GPT,7ef112b7-17fe-44aa-b225-4996ec823f9a,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...m................
Boot0001* Fedora	HD(1,GPT,7ef112b7-17fe-44aa-b225-4996ec823f9a,0x800,0x32000)/File(\EFI\fedora\shim.efi)
Boot0002* UEFI:CD/DVD Drive	BBS(129,,0x0)
Boot0003* UEFI:Removable Device	BBS(130,,0x0)
Boot0004* UEFI:Network Device	BBS(131,,0x0)

The same problem has been reported by a different person here:
https://bodhi.fedoraproject.org/updates/FEDORA-2019-d1cac88008


Version-Release number of selected component (if applicable):
efivar-37-4.fc31.x86_64
efivar-libs-37-4.fc31.x86_64

How reproducible:
always, on my system

Steps to Reproduce:
1. sudo efibootmgr -v
2. see "Could not parse device path: Invalid argument" error

Comment 1 Peter Jones 2019-11-18 19:51:21 UTC
Can you do:

tar cjf bootvars.tar.bz /sys/firmware/efi/efivars/Boot*

and attach that here?

Comment 2 Kamil Páral 2019-11-20 09:36:18 UTC
Created attachment 1638048 [details]
bootvars from T480s

Hi, I used a different computer (the one in comment 0 is my home computer, this one is my work laptop), but the problem is reproducible all the same:

$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0010,0011,0012,0013,0017,0018,0019,001A,001B,001C,001D,001E,0001
Boot0000* FedoraCould not parse device path: Invalid argument

Requested files attached.

Comment 3 Steven Usdansky 2019-12-01 14:18:20 UTC
Created attachment 1641053 [details]
Same problem, Rawhide

~$ rpm -qa | grep efivar
efivar-libs-37-4.fc32.x86_64
efivar-37-4.fc32.x86_64

~$ efibootmgr -v
BootCurrent: 0008
Timeout: 1 seconds
BootOrder: 0008,0001,0005,000D,0000,000E,000F,0006
Boot0000* Windows Boot ManagerCould not parse device path: Invalid argument

~$ inxi -Fxz
System:
  Host: Arsenopyrite Kernel: 5.4.0-2.fc32.x86_64 x86_64 bits: 64 
  compiler: gcc v: 9.2.1 Desktop: MATE 1.22.2 
  Distro: Fedora release 32 (Rawhide) 
Machine:
  Type: Laptop Mobo: INTEL model: SKYBAY serial: <filter> 
  UEFI: American Megatrends v: 5.11 date: 08/09/2016 
CPU:
  Topology: Dual Core model: Intel Core i3-6100U bits: 64 type: MT MCP 
  arch: Skylake rev: 3 L2 cache: 3072 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 18399 
  Speed: 800 MHz min/max: 400/2300 MHz Core speeds (MHz): 1: 800 2: 801 
  3: 800 4: 800 
Graphics:
  Device-1: Intel Skylake GT2 [HD Graphics 520] driver: i915 v: kernel 
  bus ID: 00:02.0 
  Display: server: Fedora Project X.org 1.20.6 driver: vesa 
  unloaded: fbdev,modesetting resolution: 1920x1080~60Hz 
  OpenGL: renderer: Mesa DRI Intel HD Graphics 520 (Skylake GT2) 
  v: 4.6 Mesa 19.3.0-rc5 direct render: Yes 
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio driver: snd_hda_intel v: kernel 
  bus ID: 00:1f.3 
  Sound Server: ALSA v: k5.4.0-2.fc32.x86_64 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  driver: r8169 v: kernel port: e000 bus ID: 01:00.0 
  IF: enp1s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  Device-2: Broadcom and subsidiaries BCM43227 802.11b/g/n vendor: Foxconn 
  driver: bcma-pci-bridge v: N/A port: e000 bus ID: 02:00.0 
Drives:
  Local Storage: total: 1.93 TiB used: 800.76 GiB (40.4%) 
  ID-1: /dev/sda vendor: JingX model: 120G SSD size: 118.00 GiB temp: 40 C 
  ID-2: /dev/sdb type: USB vendor: Toshiba model: External USB 3.0 
  size: 1.82 TiB 
Partition:
  ID-1: / size: 66.79 GiB used: 9.77 GiB (14.6%) fs: ext4 dev: /dev/sda6 
Sensors:
  System Temperatures: cpu: 40.5 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 196 Uptime: 2h 35m Memory: 7.68 GiB used: 1.08 GiB (14.0%) 
  Init: systemd runlevel: 5 Compilers: gcc: 9.2.1 Shell: bash v: 5.0.7 
  inxi: 3.0.37

Comment 4 Chris Murphy 2019-12-28 03:53:05 UTC
Created attachment 1648182 [details]
bootvars.tar.bz

I'm seeing it also with Rawhide.
[root@localhost-live ~]# efibootmgr -v
BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000,0080
Boot0000* FedoraCould not parse device path: Invalid argument
[root@localhost-live ~]#

Comment 5 Chris Murphy 2019-12-28 03:58:50 UTC
efibootmgr-16-6.fc31.x86_64
efivar-libs-37-4.fc32.x86_64
kernel-5.5.0-0.rc2.git0.1.fc32.x86_64

Comment 6 Thorsten Leemhuis 2020-01-08 14:18:58 UTC
Same here, on Fedora 31 (with a custom kernel [5.5-rc5]); downgrading to efivar{,-libs}-37-1.fc30 makes efibootmgr work again.

Comment 7 Bernie Innocenti 2020-02-08 10:50:14 UTC
I see the same problem in rawhide. This is the variable that seems to cause trouble:

Name: "Boot0001"
Attributes:
        Non-Volatile
        Boot Service Access
        Runtime Service Access
Value:
00000000  01 00 00 00 62 00 46 00  65 00 64 00 6f 00 72 00  |....b.F.e.d.o.r.|
00000010  61 00 00 00 04 01 2a 00  01 00 00 00 00 08 00 00  |a.....*.........|
00000020  00 00 00 00 00 48 0f 00  00 00 00 00 ea 1a 9f f6  |.....H..........|
00000030  1c 0f 86 4d a9 bf b0 25  7f 7b 98 3e 02 02 04 04  |...M...%.{.>....|
00000040  34 00 5c 00 45 00 46 00  49 00 5c 00 66 00 65 00  |4.\.E.F.I.\.f.e.|
00000050  64 00 6f 00 72 00 61 00  5c 00 73 00 68 00 69 00  |d.o.r.a.\.s.h.i.|
00000060  6d 00 78 00 36 00 34 00  2e 00 65 00 66 00 69 00  |m.x.6.4...e.f.i.|
00000070  00 00 7f ff 04 00                                 |......          |


The file *does* exist and is visible at this path: /boot/efi/EFI/fedora/shimx64.efi

Note that my root partition is xfs and includes /boot (while /boot/efi is a VFAT filesystem, of course).

Comment 8 Bernie Innocenti 2020-02-08 10:51:55 UTC
Increasing the verbosity reveals the exact line where this happens:

18!giskard:~# efibootmgr -v10
Could not read variable 'BootNext': No such file or directory
error trace:
 efivarfs.c:258 efivarfs_get_variable(): open(/sys/firmware/efi/efivars/BootNext-8be4df61-93ca-11d2-aa0d-00e098032b8c): No such file or directory
 lib.c:139 efi_get_variable(): ops->get_variable failed: No such file or directory
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0001,0019,001A,001B,001C,001D,001E,001F,0020,0021,0022,0023,0024,0003
Boot0001* FedoraCould not parse device path: Invalid argument
error trace:
 /builddir/build/BUILD/efivar-37/src/include/efivar/efivar-dp.h:1208 efidp_is_valid(): invalid device path node type: Invalid argument

Comment 9 Bernie Innocenti 2020-02-08 10:54:54 UTC
People have reported similar issues in ArchLinux and Ubuntu:

 https://bugs.archlinux.org/task/64551
 https://bugs.launchpad.net/ubuntu/+source/efivar/+bug/1844320

The last comment on the Launchpad bug claims that the bug was fixed by backporting some fix already present upstream:

efivar (37-2ubuntu2) eoan; urgency=medium

  * Backport more fixes from upstream that fix efibootmgr -v. (LP: #1844320) 

 -- Michael Hudson-Doyle <michael.hudson>  Wed, 25 Sep 2019 10:50:57 +1200

Comment 10 Bernie Innocenti 2020-02-08 11:28:21 UTC
I built efivar and efibootmgr from git head, and now I can decode my boot vars:

BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0001,0019,001A,001B,001C,001D,001E,001F,0020,0021,0022,0023,0024,0003
Boot0001* Fedora        HD(1,GPT,f69f1aea-0f1c-4d86-a9bf-b0257f7b983e,0x800,0xf4800)/File(\EFI\fedora\shimx64.efi)
Boot0002* Fedora        HD(1,GPT,f69f1aea-0f1c-4d86-a9bf-b0257f7b983e,0x800,0xf4800)/File(\EFI\rawhide\shimx64.efi)
Boot0003* Linux-Firmware-Updater        HD(1,GPT,f69f1aea-0f1c-4d86-a9bf-b0257f7b983e,0x800,0xf4800)/File(\EFI\fedora\shimx64.efi) File(.\fwupdx64.efi)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu     FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0012  Diagnostic Splash Screen      FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0014  Regulatory Information        FvFile(478c92a0-2622-42b7-a65d-5894169e4d24)
Boot0015  ThinkShield secure wipe       FvFile(3593a0d5-bd52-43a0-808e-cbff5ece2477)
Boot0016  Startup Interrupt Menu        FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0017  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0018  MEBx Hot Key  FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0019* USB CD        VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot001A* USB FDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot001B* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
Boot001C* NVMe1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a401)
Boot001D* ATA HDD0      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot001E* ATA HDD1      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f601)
Boot001F* USB HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot0020* PXE BOOT      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0021* HTTPS BOOT    VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,ad38ccbbf7edf04d959cf42aa74d3650)/Uri()
Boot0022* LENOVO CLOUD  VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,ad38ccbbf7edf04d959cf42aa74d3650)/Uri(https://download.lenovo.com/pccbbs/cdeploy/efi/boot.efi)
Boot0023  Other CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)
Boot0024  Other HDD     VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
Boot0025* IDER BOOT CDROM       PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,1,0)
Boot0026* IDER BOOT Floppy      PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,0,0)
Boot0027* ATA HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0028* ATAPI CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)

Comment 11 Fedora Update System 2020-02-24 20:31:10 UTC
FEDORA-2019-d1cac88008 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-d1cac88008

Comment 12 Fedora Update System 2020-02-24 20:31:11 UTC
FEDORA-2019-d1cac88008 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-d1cac88008

Comment 13 Kamil Páral 2020-02-25 18:45:18 UTC
(In reply to Fedora Update System from comment #12)
> FEDORA-2019-d1cac88008 has been submitted as an update to Fedora 31.
> https://bodhi.fedoraproject.org/updates/FEDORA-2019-d1cac88008

This resolved the problem on both my desktop and my laptop.

Comment 14 Fedora Update System 2020-02-26 17:59:16 UTC
efivar-37-6.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-d1cac88008

Comment 15 Fedora Update System 2020-02-29 03:20:54 UTC
efivar-37-6.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.