Unity8 crash when opening emergency dialer from lockscreen

Bug #1616842 reported by Michał Sawicz
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
Critical
Michał Sawicz
qtmir (Ubuntu)
Fix Released
Critical
Michał Sawicz

Bug Description

Confirmed on two devices, stopped happening after a reflash, need to keep an eye out.

Quite uninteresting trace Albert managed to catch: https://paste.ubuntu.com/23088259/

Steps:
* have a passcode/password-locked phone
* make sure dialer isn't running
* slide the greeter away
* tap on the "emergency call" button

Expected:
* emergency dialer opens

Current:
* unity8 crash

ProblemType: Bug
DistroRelease: Ubuntu 15.04
Package: unity8 8.14+15.04.20160819-0ubuntu1 [origin: LP-PPA-ci-train-ppa-service-stable-phone-overlay]
Uname: Linux 3.4.67 armv7l
ApportVersion: 2.17.2-0ubuntu1.3touch1
Architecture: armhf
Date: Thu Aug 25 09:55:10 2016
InstallationDate: Installed on 2016-08-25 (0 days ago)
InstallationMedia: Ubuntu 15.04 - armhf (20160825-020303)
SourcePackage: unity8
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Michał Sawicz (saviq) wrote :
Changed in unity8 (Ubuntu):
status: New → Incomplete
Michał Sawicz (saviq)
description: updated
Revision history for this message
Michał Sawicz (saviq) wrote :

dednick managed to reproduce on r406 and got this http://pastebin.ubuntu.com/23088561/ - looks like a Qt issue ;/

Revision history for this message
Bill Filler (bfiller) wrote :
Download full text (15.8 KiB)

Happening every time for me on krillin and mako
rc-proposed r514 on mako
rc-proposed r413 on krillin

Here is stack trace
Core was generated by `unity8 --mode=full-greeter'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xb6b08886 in QQmlBoundSignalExpression::function() const ()
   from /usr/lib/arm-linux-gnueabihf/libQt5Qml.so.5
(gdb) t a a bt

Thread 35 (Thread 0x9c4b0410 (LWP 3455)):
#0 0xb43a89cc in ?? ()
#1 0xb43b4ef6 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 34 (Thread 0x9efd5410 (LWP 21018)):
#0 0xb6078d46 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb607493a in pthread_cond_timedwait@@GLIBC_2.4 ()
   from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0xb62cc0cc in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#3 0xb62c9550 in ?? () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#4 0xb62cb4c6 in ?? () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#5 0xb6070490 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#6 0xb6112c4c in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 33 (Thread 0x96ced410 (LWP 4108)):
#0 0xb6110620 in syscall () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c06110 in g_cond_wait () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
#2 0xb5bb6524 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 32 (Thread 0x9e7d5410 (LWP 21019)):
#0 0xb6078d46 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb607493a in pthread_cond_timedwait@@GLIBC_2.4 ()
   from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0xb62cc0cc in QWaitCondition::wait(QMutex*, unsigned long) ()
   from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#3 0xb62c9550 in ?? () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#4 0xb62cb4c6 in ?? () from /usr/lib/arm-linux-gnueabihf/libQt5Core.so.5
#5 0xb6070490 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#6 0xb6112c4c in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
---Type <return> to continue, or q <return> to quit---
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 31 (Thread 0xa282e410 (LWP 4107)):
#0 0xb6110620 in syscall () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c06110 in g_cond_wait () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
#2 0xb5bb6524 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 30 (Thread 0x9f7d5410 (LWP 4106)):
#0 0xb6110620 in syscall () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c06110 in g_cond_wait () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
#2 0xb5bb6524 in ?? () from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 29 (Thread 0x9ffd5410 (LWP 4105)):
#0 0xb6110620 in syscall () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c06110 in g_cond_wait () from /lib/arm-li...

Changed in unity8 (Ubuntu):
status: Incomplete → Confirmed
importance: Undecided → Critical
Changed in canonical-devices-system-image:
milestone: none → 13
importance: Undecided → Critical
assignee: nobody → kevin gunn (kgunn72)
tags: added: regression-proposed
Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
status: New → Triaged
Changed in unity8 (Ubuntu):
status: Confirmed → Triaged
Changed in canonical-devices-system-image:
assignee: kevin gunn (kgunn72) → Michał Sawicz (saviq)
Revision history for this message
Bill Filler (bfiller) wrote :

The steps for me are to make sure dialer is not running, and lock the phone and press "Emergency Calls" and that makes it crash just about every time.

Revision history for this message
Michael Zanetti (mzanetti) wrote :

confirmed on turbo

Revision history for this message
Bill Filler (bfiller) wrote :
Revision history for this message
Michał Sawicz (saviq) wrote :

I've gone down to krillin@400 and it was crashing, I've gone down from there and now it's not crashing on r400 either... :/

Revision history for this message
Michał Sawicz (saviq) wrote :

After some more digging I believe krillin@401 [1] is the first broken image, and qtmir is the culprit:

  qtdeclarative5-qtmir-plugin:armhf from 0.4.8+15.04.20160714-0ubuntu1 to 0.4.8+15.04.20160730-0ubuntu1
  qtmir-android:armhf from 0.4.8+15.04.20160714-0ubuntu1 to 0.4.8+15.04.20160730-0ubuntu1

The diff is some 20 commits, will try and bisect next.

[1] http://people.canonical.com/~lzemczak/landing-team/ubuntu-touch/rc-proposed/bq-aquaris.en/krillin/401.commitlog

Changed in canonical-devices-system-image:
status: Triaged → In Progress
affects: unity8 (Ubuntu) → qtmir (Ubuntu)
Revision history for this message
Michał Sawicz (saviq) wrote :

I've tracked it down to r538 in qtmir [1]. The app startup improvement unfortunately also causes this crash. It's most likely a race in Qt, possibly fixed in later versions.

One workaround would be to not destroy the greeter when apps (currently only dialer) are launched over it (we only destroy it to save resources anyway).

Until that's possible we might need to revert this :/

[1] https://bazaar.launchpad.net/~mir-team/qtmir/trunk/revision/538

Changed in qtmir (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Michał Sawicz (saviq)
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtmir - 0.4.8+16.10.20160826.1-0ubuntu1

---------------
qtmir (0.4.8+16.10.20160826.1-0ubuntu1) yakkety; urgency=medium

  [ Daniel d'Andrada ]
  * DBusFocusInfo.isPidFocused: search sessions recursively (LP:
    #1612166)

  [ Michał Sawicz ]
  * Revert r538 that's causing a unity8 crash when launching emergency
    dialer over greeter (LP: #1616842)

 -- Michał Sawicz <email address hidden> Fri, 26 Aug 2016 10:43:18 +0000

Changed in qtmir (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
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.