Remove dependency of qtmultimedia on gst0.10

Bug #1363314 reported by Alan Pope 🍺🐧🐱 🦄
54
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Dropping Letters
Invalid
Critical
Unassigned
Ubuntu Clock App
Invalid
Critical
Unassigned
Ubuntu Music App
Invalid
Critical
Unassigned
qtmultimedia-opensource-src (Ubuntu)
Fix Released
Critical
Jim Hodapp
thumbnailer (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Seems for a few days some of the core apps which use qtmultimedia now fail to start on the desktop with output like this:-

⟫ qmlscene music-app.qml
unity::action::ActionManager::ActionManager(QObject*):
        Could not determine application identifier. HUD will not work properly.
        Provide your application identifier in $APP_ID environment variable.

(qmlscene:25234): GLib-GObject-WARNING **: cannot register existing type 'GstFormat'

(qmlscene:25234): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(qmlscene:25234): GLib-GObject-WARNING **: cannot retrieve class for invalid (unclassed) type '<invalid>'

(qmlscene:25234): GLib-GObject-WARNING **: cannot register existing type 'GstQuery'

(qmlscene:25234): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(qmlscene:25234): GLib-GObject-WARNING **: cannot retrieve class for invalid (unclassed) type '<invalid>'

(qmlscene:25234): GLib-GObject-WARNING **: cannot register existing type 'GstObject'

(qmlscene:25234): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(qmlscene:25234): GLib-GObject-WARNING **: cannot retrieve class for invalid (unclassed) type '<invalid>'

Attached is the strace output as foo.txt

A simple sample app which reproduces the issue can be seen at https://code.launchpad.net/~andrew-hayzen/+junk/test-mediaplayer-app

Also affected include core apps which use Audio {} such as Clock and Dropping Letters.

Related branches

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :
Changed in ubuntu-clock-app:
status: New → Confirmed
Changed in music-app:
status: New → Confirmed
Changed in ubuntu-clock-app:
importance: Undecided → Critical
milestone: none → rtm
Revision history for this message
Nekhelesh Ramananthan (nik90) wrote :

This is critical since it essentially blocks all landings due to jenkins test failing :/

tags: added: rtm14
Revision history for this message
Andrew Hayzen (ahayzen) wrote :

Marked music app as critical as it is blocking landings

Changed in music-app:
importance: Undecided → Critical
tags: added: lt-blocker lt-category-visible lt-date-20140901 lt-prio-high
Revision history for this message
Łukasz Zemczak (sil2100) wrote :

Might be related to LP: #1363653 ?

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

See some details on description in bug #1364258

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :

Looking at the logs it all seems to have broken down around the 28th August.

http://91.189.93.70:8080/job/ubuntu-clock-app-ci/

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

gst-plugins-bad1.0 1.4.0 update happened on 26th August: https://launchpad.net/ubuntu/+source/gst-plugins-bad1.0

No other GStreamer (or Qt) updates lately. The ubuntu-rtm still has 1.2.4 of gst-plugins-bad1.0

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Downgrading on desktop to plugins-bad 1.2.4-1ubuntu3 does not however help in eg. starting up camera-app. So the problem may lie in some other place than GStreamer.

Revision history for this message
Stephen M. Webb (bregma) wrote :

This problem also causes Unity 8 on desktop to hang during startup. A key clue:

$ grep "Initializing GStreamer Core" unity8.log
0:00:00.000070748 2537 0x1169400 INFO GST_INIT gst.c:499:init_pre: Initializing GStreamer Core Library version 1.4.0
0:00:00.000063448 2537 0x1169400 INFO GST_INIT gst.c:613:init_pre: Initializing GStreamer Core Library version 0.10.36

I don't think it's a good idea to use both versions of GStreamer in the same binary, hilarity ensues.

Revision history for this message
Stephen M. Webb (bregma) wrote :

Apparently the package libqt5multimedia5-plugins is built against the old obsolete version of gstreamer.

Changed in dropping-letters:
status: New → Confirmed
importance: Undecided → Critical
Revision history for this message
Will Cooke (willcooke) wrote :

Further investigation points to this being a problem with thumbnailer. qtmultimedia uses gst0.10 and libthumbnailer use gst1.0 and they end up loaded in the same process and have symbol conflicts.

Probably this merge: https://launchpad.net/ubuntu/+source/thumbnailer/1.2+14.10.20140827.1-0ubuntu1
is the culprit.

Assigning to Jussi for more checks.

Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

If this affects you, as a workaround downgrade thumbnailer-service and libthumbnailer0, and be wary of upgrades until fixed ;-)

Changed in thumbnailer:
assignee: nobody → Jussi Pakkanen (jpakkane)
importance: Undecided → Critical
Revision history for this message
Nicholas Skaggs (nskaggs) wrote :

lol @willcooke, posting the cause at the sametime is a little scary.

Revision history for this message
Steve Langasek (vorlon) wrote :

Why is libqt5multimedia5-plugins still using gst0.10? This seems important to fix ASAP.

I've sponsored an upload of thumbnailer to revert the gst1.0 linkage, but it's failed to build; so continuing to work on this.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package thumbnailer - 1.2+14.10.20140901.is.1.2+14.10.20140814-0ubuntu2

---------------
thumbnailer (1.2+14.10.20140901.is.1.2+14.10.20140814-0ubuntu2) utopic; urgency=medium

  * Reintroduce the pthread linkage fix from 1.2+14.10.20140827.1-0ubuntu1,
    required for the package to build.
 -- Steve Langasek <email address hidden> Tue, 02 Sep 2014 13:26:28 -0700

Changed in thumbnailer (Ubuntu):
status: New → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote :

This bug has been worked around by dropping gstreamer linkage from thumbnailer, but the fact that libqt5multimedia5-plugins is linked against gst0.10 (and pulling it onto the phone, and into main, ...) should be considered a high-priority bug.

Changed in qtmultimedia-opensource-src (Ubuntu):
importance: Undecided → Critical
Changed in thumbnailer:
status: New → In Progress
Thomas Strehl (strehl-t)
tags: added: touch-2014-09-11
Changed in dropping-letters:
status: Confirmed → Invalid
Changed in ubuntu-clock-app:
status: Confirmed → Invalid
Changed in music-app:
status: Confirmed → Invalid
Thomas Strehl (strehl-t)
Changed in thumbnailer:
status: In Progress → Invalid
assignee: Jussi Pakkanen (jpakkane) → nobody
Changed in qtmultimedia-opensource-src (Ubuntu):
assignee: nobody → Jim Hodapp (jhodapp)
Changed in thumbnailer:
importance: Critical → Undecided
Thomas Strehl (strehl-t)
no longer affects: thumbnailer
summary: - App fails to launch on up-to-date utopic desktop
+ Remove dependency of qtmultimedia on gst0.10
Revision history for this message
Jim Hodapp (jhodapp) wrote :

@Pat: to do this, we need to finish the qtmultimedia port to gstreamer 1.x and then get it upstreamed. I already have most of it ported, but not all of it. It's submitted upstream already, but Digia is not prioritizing any engineering time to finish this up, so it will be up to us to do it.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Note that the original offer to upstream was a mailing list discussion and an external git repository, needing a bit more than usual effort from upstream considering they really do not have anyone working on it on paid time.

So please contribute directly to upstream code review system so that they can more easily do the review and acceptance. I found Jim was registered at the codereview site, so I added him now to the Canonical CLA group.

It seems there's a wip/gstreamer-1.0 branch that has just seen first non-merge porting commit for this year: https://codereview.qt-project.org/#/q/status:merged+project:qt/qtmultimedia+branch:wip/gstreamer-1.0,n,z - the best way to go forward would probably be submitting the still needed work to that branch, and then submitting that wip branch for merging against dev when suitable, and addressing any upstream concerns.

Revision history for this message
Jim Hodapp (jhodapp) wrote :

@Timo: Right, but as you discovered, my branch got submitted to the code review system in the proper way. So really now it's just a matter of Digia not prioritizing finishing this porting process yet.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Right, so your former github branch is now more or less merged with that last commit to the wip branch from Andrew den Exter (I think a Jolla guy)? It's probably the biggest work done! But if we want to help getting it to a release any time soon, you could do merge proposals towards https://qt.gitorious.org/qt/qtmultimedia/ , eg. propose to merge the wip branch to the dev version, maybe co-operating with Andrew, and address any comments. It won't happen by Digia probably, but they might at least help in reviewing others' (our/community) work on it, and it'd nice to have it done at least for Qt 5.5. It's too late for 5.4 now I believe.

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

Why is this bug tagged for RTM? Removing the GST 0.10 dependency (and migrating to GST 1.0) seems to be a major effort and would also required a new upstream version from qtmultimedia. Can we track this for post RTM?

Revision history for this message
Jim Hodapp (jhodapp) wrote :

Definitely not going to happen for RTM.

kevin gunn (kgunn72)
tags: added: touch-2014-10-09
removed: touch-2014-09-11
Changed in ubuntu-clock-app:
milestone: rtm → none
Michael Frey (mfrey)
tags: removed: rtm14 touch-2014-10-09
Jim Hodapp (jhodapp)
Changed in qtmultimedia-opensource-src (Ubuntu):
status: New → Confirmed
Revision history for this message
Philippe Vaucher (philippe-vaucher) wrote :

Just to be clear, the package currently causing problems in trusty and above is "libqt5multimedia5-plugins":

philippe@philippe-desktop:~$ apt-cache rdepends libgstreamer0.10-0 | grep qt
  qtgstreamer-plugins
  libqtmultimediakit1
  libqtgstreamerutils-0.10-0
  libqtgstreamer-0.10-0
  libqt5multimedia5-plugins

This bug prevents any Qt app using both QtWebkit and QtMultimedia to function.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

This will be fixed only in Qt 5.5 AFAICT.

Revision history for this message
Jim Hodapp (jhodapp) wrote :

Indeed, that's the current plan. I've been in contact with the QtMultimedia maintainer and that was the plan last time we spoke. Here's a link to the WIP branch with code reviews. Things look like they've stabilized in changes needing review:

https://codereview.qt-project.org/#/q/status:merged+project:qt/qtmultimedia+branch:wip/gstreamer-1.0,n,z

Revision history for this message
Dmitry Shachnev (mitya57) wrote : Re: [Bug 1363314] Re: Remove dependency of qtmultimedia on gst0.10
Revision history for this message
Jim Hodapp (jhodapp) wrote :

Looks like it is, awesome.

tags: added: gst0.10
Revision history for this message
Bryan Quigley (bryanquigley) wrote :

I believe this was mostly fixed with QT5.5 landing.

The only QT package that didn't move is libqtmultimediakit1 (src:qtmobility) but that might be obsolete, but still included at least on kubuntu image.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Yes this is fixed for all of Qt 5 now.

qtmobility is Qt 4 and Qt 4 is EOL:d by upstream.

Changed in qtmultimedia-opensource-src (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments