[Bug 1934192] Re: regression between 2.04-1ubuntu44 and 2.04-1ubuntu44.2 breaks netboot on arm64
dann frazier
1934192 at bugs.launchpad.net
Thu Jul 1 14:40:51 UTC 2021
@juliank pointed out that 2.04-1ubuntu44 was built w/ the hirsute
toolchain, 2.04-1ubuntu44.2 with focal's toolchain. I'll run some
experiments to see if the issue follows the toolchain.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2-signed in Ubuntu.
https://bugs.launchpad.net/bugs/1934192
Title:
regression between 2.04-1ubuntu44 and 2.04-1ubuntu44.2 breaks netboot
on arm64
Status in grub2-signed package in Ubuntu:
New
Status in grub2-unsigned package in Ubuntu:
New
Bug description:
We noticed today that 2 arm64 nodes in our MAAS server are failing to Commission/Deploy. Both happen to be Ampere Altra systems. We have not (yet) noticed a problem with other systems - a Cavium ThunderX system I tested seems unaffected. The symptom is that they successfully PXE boot GRUB, but then GRUB just drops to a prompt[*]. I confirmed that the grubaa64.efi binary is the 2.04-1ubuntu44.2 grubnetaa64.efi.signed from focal-proposed:
sha256sum: 53916e7cac279a0dc61163dc3edd4580a8e23f63162ced1decff87386fd2cda1
These systems used to work fine. To try and identify what changed, I reverted MAAS' grubaa64.efi binary to the 2.04-1ubuntu44 grubnetaa64.efi.signed binary:
sha256sum: e098dd7e372b47de01b27dfc39225d3c62cde2239c984e578421d94c501244ae
This worked. I then restored the 2.04-1ubuntu44.2 binary, and found it
once again failed. Since the failing GRUB binary does drop me at a
shell, I used it to enable debug and retry boot[**]. This seems to
suggest TFTP requests are failing. Server side, the log shows no such
requests.
Note that I've seen something like this before, where GRUB TFTP seems
to be broken for only Ampere systems. See bug 1900773. It's unlikely
the same problem though. That bug was only an issue w/ large files,
whereas this is impacting just fetching the initial grub.cfg.
[*]
>>Checking Media Presence......
>>Media Present......
>>Start PXE over IPv4 on MAC: 18-C0-4D-82-E0-C8. Press ESC key to abort PXE boot.
Station IP address is 10.229.193.84
Server IP address is 10.229.32.21
NBP filename is grubaa64.efi
NBP filesize is 1611648 Bytes
>>Checking Media Presence....GNU GRUB version 2.04
>>Media Present......
Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists possible
device or file completions.
grub>
[**]
grub> cat (memdisk)/grub.cfg
if [ -e $prefix/arm64-efi/grub.cfg ]; then
source $prefix/arm64-efi/grub.cfg
elif [ -e $prefix/grub.cfg-arm64 ]; then
source $prefix/grub.cfg-default-arm64
else
source $prefix/grub.cfg
fi
grub> echo $prefix
(tftp,10.229.32.21)/grub
grub> set debug=all
script/script.c:65: free 0x80bf7ec7120
script/script.c:65: free 0x80bf7ec7160
script/script.c:65: free 0x80bf7ec71a0
script/script.c:65: free 0x80bf7ec6cc0
script/script.c:65: free 0x80bf7ec6d20
script/script.c:65: free 0x80bf7ec6d60
script/script.c:65: free 0x80bf7ec6dc0
script/script.c:65: free 0x80bf7ec6e20
script/script.c:65: free 0x80bf7ec6f00
script/script.c:65: free 0x80bf7ec6fe0
script/script.c:65: free 0x80bf7ec7040
script/script.c:65: free 0x80bf7ec7080
grub> source (memdisk)/grub.cfg
script/lexer.c:336: token 288 text [source]
script/script.c:50: malloc 0x80bf7ec6ee0
script/script.c:50: malloc 0x80bf7ec6ea0
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec6e40
script/lexer.c:336: token 289 text [(memdisk)/grub.cfg]
script/script.c:50: malloc 0x80bf7ec6c60
script/script.c:50: malloc 0x80bf7ec6c00
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec6ba0
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ec6b40
script/script.c:50: malloc 0x80bf7ec6b00
script/script.c:198: cmdline
script/script.c:50: malloc 0x80bf7ec6aa0
script/lexer.c:336: token 0 text []
script/script.c:50: malloc 0x80bf7ec7000
script/script.c:50: malloc 0x80bf7ec6fc0
script/script.c:294: append command
script/script.c:50: malloc 0x80bf7ec6f80
commands/wildcard.c:535: no expansion needed
commands/wildcard.c:594: paths[0] = `(memdisk)/grub.cfg'
kern/disk.c:196: Opening `memdisk'...
kern/fs.c:56: Detecting zfs...
kern/disk.c:421: Read out of range: sector 0x100 (attempt to read or write
outside of disk `memdisk').
kern/disk.c:421: Read out of range: sector 0x300 (attempt to read or write
outside of disk `memdisk').
kern/disk.c:421: Read out of range: sector 0xfffffffffffffd00 (attempt to read
or write outside of disk `memdisk').
kern/disk.c:421: Read out of range: sector 0xffffffffffffff00 (attempt to read
or write outside of disk `memdisk').
kern/fs.c:78: zfs detection failed.
kern/fs.c:56: Detecting xfs...
fs/xfs.c:909: Reading sb
fs/xfs.c:258: Validating superblock
kern/fs.c:78: xfs detection failed.
kern/fs.c:56: Detecting squash4...
kern/fs.c:78: squash4 detection failed.
kern/fs.c:56: Detecting ntfs...
kern/fs.c:78: ntfs detection failed.
kern/fs.c:56: Detecting iso9660...
kern/fs.c:78: iso9660 detection failed.
kern/fs.c:56: Detecting hfsplus...
kern/fs.c:78: hfsplus detection failed.
kern/fs.c:56: Detecting fat...
commands/verifiers.c:88: file: (memdisk)/grub.cfg type: 51
script/lexer.c:336: token 281 text [if]
script/script.c:50: malloc 0x80bf7ec1e40
script/script.c:50: malloc 0x80bf7ec1e00
script/lexer.c:336: token 289 text [[]
script/script.c:50: malloc 0x80bf7ec1c20
script/script.c:50: malloc 0x80bf7ec1be0
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec1b80
script/lexer.c:336: token 289 text [-e]
script/script.c:50: malloc 0x80bf7ec1b20
script/script.c:50: malloc 0x80bf7ec1ae0
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec1a80
script/lexer.c:336: token 289 text []
script/script.c:50: malloc 0x80bf7ec1980
script/script.c:50: malloc 0x80bf7ec1940
script/lexer.c:336: token 289 text [prefix]
script/script.c:50: malloc 0x80bf7ec18e0
script/script.c:50: malloc 0x80bf7ec18a0
script/lexer.c:336: token 289 text [/arm64-efi/grub.cfg]
script/script.c:50: malloc 0x80bf7ec1840
script/script.c:50: malloc 0x80bf7ec17e0
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec1780
script/lexer.c:336: token 289 text []]
script/script.c:50: malloc 0x80bf7ec1720
script/script.c:50: malloc 0x80bf7ec16e0
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec1680
script/lexer.c:336: token 265 text [;]
script/script.c:50: malloc 0x80bf7ec1620
script/script.c:50: malloc 0x80bf7ec15e0
script/script.c:198: cmdline
script/script.c:50: malloc 0x80bf7ec1580
script/script.c:294: append command
script/script.c:50: malloc 0x80bf7ec1540
script/lexer.c:336: token 284 text [then]
script/script.c:50: malloc 0x80bf7ec14e0
script/script.c:50: malloc 0x80bf7ec14a0
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ec1440
script/script.c:50: malloc 0x80bf7ec1400
script/lexer.c:336: token 288 text [source]
script/script.c:50: malloc 0x80bf7ec1280
script/script.c:50: malloc 0x80bf7ec1240
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec11e0
script/lexer.c:336: token 289 text []
script/script.c:50: malloc 0x80bf7ec10e0
script/script.c:50: malloc 0x80bf7ec10a0
script/lexer.c:336: token 289 text [prefix]
script/script.c:50: malloc 0x80bf7ec1040
script/script.c:50: malloc 0x80bf7ec1000
script/lexer.c:336: token 289 text [/arm64-efi/grub.cfg]
script/script.c:50: malloc 0x80bf7ec0fa0
script/script.c:50: malloc 0x80bf7ec0f40
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec0ee0
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ec0e80
script/script.c:50: malloc 0x80bf7ec0e40
script/script.c:198: cmdline
script/script.c:50: malloc 0x80bf7ec0de0
script/script.c:294: append command
script/script.c:50: malloc 0x80bf7ec0da0
script/lexer.c:336: token 276 text [elif]
script/script.c:50: malloc 0x80bf7ec0c20
script/script.c:50: malloc 0x80bf7ec0be0
script/lexer.c:336: token 289 text [[]
script/script.c:50: malloc 0x80bf7ec0a40
script/script.c:50: malloc 0x80bf7ec0a00
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec09a0
script/lexer.c:336: token 289 text [-e]
script/script.c:50: malloc 0x80bf7ec0940
script/script.c:50: malloc 0x80bf7ec0900
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec08a0
script/lexer.c:336: token 289 text []
script/script.c:50: malloc 0x80bf7ec07a0
script/script.c:50: malloc 0x80bf7ec0760
script/lexer.c:336: token 289 text [prefix]
script/script.c:50: malloc 0x80bf7ec0700
script/script.c:50: malloc 0x80bf7ec06c0
script/lexer.c:336: token 289 text [/grub.cfg-arm64]
script/script.c:50: malloc 0x80bf7ec0660
script/script.c:50: malloc 0x80bf7ec0620
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec05c0
script/lexer.c:336: token 289 text []]
script/script.c:50: malloc 0x80bf7ec0560
script/script.c:50: malloc 0x80bf7ec0520
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ec04c0
script/lexer.c:336: token 265 text [;]
script/script.c:50: malloc 0x80bf7ec0460
script/script.c:50: malloc 0x80bf7ec0420
script/script.c:198: cmdline
script/script.c:50: malloc 0x80bf7ec03c0
script/script.c:294: append command
script/script.c:50: malloc 0x80bf7ec0380
script/lexer.c:336: token 284 text [then]
script/script.c:50: malloc 0x80bf7ec0320
script/script.c:50: malloc 0x80bf7ec02e0
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ec0280
script/script.c:50: malloc 0x80bf7ec0240
script/lexer.c:336: token 288 text [source]
script/script.c:50: malloc 0x80bf7ec00c0
script/script.c:50: malloc 0x80bf7ebff80
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ebff20
script/lexer.c:336: token 289 text []
script/script.c:50: malloc 0x80bf7ebfe20
script/script.c:50: malloc 0x80bf7ebfde0
script/lexer.c:336: token 289 text [prefix]
script/script.c:50: malloc 0x80bf7ebfd80
script/script.c:50: malloc 0x80bf7ebfd40
script/lexer.c:336: token 289 text [/grub.cfg-default-arm64]
script/script.c:50: malloc 0x80bf7ebfce0
script/script.c:50: malloc 0x80bf7ebfc80
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ebfc20
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ebfbc0
script/script.c:50: malloc 0x80bf7ebfb80
script/script.c:198: cmdline
script/script.c:50: malloc 0x80bf7ebfb20
script/script.c:294: append command
script/script.c:50: malloc 0x80bf7ebf9e0
script/lexer.c:336: token 277 text [else]
script/script.c:50: malloc 0x80bf7ebf880
script/script.c:50: malloc 0x80bf7ebf840
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ebf7e0
script/script.c:50: malloc 0x80bf7ebf7a0
script/lexer.c:336: token 288 text [source]
script/script.c:50: malloc 0x80bf7ebf640
script/script.c:50: malloc 0x80bf7ebf600
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ebf5a0
script/lexer.c:336: token 289 text []
script/script.c:50: malloc 0x80bf7ebf4a0
script/script.c:50: malloc 0x80bf7ebf460
script/lexer.c:336: token 289 text [prefix]
script/script.c:50: malloc 0x80bf7ebf400
script/script.c:50: malloc 0x80bf7ebf3c0
script/lexer.c:336: token 289 text [/grub.cfg]
script/script.c:50: malloc 0x80bf7ebf540
script/script.c:50: malloc 0x80bf7ebf380
script/script.c:163: arglist
script/script.c:50: malloc 0x80bf7ebf320
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ebf2c0
script/script.c:50: malloc 0x80bf7ebf280
script/script.c:198: cmdline
script/script.c:50: malloc 0x80bf7ebf220
script/script.c:294: append command
script/script.c:50: malloc 0x80bf7ebf0c0
script/lexer.c:336: token 279 text [fi]
script/script.c:50: malloc 0x80bf7ebef60
script/script.c:50: malloc 0x80bf7ebef20
script/script.c:223: cmdif
script/script.c:50: malloc 0x80bf7ebeec0
script/script.c:223: cmdif
script/script.c:50: malloc 0x80bf7ebee60
script/lexer.c:336: token 259 text [
]
script/script.c:50: malloc 0x80bf7ebee00
script/script.c:50: malloc 0x80bf7ebedc0
script/lexer.c:336: token 0 text []
script/script.c:50: malloc 0x80bf7ebf060
script/script.c:50: malloc 0x80bf7ebf020
script/script.c:294: append command
script/script.c:50: malloc 0x80bf7ebed80
commands/wildcard.c:535: no expansion needed
commands/wildcard.c:594: paths[0] =
`(tftp,10.229.32.21)/grub/arm64-efi/grub.cfg'
kern/disk.c:196: Opening `tftp,10.229.32.21'...
disk/efi/efidisk.c:482: opening tftp
kern/disk.c:281: Opening `tftp,10.229.32.21' failed.
kern/disk.c:295: Closing `tftp'.
commands/wildcard.c:535: no expansion needed
commands/wildcard.c:594: paths[0] = `(tftp,10.229.32.21)/grub/grub.cfg-arm64'
kern/disk.c:196: Opening `tftp,10.229.32.21'...
disk/efi/efidisk.c:482: opening tftp
kern/disk.c:281: Opening `tftp,10.229.32.21' failed.
kern/disk.c:295: Closing `tftp'.
commands/wildcard.c:535: no expansion needed
commands/wildcard.c:594: paths[0] = `(tftp,10.229.32.21)/grub/grub.cfg'
kern/disk.c:196: Opening `tftp,10.229.32.21'...
disk/efi/efidisk.c:482: opening tftp
kern/disk.c:281: Opening `tftp,10.229.32.21' failed.
kern/disk.c:295: Closing `tftp'.
script/script.c:65: free 0x80bf7ebed80
script/script.c:65: free 0x80bf7ebf020
script/script.c:65: free 0x80bf7ebf060
script/script.c:65: free 0x80bf7ebedc0
script/script.c:65: free 0x80bf7ebee00
script/script.c:65: free 0x80bf7ebee60
script/script.c:65: free 0x80bf7ebeec0
script/script.c:65: free 0x80bf7ebef20
script/script.c:65: free 0x80bf7ebef60
script/script.c:65: free 0x80bf7ebf0c0
script/script.c:65: free 0x80bf7ebf220
script/script.c:65: free 0x80bf7ebf280
script/script.c:65: free 0x80bf7ebf2c0
script/script.c:65: free 0x80bf7ebf320
script/script.c:65: free 0x80bf7ebf380
script/script.c:65: free 0x80bf7ebf540
script/script.c:65: free 0x80bf7ebf3c0
script/script.c:65: free 0x80bf7ebf400
script/script.c:65: free 0x80bf7ebf460
script/script.c:65: free 0x80bf7ebf4a0
script/script.c:65: free 0x80bf7ebf5a0
script/script.c:65: free 0x80bf7ebf600
script/script.c:65: free 0x80bf7ebf640
script/script.c:65: free 0x80bf7ebf7a0
script/script.c:65: free 0x80bf7ebf7e0
script/script.c:65: free 0x80bf7ebf840
script/script.c:65: free 0x80bf7ebf880
script/script.c:65: free 0x80bf7ebf9e0
script/script.c:65: free 0x80bf7ebfb20
script/script.c:65: free 0x80bf7ebfb80
script/script.c:65: free 0x80bf7ebfbc0
script/script.c:65: free 0x80bf7ebfc20
script/script.c:65: free 0x80bf7ebfc80
script/script.c:65: free 0x80bf7ebfce0
script/script.c:65: free 0x80bf7ebfd40
script/script.c:65: free 0x80bf7ebfd80
script/script.c:65: free 0x80bf7ebfde0
script/script.c:65: free 0x80bf7ebfe20
script/script.c:65: free 0x80bf7ebff20
script/script.c:65: free 0x80bf7ebff80
script/script.c:65: free 0x80bf7ec00c0
script/script.c:65: free 0x80bf7ec0240
script/script.c:65: free 0x80bf7ec0280
script/script.c:65: free 0x80bf7ec02e0
script/script.c:65: free 0x80bf7ec0320
script/script.c:65: free 0x80bf7ec0380
script/script.c:65: free 0x80bf7ec03c0
script/script.c:65: free 0x80bf7ec0420
script/script.c:65: free 0x80bf7ec0460
script/script.c:65: free 0x80bf7ec04c0
script/script.c:65: free 0x80bf7ec0520
script/script.c:65: free 0x80bf7ec0560
script/script.c:65: free 0x80bf7ec05c0
script/script.c:65: free 0x80bf7ec0620
script/script.c:65: free 0x80bf7ec0660
script/script.c:65: free 0x80bf7ec06c0
script/script.c:65: free 0x80bf7ec0700
script/script.c:65: free 0x80bf7ec0760
script/script.c:65: free 0x80bf7ec07a0
script/script.c:65: free 0x80bf7ec08a0
script/script.c:65: free 0x80bf7ec0900
script/script.c:65: free 0x80bf7ec0940
script/script.c:65: free 0x80bf7ec09a0
script/script.c:65: free 0x80bf7ec0a00
script/script.c:65: free 0x80bf7ec0a40
script/script.c:65: free 0x80bf7ec0be0
script/script.c:65: free 0x80bf7ec0c20
script/script.c:65: free 0x80bf7ec0da0
script/script.c:65: free 0x80bf7ec0de0
script/script.c:65: free 0x80bf7ec0e40
script/script.c:65: free 0x80bf7ec0e80
script/script.c:65: free 0x80bf7ec0ee0
script/script.c:65: free 0x80bf7ec0f40
script/script.c:65: free 0x80bf7ec0fa0
script/script.c:65: free 0x80bf7ec1000
script/script.c:65: free 0x80bf7ec1040
script/script.c:65: free 0x80bf7ec10a0
script/script.c:65: free 0x80bf7ec10e0
script/script.c:65: free 0x80bf7ec11e0
script/script.c:65: free 0x80bf7ec1240
script/script.c:65: free 0x80bf7ec1280
script/script.c:65: free 0x80bf7ec1400
script/script.c:65: free 0x80bf7ec1440
script/script.c:65: free 0x80bf7ec14a0
script/script.c:65: free 0x80bf7ec14e0
script/script.c:65: free 0x80bf7ec1540
script/script.c:65: free 0x80bf7ec1580
script/script.c:65: free 0x80bf7ec15e0
script/script.c:65: free 0x80bf7ec1620
script/script.c:65: free 0x80bf7ec1680
script/script.c:65: free 0x80bf7ec16e0
script/script.c:65: free 0x80bf7ec1720
script/script.c:65: free 0x80bf7ec1780
script/script.c:65: free 0x80bf7ec17e0
script/script.c:65: free 0x80bf7ec1840
script/script.c:65: free 0x80bf7ec18a0
script/script.c:65: free 0x80bf7ec18e0
script/script.c:65: free 0x80bf7ec1940
script/script.c:65: free 0x80bf7ec1980
script/script.c:65: free 0x80bf7ec1a80
script/script.c:65: free 0x80bf7ec1ae0
script/script.c:65: free 0x80bf7ec1b20
script/script.c:65: free 0x80bf7ec1b80
script/script.c:65: free 0x80bf7ec1be0
script/script.c:65: free 0x80bf7ec1c20
script/script.c:65: free 0x80bf7ec1e00
script/script.c:65: free 0x80bf7ec1e40
kern/disk.c:295: Closing `memdisk'.
script/script.c:65: free 0x80bf7ec6f80
script/script.c:65: free 0x80bf7ec6fc0
script/script.c:65: free 0x80bf7ec7000
script/script.c:65: free 0x80bf7ec6aa0
script/script.c:65: free 0x80bf7ec6b00
script/script.c:65: free 0x80bf7ec6b40
script/script.c:65: free 0x80bf7ec6ba0
script/script.c:65: free 0x80bf7ec6c00
script/script.c:65: free 0x80bf7ec6c60
script/script.c:65: free 0x80bf7ec6e40
script/script.c:65: free 0x80bf7ec6ea0
script/script.c:65: free 0x80bf7ec6ee0
grub>
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2-signed/+bug/1934192/+subscriptions
More information about the foundations-bugs
mailing list