Endless loop on missing gstreamer plugin hangs gnome

Bug #1578432 reported by phip on 2016-05-04
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SoundConverter
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

phip (phiporiphic) wrote :
Changed in soundconverter:
assignee: nobody → GautierPortet (kassoulet)
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.

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  Edit
Everyone can see this information.

Other bug subscribers