← Back to team overview

touch-packages team mailing list archive

[Bug 1512323] Re: devices on devel-proposed/ubuntu do not boot with systemd 227-2ubuntu1

 

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