Endless loop on missing gstreamer plugin hangs gnome

Bug #1578432 reported by phip
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SoundConverter
New
Undecided
GautierPortet

Bug Description

Fedora 23 64-bit
Gnome 3.18
SoundConverter 2.1.6
gstreamer 0.10.36-13

When I add a file for which I lack a gstreamer plugin, the missing plugin notification flashes up repeatedly for a few seconds until the entire graphical session becomes permanently unresponsive. I have attached the output of `soundconverter -d` , trimmed to an arbitrary 300 lines because it loops like that forever. The gist of it is that it prints multiples of the following two blocks endlessly:

launching: 'giosrc location="file:///home/phip/Music/Unsorted/11%20Grey%20Cloud%20Over%20New%20York.m4a" name=src ! decodebin name=decoder ! audiorate tolerance=10000000 ! audioconvert ! audioresample ! vorbisenc quality=0.6 ! oggmux ! giosink location="file:///home/phip/Music/Unsorted/11%20Grey%20Cloud%20Over%20New%20York.m4a~984724~SC~"'
missing plugin: Apple Lossless Audio (ALAC) decoder file:///home/phip/Music/Unsorted/11%20Grey%20Cloud%20Over%20New%20York.m4a

** Message: PackageKit: xid = 0
** Message: PackageKit: desktop_id = (null)
** Message: PackageKit: Codec nice name: Apple Lossless Audio (ALAC) decoder
** Message: PackageKit: ignoring field named samplesize
** Message: PackageKit: structure: gstreamer0.10(decoder-audio/x-alac)()(64bit)

I saw from https://answers.launchpad.net/soundconverter/+question/273895 that gstreamer 0.10 doesn't support ALAC, but surely it doesn't have to freeze Gnome?

This is the file in question:
https://www.dropbox.com/s/7qe1sea9ziqrepo/11%20Grey%20Cloud%20Over%20New%20York.m4a?dl=0

Revision history for this message
phip (phiporiphic) wrote :
Changed in soundconverter:
assignee: nobody → GautierPortet (kassoulet)
Revision history for this message
Michael Schwendt (mschwendt) wrote :

Something has changed outside of Soundconverter, since this had worked before.

Now the missing plugin doesn't get installed. There is an immediate callback with GST_INSTALL_PLUGINS_SUCCESS code, and afterwards seemingly endless attempts at "missing plugin" installation requests plus disk massacre.

Revision history for this message
Pranav Kant (pranavk) wrote :

I wonder why there is this spurious SUCCESS callback. If I write a dummy program like this -

import gst
import gst.pbutils
import time

def cb(result):
    print 'callback'
    print result

ctx = gst.pbutils.InstallPluginsContext()
detail = 'gstreamer|0.10|soundconverter|MPEG-1 Layer 3 (MP3) decoder|decoder-audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)true'
gst.pbutils.install_plugins_async([detail], ctx, cb)

It behaves perfectly fine without any spurious SUCCESS callback and does things as it is supposed to do.

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.