Dbus errors in the console when closing the music-app

Bug #1526877 reported by Andrew Hayzen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical System Image
Fix Released
High
Thomas Voß
Ubuntu Music App
Invalid
Undecided
Unassigned
dbus-cpp (Ubuntu)
Confirmed
High
Thomas Voß
dbus-cpp (Ubuntu RTM)
Fix Released
High
Thomas Voß

Bug Description

Due to bug 1434584 being fixed when you swipe to close an application the following appears in the log, note the dbus errors, and that I am not able to reproduce this on the desktop.

** Application is now inactive
Attempted to deliver an event to a non-existent window, ignoring.
virtual bool QMediaPlaylist::setMediaObject(QMediaObject*)
void QMediaPlaylistPrivate::syncControls(QMediaPlaylistControl*, QMediaPlaylistControl*)
void AalMediaPlayerService::deletePlaylistControl()
virtual AalMediaPlaylistProvider::~AalMediaPlaylistProvider()
void AalMediaPlaylistProvider::disconnect_signals()
virtual AalMediaPlaylistControl::~AalMediaPlaylistControl()
void AalMediaPlayerService::deleteMediaPlayerControl()
void AalMediaPlayerService::destroyPlayerSession()
PlaybackStatusChanged signal arrived via the bus (Status: PlaybackStatus::ready)
PlaybackStatusChanged signal arrived via the bus (Status: PlaybackStatus::stopped)
OnTrackListReset signal arrived via the bus.
Attempted to unregister path (path[0] = com path[1] = canonical) which isn't registered
process 6617: arguments to dbus_connection_close() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2935.
This is normally a bug in some application using the D-Bus library.
process 6617: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2822.
This is normally a bug in some application using the D-Bus library.
process 6617: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2822.
This is normally a bug in some application using the D-Bus library.
process 6617: arguments to dbus_connection_close() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2935.
This is normally a bug in some application using the D-Bus library.
process 6617: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2822.
This is normally a bug in some application using the D-Bus library.
process 6617: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2822.
This is normally a bug in some application using the D-Bus library.
Sdk-Launcher> Stopping Application
Sdk-Launcher> The Application exited, cleaning up
Sdk-Launcher> Finished

Related branches

Andrew Hayzen (ahayzen)
description: updated
Revision history for this message
James Henstridge (jamesh) wrote :

This sounds a lot like bug 1422304, by the look of it.

Both QtDBus and dbus-cpp make use of libdbus. Libdbus provides a dbus_shutdown() function that will release various internal global state, which can be used to remove those allocation from the report valgrind produces when analysing your program. Normally applications shouldn't have a need to call it.

Anything allocated (connections, method calls, etc) before the call to shutdown can not be used after the call, which is what the _dbus_current_generation assertions are about.

dbus-cpp makes a call to dbus_shutdown() as an atexit handler. Unfortunately, Qt hasn't cleaned up its connections at this time, leading to errors.

Revision history for this message
James Henstridge (jamesh) wrote :

For what it is worth, I managed to catch a segfault on shutdown of music-app (i.e. swiping vertically in the app spread) on the phone. I couldn't get a usable apport crash dump, but managed to catch it in gdb.

This is with libdbus-cpp 4.3.0+15.04.20151126-0ubuntu1 and libmedia-hub-client 4.0.0+15.04.20151209-0ubuntu1 installed.

Changed in dbus-cpp (Ubuntu):
status: New → Confirmed
Changed in dbus-cpp (Ubuntu RTM):
status: New → Confirmed
Changed in dbus-cpp (Ubuntu):
assignee: nobody → Thomas Voß (thomas-voss)
Changed in dbus-cpp (Ubuntu RTM):
assignee: nobody → Thomas Voß (thomas-voss)
Changed in dbus-cpp (Ubuntu RTM):
importance: Undecided → High
Changed in dbus-cpp (Ubuntu):
importance: Undecided → High
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

This bug was fixed in the package dbus-cpp 4.3.0+15.04.20160112-0ubuntu1 in https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/stable-phone-overlay

---------------

dbus-cpp (4.3.0+15.04.20160112-0ubuntu1) vivid; urgency=medium

  * Only run dbus_shutdown if explicitly requested by env var. (LP:
    #1422304, #1526877)

 -- Thomas Voß <email address hidden> Tue, 12 Jan 2016 16:28:02 +0000

Changed in dbus-cpp (Ubuntu RTM):
status: Confirmed → Fix Released
Changed in canonical-devices-system-image:
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Thomas Voß (thomas-voss)
milestone: none → ww02-2016
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
Jim Hodapp (jhodapp)
no longer affects: media-hub (Ubuntu RTM)
no longer affects: media-hub (Ubuntu)
Changed in music-app:
status: New → Invalid
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.