4.8 dropped CONFIG_ATA=y (breaks systemd's TEST-08-ISSUE-2730 upstream test)

Bug #1626394 reported by Martin Pitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Critical
Tim Gardner
Yakkety
Fix Released
Critical
Tim Gardner
systemd (Ubuntu)
Won't Fix
Undecided
Martin Pitt
Yakkety
Won't Fix
Undecided
Martin Pitt

Bug Description

Since the kernel upgrade from 4.4 to 4.8 in yakkety, systemd's TEST-08-ISSUE-2730 upstream test now consistently fails with:

+ timeout --foreground 180 /usr/bin/qemu-system-x86_64 -smp 1 -net none -m 512M -nographic -kernel /boot/vmlinuz-4.8.0-14-generic -drive format=raw,cache=unsafe,file=/var/tmp/systemd-test.4jlHRw/rootdisk.img -append 'root=/dev/sda1 raid=noautodetect loglevel=2 init=/lib/systemd/systemd ro console=ttyS0 selinux=0 systemd.unified_cgroup_hierarchy=no '
warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
[ 1.491760] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[ 1.492153] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.8.0-14-generic #15-Ubuntu
[ 1.492153] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Ubuntu-1.8.2-1ubuntu1 04/01/2014
[ 1.492153] 0000000000000086 0000000035700369 ffffffffa8b59c24 ffff97201dd45000
[ 1.492153] ffff97201e9afea0 ffffffffa8987431 0000000000000010 ffff97201e9afeb0
[ 1.492153] ffff97201e9afe48 0000000035700369 ffff97201e9afe58 ffff97201e9afeb8
[ 1.492153] Call Trace:
[ 1.492153] [<ffffffffa8b59c24>] ? dump_stack+0x5c/0x78
[ 1.492153] [<ffffffffa8987431>] ? panic+0xe4/0x226
[ 1.492153] [<ffffffffa95724f9>] ? mount_block_root+0x284/0x2c0
[ 1.492153] [<ffffffffa957187b>] ? set_debug_rodata+0xc/0xc
[ 1.492153] [<ffffffffa957268f>] ? prepare_namespace+0x12b/0x180
[ 1.492153] [<ffffffffa9572161>] ? kernel_init_freeable+0x1dd/0x1ed
[ 1.492153] [<ffffffffa8e2c0ea>] ? kernel_init+0xa/0x100
[ 1.492153] [<ffffffffa8e3949f>] ? ret_from_fork+0x1f/0x40
[ 1.492153] [<ffffffffa8e2c0e0>] ? rest_init+0x80/0x80
[ 1.492153] Kernel Offset: 0x27800000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[ 1.492153] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
qemu-system-x86_64: terminating on signal 15 from pid 8784

This only happens on amd64, i386 and ppc64el are fine.
http://autopkgtest.ubuntu.com/packages/systemd/yakkety/amd64

I'll investigate more details, filing this for getting a reference for the britney hint.

Martin Pitt (pitti)
Changed in systemd (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: bot-stop-nagging
description: updated
Changed in systemd (Ubuntu):
status: New → In Progress
milestone: none → ubuntu-16.09
Revision history for this message
Martin Pitt (pitti) wrote :

This is the first test that boots the root disk without an initrd. Indeed booting it with debug shows that the kernel detects no hard disks then (in particular not /dev/sda1), thus the boot fails like that.

With 4.4, or with 4.8 and booting with an initrd it detects the sda hard drive again:

[ 2.374065] ata1: PATA max MWDMA2 cmd 0x1f0 ctl 0x3f6 bmdma 0xc000 irq 14
[ 2.383381] ata2: PATA max MWDMA2 cmd 0x170 ctl 0x376 bmdma 0xc008 irq 15
[ 2.563557] ata2.01: NODEV after polling detection
[ 2.583452] ata1.01: NODEV after polling detection
[ 2.600806] ata1.00: ATA-7: QEMU HARDDISK, 2.5+, max UDMA/100
[ 2.617551] ata1.00: 819200 sectors, multi 16: LBA48
[ 2.632337] ata2.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[ 2.649576] ata2.00: configured for MWDMA2
[ 2.662298] ata1.00: configured for MWDMA2
[ 2.671218] scsi 0:0:0:0: Direct-Access ATA QEMU HARDDISK 2.5+ PQ: 0 ANSI: 5

I think this is due to this config change:

$ grep CONFIG_ATA= config-4.*
config-4.4.0-9136-generic:CONFIG_ATA=y
config-4.8.0-14-generic:CONFIG_ATA=m

Which would by and large mean that it is now impossible to boot without an initrd. I don't think this is desirable, as it could actually lead to regressions on existing machines.

summary: - 4.8 update breaks systemd's TEST-08-ISSUE-2730 upstream test
+ 4.8/amd64 dropped CONFIG_ATA=y (breaks systemd's TEST-08-ISSUE-2730
+ upstream test)
summary: - 4.8/amd64 dropped CONFIG_ATA=y (breaks systemd's TEST-08-ISSUE-2730
- upstream test)
+ 4.8 dropped CONFIG_ATA=y (breaks systemd's TEST-08-ISSUE-2730 upstream
+ test)
Revision history for this message
Martin Pitt (pitti) wrote :

> This only happens on amd64, i386 and ppc64el are fine.

FTR, this is because we run the qemu tests only on amd64. i386 also has CONFIG_ATA=m now.

Revision history for this message
Andy Whitcroft (apw) wrote :

We long ago decided on four "most common" drivers for disks and included those to make things work in the majority of places without epic bloat. We should check those four are still present at the same time.

tags: added: kernel-4.8
Changed in linux (Ubuntu):
importance: Undecided → Critical
assignee: nobody → Tim Gardner (timg-tpi)
Revision history for this message
Martin Pitt (pitti) wrote :

Talked to Andy on IRC, and dropping these drivers was not intended. I agree we should keep the most common ones built in, especially for cloud instances; there it would really be beneficial to drop initrds completely (see bug 1592684), as they are just bloat there.

Changed in systemd (Ubuntu):
milestone: ubuntu-16.09 → none
status: In Progress → Won't Fix
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Yakkety):
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 4.8.0-16.17

---------------
linux (4.8.0-16.17) yakkety; urgency=low

  [ Tim Gardner ]

  * Release Tracking Bug
    - LP: #1626768

  * Support ARM GIC ITS in ACPI mode (LP: #1626631)
    - [Config] CONFIG_ACPI_IORT=y
    - SAUCE: ACPI: I/O Remapping Table (IORT) initial support
    - SAUCE: ACPI: Add new IORT functions to support MSI domain handling
    - SAUCE: irqchip/gicv3-its: Cleanup for ITS domain initialization
    - SAUCE: irqchip/gicv3-its: Refactor ITS DT init code to prepare for ACPI
    - SAUCE: irqchip/gicv3-its: Probe ITS in the ACPI way
    - SAUCE: irqchip/gicv3-its: Factor out PCI-MSI part that might be reused for ACPI
    - SAUCE: irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
    - SAUCE: PCI/MSI: Setup MSI domain on a per-device basis using IORT ACPI table

  * 4.8 dropped CONFIG_ATA=y (breaks systemd's TEST-08-ISSUE-2730 upstream test)
    (LP: #1626394)
    - [Config] CONFIG_ATA=y

  * Yakkety: Enable drivers with respect to Xenial (LP: #1626543)
    - [Config] CONFIG_VMD=m
    - [Config] CONFIG_MAC80211_RC_MINSTREL_VHT=y for all arches
    - [Config] CONFIG_OF=y for all arches
    - [Config] CONFIG_BLK_DEV_NVME_SCSI=y
    - [Config] Xenial device settings sync with amd64
    - [Config] Xenial device settings sync with i386
    - [Config] CONFIG_MTD_UBI_GLUEBI=m
    - [Config] Xenial device settings sync with armhf
    - [Config] Xenial device settings sync with arm64

  * yakkety 4.8, missing config CONFIG_USERFAULTFD=y (LP: #1626149)
    - [Config] CONFIG_USERFAULTFD=y

  * 4.8 regression: SLAB is being used instead of SLUB (LP: #1626564)
    - [Config] CONFIG_SLUB=y

  * image won't boot after upgrading to yakkety's 4.8 kernel because efi
    (LP: #1626158)
    - add nls_cp437 to the generic.inclusion-list

 -- Tim Gardner <email address hidden> Thu, 22 Sep 2016 06:51:45 -0600

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.