[Bug 1900773] Re: Timeout downloading initrd

dann frazier 1900773 at bugs.launchpad.net
Fri Nov 13 21:32:01 UTC 2020


** Description changed:

  [Impact]
- GRUB times out when downloading downloading large files w/ tftp. This notably breaks subiquity based PXE installations on several arm64 platforms (but presumably not limited to arm64).
+ GRUB times out when downloading downloading large files w/ tftp. This notably breaks subiquity based PXE installs which feature a large initrd. (Observed on several arm64 platforms, though the symptom is not arch-specific).
+ 
+ [Test Case]
+ Simple test case using an x86 UEFI VM:
+ Place a kernel/ramdisk on a tftp server. Inflate the initrd or kernel to 87M, e.g.:
+ 
+ dd if=/dev/zero of=initrd.img bs=1M count=87
+ dd if=initrd.img.orig of=initrd.img conv=notrunc
+ 
+ Success looks like:
+ Shell> fs0:
+ FS0:\> \efi\grubnetx64.efi
+ grub> net_dhcp efinet0
+ grub> linux (tftp,192.168.122.1)/vmlinuz.orig console=ttyS0,115200n8
+ grub> initrd (tftp,192.168.122.1)/initrd.img
+ grub> 
+ 
+ Failure looks like:
+ 
+ grub> net_dhcp efinet0
+ grub> linux (tftp,192.168.122.1)/vmlinuz.orig console=ttyS0,115200n8
+ grub> initrd (tftp,192.168.122.1)/initrd.img
+ !!!! X64 Exception Type - 06(#UD - Invalid Opcode)  CPU Apic ID - 00000000 !!!!
+ RIP  - 0000000000099080, CS  - 0000000000000038, RFLAGS - 0000000000010286
+ RAX  - 000000007DC2FF00, RCX - 000000004FF99013, RDX - 000000007BF4CCF4
+ RBX  - 000000007BE43FC0, RSP - 000000007FF25AE8, RBP - 000000007BE3C2A0
+ RSI  - 000000000000000B, RDI - 000000007BE3C340
+ R8   - 000000007DC21168, R9  - 000000007DC1D4AE, R10 - 0000000000000067
+ R11  - 0000000000000002, R12 - 000000007BE3CCA0, R13 - 000000007BE3C260
+ R14  - 0000000000020004, R15 - 000000007DC1A613
+ DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
+ GS   - 0000000000000030, SS  - 0000000000000030
+ CR0  - 0000000080010033, CR2 - 0000000000000000, CR3 - 000000007FC01000
+ CR4  - 0000000000000668, CR8 - 0000000000000000
+ DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
+ DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
+ GDTR - 000000007F9EE698 0000000000000047, LDTR - 0000000000000000
+ IDTR - 000000007F4B2018 0000000000000FFF,   TR - 0000000000000000
+ FXSAVE_STATE - 000000007FF25740
+ !!!! Can't find image information. !!!!
  
  
- [Test Case]
- This can be reproduced on a Cavium ThunderX CRB system using subiquity from the groovy arm64 ISO. Failure looks like:
+ This was originally discovered on a Cavium ThunderX CRB system using subiquity from the groovy arm64 ISO. Failure there looks like:
  
                           GNU GRUB  version 2.04
  
   ����������������������������������������������������������������������������Ŀ
   �*Ubuntu Server                                                              �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   ������������������������������������������������������������������������������
  
        Use the  and  keys to select which entry is highlighted.
        Press enter to boot the selected OS, `e' to edit the commands
        before booting or `c' for a command-line.
  
  error: timeout reading `initrd'.
  
  Press any key to continue...
  
  [Fix]
  https://git.savannah.gnu.org/cgit/grub.git/commit/?id=a6838bbc6726ad624bd2b94991f690b8e9d23c69
  
  [Where problems could occur]
  The fix is to the tftp command, so problems would like appear in the tftp stack, possibly due to inconsistencies between tftp server implementations.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to livecd-rootfs in Ubuntu.
https://bugs.launchpad.net/bugs/1900773

Title:
  Timeout downloading initrd

Status in Release Notes for Ubuntu:
  New
Status in grub2 package in Ubuntu:
  In Progress
Status in livecd-rootfs package in Ubuntu:
  Invalid
Status in grub2 source package in Focal:
  Confirmed
Status in livecd-rootfs source package in Focal:
  Invalid
Status in grub2 source package in Groovy:
  Confirmed
Status in livecd-rootfs source package in Groovy:
  Invalid
Status in grub2 source package in Hirsute:
  In Progress
Status in livecd-rootfs source package in Hirsute:
  Invalid

Bug description:
  [Impact]
  GRUB times out when downloading downloading large files w/ tftp. This notably breaks subiquity based PXE installs which feature a large initrd. (Observed on several arm64 platforms, though the symptom is not arch-specific).

  [Test Case]
  Simple test case using an x86 UEFI VM:
  Place a kernel/ramdisk on a tftp server. Inflate the initrd or kernel to 87M, e.g.:

  dd if=/dev/zero of=initrd.img bs=1M count=87
  dd if=initrd.img.orig of=initrd.img conv=notrunc

  Success looks like:
  Shell> fs0:
  FS0:\> \efi\grubnetx64.efi
  grub> net_dhcp efinet0
  grub> linux (tftp,192.168.122.1)/vmlinuz.orig console=ttyS0,115200n8
  grub> initrd (tftp,192.168.122.1)/initrd.img
  grub> 

  Failure looks like:

  grub> net_dhcp efinet0
  grub> linux (tftp,192.168.122.1)/vmlinuz.orig console=ttyS0,115200n8
  grub> initrd (tftp,192.168.122.1)/initrd.img
  !!!! X64 Exception Type - 06(#UD - Invalid Opcode)  CPU Apic ID - 00000000 !!!!
  RIP  - 0000000000099080, CS  - 0000000000000038, RFLAGS - 0000000000010286
  RAX  - 000000007DC2FF00, RCX - 000000004FF99013, RDX - 000000007BF4CCF4
  RBX  - 000000007BE43FC0, RSP - 000000007FF25AE8, RBP - 000000007BE3C2A0
  RSI  - 000000000000000B, RDI - 000000007BE3C340
  R8   - 000000007DC21168, R9  - 000000007DC1D4AE, R10 - 0000000000000067
  R11  - 0000000000000002, R12 - 000000007BE3CCA0, R13 - 000000007BE3C260
  R14  - 0000000000020004, R15 - 000000007DC1A613
  DS   - 0000000000000030, ES  - 0000000000000030, FS  - 0000000000000030
  GS   - 0000000000000030, SS  - 0000000000000030
  CR0  - 0000000080010033, CR2 - 0000000000000000, CR3 - 000000007FC01000
  CR4  - 0000000000000668, CR8 - 0000000000000000
  DR0  - 0000000000000000, DR1 - 0000000000000000, DR2 - 0000000000000000
  DR3  - 0000000000000000, DR6 - 00000000FFFF0FF0, DR7 - 0000000000000400
  GDTR - 000000007F9EE698 0000000000000047, LDTR - 0000000000000000
  IDTR - 000000007F4B2018 0000000000000FFF,   TR - 0000000000000000
  FXSAVE_STATE - 000000007FF25740
  !!!! Can't find image information. !!!!

  
  This was originally discovered on a Cavium ThunderX CRB system using subiquity from the groovy arm64 ISO. Failure there looks like:

                           GNU GRUB  version 2.04

   ����������������������������������������������������������������������������Ŀ
   �*Ubuntu Server                                                              �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   �                                                                            �
   ������������������������������������������������������������������������������

        Use the  and  keys to select which entry is highlighted.
        Press enter to boot the selected OS, `e' to edit the commands
        before booting or `c' for a command-line.

  error: timeout reading `initrd'.

  Press any key to continue...

  [Fix]
  https://git.savannah.gnu.org/cgit/grub.git/commit/?id=a6838bbc6726ad624bd2b94991f690b8e9d23c69

  [Where problems could occur]
  The fix is to the tftp command, so problems would like appear in the tftp stack, possibly due to inconsistencies between tftp server implementations.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-release-notes/+bug/1900773/+subscriptions



More information about the foundations-bugs mailing list