Bug 1773175

Summary: Could not parse device path: Invalid argument
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: efivarAssignee: Peter Jones <pjones>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: bernie+fedora, bugzilla, fedora, pjones, usdanskys
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: efivar-37-6.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-29 03:20:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
bootvars from T480s
none
Same problem, Rawhide
none
bootvars.tar.bz none

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.