← Back to team overview

touch-packages team mailing list archive

[Bug 1447756] Re: segfault in log.c code causes phone reboot loops

 

ondra and I have been hammering away at this, but progress is painfully
slow given that:

a) the problem is not seen on every boot.
b) we can only view the end of kmsg log.
c) rebuild times are relatively slow.

>From what ondra says he's seen today, it sounds as though we might be
hitting a stack corruption issue - the debug I've given him is not being
displayed as expected. Even with the initial fix I created based on code
inspection alone, ondra is still seeing exactly the same assertion
failure which we thought would have been fixed by the initial fix for
this bug.

I've tried various ways to recreate the issue (both on a device and on a
normal system, code review / code analysis tools, runtime checkers), but
have so far been unsuccessful.

Current work-arounds:

1) Keep using '--no-log' in the kernel command-line.
    Pros: reliable.
   Cons: means that no system jobs get their output logged.

2) Disable the /etc/init/flush-early-job-log.conf job.
    Pros: seems to be reliable (? but needs further testing).
    Cons:  means early job output is not logged (however, on the device in question the only output seems to be from /etc/init/container-detect.conf (and that output is not even required).

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/1447756

Title:
  segfault in log.c code causes phone reboot loops

Status in the base for Ubuntu mobile products:
  Fix Committed
Status in Upstart:
  New
Status in upstart package in Ubuntu:
  Confirmed

Bug description:
  We recently started getting reprots from phone users that their
  devices go into a reboot loop after changing the language or getting
  an OTA upgrade (either of both end with a reboot of the phone)

  after a bit of research we collected the log at
  http://pastebin.ubuntu.com/10872934/

  this shows a segfault of upstarts init binary in the log.c code:

  [    6.999083]init: log.c:819: Assertion failed in log_clear_unflushed: log->unflushed->len
  [    7.000279]init: Caught abort, core dumped
  [    7.467176]Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000600

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1447756/+subscriptions


References