crash deleting all recent calls or messages

Bug #1404286 reported by Bill Filler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Unassigned
dialer-app
Fix Released
Critical
Gustavo Pichorim Boiko
history-service
Fix Released
Critical
Gustavo Pichorim Boiko
messaging-app
Fix Released
Critical
Gustavo Pichorim Boiko
dialer-app (Ubuntu)
Fix Released
Critical
Gustavo Pichorim Boiko
dialer-app (Ubuntu RTM)
Fix Released
Critical
Gustavo Pichorim Boiko
history-service (Ubuntu)
Fix Released
Critical
Gustavo Pichorim Boiko
history-service (Ubuntu RTM)
Fix Released
Critical
Gustavo Pichorim Boiko
messaging-app (Ubuntu)
Fix Released
Undecided
Gustavo Pichorim Boiko
messaging-app (Ubuntu RTM)
Fix Released
Undecided
Gustavo Pichorim Boiko

Bug Description

build 184 on krillin rtm

I have a pretty large database of recent calls, when trying to select all and delete the dialer app crashes.

Steps to reproduce:
- launch dialer, go to recents
- press and hold to enter selection mode
- press checkbox on toolbar to select all
- press the delete button

Expected results:
- all results are immediately removed

Actual results:
- there is a long pause then the app crashes OR sometimes the app doesn't crash but only some of the events get removed

Tags: ww03

Related branches

Revision history for this message
Bill Filler (bfiller) wrote :

Here is the stack trace from dialer-app crash:
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Core was generated by `dialer-app --desktop_file_hint=/usr/share/applications/dialer-app.desktop'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0xabd3e966 in History::Event::Event(History::Event const&) ()
   from /usr/lib/arm-linux-gnueabihf/libhistoryservice.so.0
(gdb) bt full
#0 0xabd3e966 in History::Event::Event(History::Event const&) ()
   from /usr/lib/arm-linux-gnueabihf/libhistoryservice.so.0
No symbol table info available.
#1 0xabd42c10 in QList<History::Event>::append(History::Event const&) ()
   from /usr/lib/arm-linux-gnueabihf/libhistoryservice.so.0
No symbol table info available.
#2 0xabd4a47e in History::ManagerDBus::eventsFromProperties(QList<QMap<QString, QVariant> > const&) () from /usr/lib/arm-linux-gnueabihf/libhistoryservice.so.0
No symbol table info available.
#3 0xabd4a58e in History::ManagerDBus::onEventsRemoved(QList<QMap<QString, QVariant> > const&) () from /usr/lib/arm-linux-gnueabihf/libhistoryservice.so.0
No symbol table info available.
#4 0xabd5b0e0 in ?? () from /usr/lib/arm-linux-gnueabihf/libhistoryservice.so.0
No symbol table info available.
#5 0xabd5b8c8 in History::ManagerDBus::qt_metacall(QMetaObject::Call, int, void**)
    () from /usr/lib/arm-linux-gnueabihf/libhistoryservice.so.0
No symbol table info available.
#6 0xb3ea262a in ?? () from /usr/lib/arm-linux-gnueabihf/libQt5DBus.so.5
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Changed in dialer-app:
importance: Undecided → Critical
Revision history for this message
Bill Filler (bfiller) wrote :

And note these errors in the history-daemon output (I ran history-daemon manually from the command line to get it's output):
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)
QVariantMap HistoryServiceDBus::GetSingleEvent(int, const QString&, const QString&, const QString&)
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)
QVariantMap HistoryServiceDBus::GetSingleEvent(int, const QString&, const QString&, const QString&)
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)
QVariantMap HistoryServiceDBus::GetSingleEvent(int, const QString&, const QString&, const QString&)
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)
QVariantMap HistoryServiceDBus::GetSingleEvent(int, const QString&, const QString&, const QString&)
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)
QVariantMap HistoryServiceDBus::GetSingleEvent(int, const QString&, const QString&, const QString&)
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)
QVariantMap HistoryServiceDBus::GetSingleEvent(int, const QString&, const QString&, const QString&)
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)
Error: QSqlError("1", "Unable to execute statement", "near ".": syntax error") "SELECT threads.accountId, threads.threadId, threads.lastEventId, threads.count, threads.unreadCount, (SELECT group_concat(thread_participants.participantId, "|,|") FROM thread_participants WHERE thread_participants.accountId=threads.accountId AND thread_participants.threadId=threads.threadId AND thread_participants.type=threads.type GROUP BY accountId,threadId,type) as participants, .senderId, .timestamp, .newEvent FROM threads LEFT JOIN ON threads.threadId=.threadId AND threads.accountId=.accountId AND threads.lastEventId=.eventId WHERE threads.type=2 AND threads.accountId="" AND threads.threadId="" LIMIT 1"
QVariantMap HistoryServiceDBus::GetSingleEvent(int, const QString&, const QString&, const QString&)
bool HistoryServiceDBus::RemoveEvents(const QList<QMap<QString, QVariant> >&)
bool HistoryDaemon::removeEvents(const QList<QMap<QString, QVariant> >&)

Revision history for this message
Bill Filler (bfiller) wrote :

Also, based on the log from history-service it appears we are calling removeEvents() multiple times, one for each entry. If this is the case we should fix that. The dialer should just make one call with a list of entry ids to remove. The UI should get cleared immediately and not wait for results from the history service. Only on an error should it repopulate. Otherwise the operation takes a very long time to complete.

Revision history for this message
Bill Filler (bfiller) wrote :
Changed in history-service:
importance: Undecided → Critical
Changed in dialer-app (Ubuntu):
importance: Undecided → Critical
Changed in dialer-app (Ubuntu RTM):
importance: Undecided → Critical
Changed in history-service (Ubuntu):
importance: Undecided → Critical
Changed in history-service (Ubuntu RTM):
importance: Undecided → Critical
Changed in dialer-app:
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in history-service:
assignee: nobody → Gustavo Pichorim Boiko (boiko)
tags: added: ww03
Revision history for this message
Bill Filler (bfiller) wrote :

I see similar crashes on occasion attempting to delete all messages in a message thread in the messaging app.

summary: - crash deleting all recent calls
+ crash deleting all recent calls or messages
Changed in messaging-app:
importance: Undecided → Critical
Changed in dialer-app:
status: New → Confirmed
Changed in history-service:
status: New → Confirmed
Changed in messaging-app:
status: New → Confirmed
Changed in dialer-app (Ubuntu):
status: New → In Progress
Changed in history-service (Ubuntu):
status: New → In Progress
Changed in messaging-app (Ubuntu):
status: New → In Progress
Changed in dialer-app (Ubuntu):
status: In Progress → Confirmed
status: Confirmed → In Progress
Changed in dialer-app (Ubuntu RTM):
status: New → Confirmed
Changed in history-service (Ubuntu RTM):
status: New → Confirmed
Changed in messaging-app (Ubuntu RTM):
status: New → Confirmed
Changed in messaging-app:
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in dialer-app (Ubuntu):
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in dialer-app (Ubuntu RTM):
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in history-service (Ubuntu):
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in history-service (Ubuntu RTM):
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in messaging-app (Ubuntu):
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in messaging-app (Ubuntu RTM):
assignee: nobody → Gustavo Pichorim Boiko (boiko)
Changed in canonical-devices-system-image:
milestone: none → ww05-2015
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package history-service - 0.1+15.04.20150106-0ubuntu1

---------------
history-service (0.1+15.04.20150106-0ubuntu1) vivid; urgency=low

  [ Gustavo Pichorim Boiko ]
  * Make it possible to delete multiple entries from QML. (LP: #1404286)
 -- Ubuntu daily release <email address hidden> Tue, 06 Jan 2015 17:47:46 +0000

Changed in history-service (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package messaging-app - 0.1+15.04.20150106-0ubuntu1

---------------
messaging-app (0.1+15.04.20150106-0ubuntu1) vivid; urgency=low

  [ Gustavo Pichorim Boiko ]
  * Remove multiple entries all at once instead of using multiple calls.
    (LP: #1404286)
 -- Ubuntu daily release <email address hidden> Tue, 06 Jan 2015 17:53:44 +0000

Changed in messaging-app (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dialer-app - 0.1+15.04.20150107-0ubuntu1

---------------
dialer-app (0.1+15.04.20150107-0ubuntu1) vivid; urgency=low

  [ Gustavo Pichorim Boiko ]
  * Remove multiple entries all at once instead of using multiple calls.
    (LP: #1404286)
 -- Ubuntu daily release <email address hidden> Wed, 07 Jan 2015 19:48:54 +0000

Changed in dialer-app (Ubuntu):
status: In Progress → Fix Released
Changed in dialer-app (Ubuntu RTM):
status: Confirmed → In Progress
Changed in history-service (Ubuntu RTM):
status: Confirmed → In Progress
Changed in canonical-devices-system-image:
status: Confirmed → In Progress
Changed in dialer-app:
status: Confirmed → In Progress
Changed in history-service:
status: Confirmed → In Progress
Changed in messaging-app:
status: Confirmed → In Progress
Changed in messaging-app (Ubuntu RTM):
status: Confirmed → In Progress
Bill Filler (bfiller)
Changed in canonical-devices-system-image:
milestone: ww05-2015 → ww03-2015
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dialer-app - 0.1+15.04.20150109~rtm-0ubuntu1

---------------
dialer-app (0.1+15.04.20150109~rtm-0ubuntu1) 14.09; urgency=low

  [ Gustavo Pichorim Boiko ]
  * Remove multiple entries all at once instead of using multiple calls.
    (LP: #1404286)
 -- Ubuntu daily release <email address hidden> Fri, 09 Jan 2015 12:48:59 +0000

Changed in dialer-app (Ubuntu RTM):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package history-service - 0.1+15.04.20150109~rtm-0ubuntu1

---------------
history-service (0.1+15.04.20150109~rtm-0ubuntu1) 14.09; urgency=low

  [ Gustavo Pichorim Boiko ]
  * Make it possible to delete multiple entries from QML. (LP: #1404286)
 -- Ubuntu daily release <email address hidden> Fri, 09 Jan 2015 12:45:43 +0000

Changed in history-service (Ubuntu RTM):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package messaging-app - 0.1+15.04.20150109~rtm-0ubuntu1

---------------
messaging-app (0.1+15.04.20150109~rtm-0ubuntu1) 14.09; urgency=low

  [ Gustavo Pichorim Boiko ]
  * Remove multiple entries all at once instead of using multiple calls.
    (LP: #1404286)
 -- Ubuntu daily release <email address hidden> Fri, 09 Jan 2015 12:52:04 +0000

Changed in messaging-app (Ubuntu RTM):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: In Progress → Fix Released
Bill Filler (bfiller)
Changed in dialer-app:
status: In Progress → Fix Released
Changed in history-service:
status: In Progress → Fix Released
Changed in messaging-app:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.