Investigation shows that the test case is triggering kernel fix-ups for unaligned access, as shown by the incrementing counters in /proc/cpu/alignment on cady. I'm investigating to see if the phone kernels have a different default behavior for alignments (SIGBUS vs. fixup).
So I have a valid test case, it just unfortunately won't block the build with a test failure on our buildds because the kernel is fixing up the unaligned access for us. On other architectures we could build-depend on and use prctl to force SIGBUS to be raised, but ARM doesn't support prctl --unaligned. I have also verified that booting the emulator shows /proc/cpu/alignment configured for signal (4) instead of fixup (2). This despite the fact that CONFIG_ALIGNMENT_TRAP=y is part of the common configuration for Ubuntu ARM kernels (config/config.common.ubuntu), and is definitely configured that way at build and runtime in the linux-goldfish package in the archive. That means that *something* in the phone stack is changing the value of /proc/cpu/alignment post-boot. But I don't know what this "something" is; there are no matches for /proc/cpu/alignment in /etc on the generic image, nor in /android. Google points at it possibly being an android- inflicted problem. (https://groups.google.com/forum/#!topic/android- kernel/5vl47DgDz7E) Now, raising signals on unaligned access is a sensible default behavior. But we currently have this exactly backwards, because we are fixing up those unaligned accesses on our build and test infrastructure but have them causing software failures in production! Someone from the phone team should investigate where this wrong setting is coming from and fix it. ** Changed in: systemd (Ubuntu) Assignee: Martin Pitt (pitti) => Steve Langasek (vorlon) ** Changed in: systemd (Ubuntu) Status: In Progress => Fix Committed -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to systemd in Ubuntu. https://bugs.launchpad.net/bugs/1512323 Title: devices on devel-proposed/ubuntu do not boot with systemd 227-2ubuntu1 Status in Canonical System Image: Confirmed Status in systemd package in Ubuntu: Fix Committed Bug description: Last known good build: mako devel-proposed/ubuntu r336 Affects builds from devel-proposed/ubuntu starting from first Xenial build. Test Case: Boot in fastboot mode and flash with: $ ubuntu-device-flash -v touch --channel=ubuntu-touch/devel-proposed/ubuntu --bootstrap or upgrade from 336 to latest devel-proposed image Actual Result During a successful flashing operation of a device from fastboot, it boots once into recovery, then reboots and a rotating Ubuntu logo is displayed while the devices is being flashed. With this issue, on the second stage of the flash the phone is stuck on the vendor's logo (google or bq) and the rotating ubuntu logo is never displayed. Same problem on krillin devel-proposed/krillin.en 235 Workaround: Boot into recovery, mount the system partition and downgrade systemd to 225-1ubuntu9 To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1512323/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : [email protected] Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp

