systemd 233-8ubuntu1 ADT test failure with linux 4.12.0-4.5

Bug #1700806 reported by Seth Forshee
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
systemd (Ubuntu)
Invalid
Undecided
Unassigned
Seth Forshee (sforshee)
tags: added: kernel-adt-failure
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

========== TEST-05-RLIMITS ==========
make: Entering directory '/tmp/autopkgtest.ipRf3i/build.uhX/systemd-233/test/TEST-05-RLIMITS'
TEST CLEANUP: Resource limits-related tests
TEST SETUP: Resource limits-related tests
0+0 records in
0+0 records out
0 bytes copied, 0.000211387 s, 0.0 kB/s
Checking that no-one is using this disk right now ... OK

Disk /dev/loop4: 400 MiB, 419430400 bytes, 819200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

>>> Created a new DOS disklabel with disk identifier 0xa1dd3fbe.
/dev/loop4p1: Created a new partition 1 of type 'Linux' and of size 390 MiB.
/dev/loop4p2: Created a new partition 2 of type 'Linux' and of size 9 MiB.
/dev/loop4p3: Done.

New situation:

Device Boot Start End Sectors Size Id Type
/dev/loop4p1 2048 800767 798720 390M 83 Linux
/dev/loop4p2 800768 819199 18432 9M 83 Linux

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
The file /dev/loop4p1 does not exist and no size was specified.
F: Failed to mkfs -t ext3
Makefile:4: recipe for target 'setup' failed

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

The test doesn't even get past the setup function.

The setup function is quite basic. Create an image, partition the image, create filesystem on the image.

https://git.launchpad.net/~ubuntu-core-dev/+git/systemd/tree/test/test-functions?h=ubuntu-artful#n333

It appears that the kernel has failed to re-read the partition table, as /dev/loop4p1 is expected to exist.

Is sfdisk not sufficient to re-read the parition table?! i wonder if between calling sfdisk and mkfs, and udevadm wait for idle state is needed.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

(As in, there is a race that mkfs was attempted before /dev/loop4p1 device was created, however i thought return from ioctl to re-read parition table returns only after the p* devices have been created by the kernel)

dmesg from this machine would be interesting.

Revision history for this message
Seth Forshee (sforshee) wrote :

By the time BLKRRPART returns the partition device nodes should have been created in devtmpfs, so there shouldn't be any need to wait for things to settle. I'm not sure where a race could exist.

Yet it's odd that this failed only for ppc since all the code which deals with this is generic, not platform-specific. It would be nice if we had dmesg, unfortunately we do not.

I'm re-running the test just to see if it happens consistently. We have a ppc test machine, however it's currently occupied running tests. Once it's free I can do some testing there.

Revision history for this message
Seth Forshee (sforshee) wrote :

I failed to follow up.

There were no failures when re-running the test, and no errors with 4.12.0-5.6, so marking this invalid.

Changed in systemd (Ubuntu):
status: New → Invalid
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.