← Back to team overview

touch-packages team mailing list archive

Re: [Bug 1278780] Re: apport takes too long to write crash report, appears to lock up phone

 

On Fri, Oct 23, 2015 at 01:07:16PM -0000, Martin Pitt wrote:
> Steve Langasek [2015-10-22 18:11 -0000]:
> > >   * If we really want to dump, we could investigate into sendfile. I'm not
> > >   * entirely sure that it works with data coming in via stdin, but it's
> > >   * worth a try as we would avoid the kernel -> userspace copy.

> > This is an interesting suggestion.  It would imply requiring a second
> > post-processing stage, to combine this file with the rest of the crash
> > report in proper (compressed, base64-encoded) format;

> How would that help? In any case you first need to put the core dump
> from stdin onto the disk, and that's precisely the bit that we are
> doing now (and not much more) and which takes so long.

The difference is precisely in the putting of the core dump onto the disk.
Today we write it out from apport; that means we copy the data out from the
kernel into userspace, gzip it, base64 encode it, and then hand it back to
the kernel (by writing it to the file).  With sendfile(), we would be
directly moving the core to the file of our choosing, *in kernel space*,
without any userspace processing.  It's not even necessary that we flush the
disk buffers, so the slow disk writes don't necessarily happen before apport
returns.

This doesn't guarantee that sendfile will actually be faster.  But I think
we need to measure this and find out, rather than assuming one way or the
other.

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

Title:
  apport takes too long to write crash report, appears to lock up phone

Status in Apport:
  Confirmed
Status in Canonical System Image:
  Confirmed
Status in qtubuntu:
  Invalid
Status in apport package in Ubuntu:
  Triaged
Status in qtmir package in Ubuntu:
  Confirmed

Bug description:
  I can trigger a crash easily on my phone via bug 1262711. Other bugs
  are available.

  When that happens my phone appears to freeze. I am unable to do
  anything for approximately 1 to 1.5 minutes. As a user my initial gut
  reaction is to reboot the phone, thus losing the crash report, and
  wasting my time.

  Having the phone lock up for 1.5 minutes is a terrible user
  experience. Can we fix/mitigate/workaround that?

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: apport 2.13.2-0ubuntu2
  Uname: Linux 3.4.0-3-mako armv7l
  ApportVersion: 2.13.2-0ubuntu2
  Architecture: armhf
  CrashReports:
   664:32011:110:10083:2014-02-10 15:41:18.152893384 +0000:2014-02-10 15:11:09.169231740 +0000:/var/crash/_usr_lib_arm-linux-gnueabihf_upstart-app-launch_desktop-hook.32011.crash
   640:0:110:1681527:2014-02-10 15:12:10.985193887 +0000:2014-02-10 15:12:05.639489630 +0000:/var/crash/_usr_bin_powerd.0.crash
   640:0:110:21384:2014-02-11 07:58:44.876281991 +0000:2014-02-11 07:58:44.876281991 +0000:/var/crash/_usr_sbin_system-image-dbus.0.crash
   640:32011:110:17122318:2014-02-11 09:19:49.915478726 +0000:2014-02-11 09:18:20.850439824 +0000:/var/crash/_usr_bin_unity8.32011.crash
  Date: Tue Feb 11 09:20:15 2014
  InstallationDate: Installed on 2014-02-11 (0 days ago)
  InstallationMedia: Ubuntu Trusty Tahr (development branch) - armhf (20140211)
  PackageArchitecture: all
  ProcEnviron:
   TERM=linux
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   SHELL=/bin/bash
  SourcePackage: apport
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/apport/+bug/1278780/+subscriptions


References