Debian Bug report logs - #421167
quodlibet: fails to start, claiming 'filesrc' cannot be found

version graph

Package: gstreamer0.10; Maintainer for gstreamer0.10 is Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>;

Reported by: Martin <qlbug01.20.mvb@spamgourmet.com>

Date: Thu, 26 Apr 2007 21:24:02 UTC

Severity: grave

Fixed in version gstreamer0.10/0.10.12-4

Done: Sebastian Dröge <slomo@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Tristan Seligmann <mithrandi@mithrandi.za.net>:
Bug#421167; Package quodlibet. (full text, mbox, link).


Acknowledgement sent to Martin <qlbug01.20.mvb@spamgourmet.com>:
New Bug report received and forwarded. Copy sent to Tristan Seligmann <mithrandi@mithrandi.za.net>. (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Martin <qlbug01.20.mvb@spamgourmet.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: quodlibet: fails to start, claiming 'filesrc' cannot be found
Date: Thu, 26 Apr 2007 23:21:17 +0200
Package: quodlibet
Version: 0.23.1-1
Severity: grave
Justification: renders package unusable

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quod Libet fails to start, pops up a message saying "Quod Libet could
not find the 'filesrc' GStreamer element. Check your GStreamer
installation." It used to work fine before/during the freeze.

~$ gst-launch filesrc location="$SOME_MUSIC_FILE" \! decodebin \! audioconvert \! audioresample \! alsasink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstAudioSinkClock

 [ music plays ]

gst-launch-0.10 produces an identical result.

- -- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.20.4
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages quodlibet depends on:
ii  exfalso                       0.23.1-1   audio tag editor for GTK+
ii  gstreamer0.10-plugins-base    0.10.12-2  GStreamer plugins from the "base" 
ii  gstreamer0.10-plugins-good    0.10.4-4   GStreamer plugins from the "good" 
ii  gstreamer0.10-plugins-ugly    0.10.4-5   GStreamer plugins from the "ugly" 
ii  python                        2.4.4-2    An interactive high-level object-o
ii  python-central                0.5.13-0.1 register and build utility for Pyt
ii  python-gst0.10                0.10.5-5   generic media-playing framework (P

Versions of packages quodlibet recommends:
ii  gstreamer0.10-alsa            0.10.12-2  GStreamer plugin for ALSA
pn  gstreamer0.10-gnomevfs        <none>     (no description available)
pn  python-feedparser             <none>     (no description available)
pn  quodlibet-ext                 <none>     (no description available)

- -- no debconf information

 * Please note: the above e-mail address is temporary, and will be
   retired when it starts to attract too much spam. Use gpg to find me.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iQEVAwUBRjEXZs7AYWSCevCcAQJGSwf/UKepxa6K+/kyX+vrdrr+bkuSZ0nmnbQ9
1fBVyEke6QrUfpRmr1pJGT+bYkzvkv+dSo8uhuV1j+tlziIHMHuiJ8nZmjIkWOr5
6uSSDgzkSxVXKpZvtY9rXCUSx63VtgQTssaipqUt57Dne17CZeyryLMOEiSV/33H
c1oH2zvLUNy3K2vKaOrd2XIBGIAS0HlqYwIn0XMNuLwLVZB57y0g+ksN3pq8DWba
w8yyvKcPHqOUHscJFeHzBswLigdievQAZ5huwgFsHsv4V3fi5Y+MYE9P3d79A8Rt
0lOtlkwwSH5N7Gr9DgIEi9wx4GI6wDY3rht5OxqKbut4auIlnyTkkA==
=jWaB
-----END PGP SIGNATURE-----



Information forwarded to debian-bugs-dist@lists.debian.org, Tristan Seligmann <mithrandi@mithrandi.za.net>:
Bug#421167; Package quodlibet. (full text, mbox, link).


Acknowledgement sent to Joe Wreschnig <piman@sacredchao.net>:
Extra info received and forwarded to list. Copy sent to Tristan Seligmann <mithrandi@mithrandi.za.net>. (full text, mbox, link).


Message #10 received at 421167@bugs.debian.org (full text, mbox, reply):

From: Joe Wreschnig <piman@sacredchao.net>
To: Martin <qlbug01.20.mvb@spamgourmet.com>, 421167@bugs.debian.org
Subject: Re: Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found
Date: Thu, 26 Apr 2007 19:28:31 -0700
[Message part 1 (text/plain, inline)]
On Thu, 2007-04-26 at 23:21 +0200, Martin wrote:
> Package: quodlibet
> Version: 0.23.1-1
> Severity: grave
> Justification: renders package unusable
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Quod Libet fails to start, pops up a message saying "Quod Libet could
> not find the 'filesrc' GStreamer element. Check your GStreamer
> installation." It used to work fine before/during the freeze.

Sounds like something in GStreamer changed. QL actually tries to create
that element by checking the result of
gst.element_make_from_uri(gst.URI_SRC, "file://", ""), which previously
returned whatever element would handle a file URL. We didn't actually
care what it was, as long as it existed (filesrc is just the most
common / only? one).

I can't reproduce this, but you're the third person I've heard it from
and across three distros.

This is a grave GStreamer bug.
-- 
Joe Wreschnig <piman@sacredchao.net>
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Tristan Seligmann <mithrandi@mithrandi.za.net>:
Bug#421167; Package quodlibet. (full text, mbox, link).


Acknowledgement sent to Joe Wreschnig <piman@sacredchao.net>:
Extra info received and forwarded to list. Copy sent to Tristan Seligmann <mithrandi@mithrandi.za.net>. (full text, mbox, link).


Message #15 received at 421167@bugs.debian.org (full text, mbox, reply):

From: Joe Wreschnig <piman@sacredchao.net>
To: Martin <qlbug01.20.mvb@spamgourmet.com>, 421167@bugs.debian.org
Cc: Sebastian Dröge <slomo@circular-chaos.org>
Subject: Re: Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found
Date: Thu, 26 Apr 2007 20:09:22 -0700
[Message part 1 (text/plain, inline)]
On Thu, 2007-04-26 at 23:21 +0200, Martin wrote:
> Package: quodlibet
> Version: 0.23.1-1
> Severity: grave
> Justification: renders package unusable
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Quod Libet fails to start, pops up a message saying "Quod Libet could
> not find the 'filesrc' GStreamer element. Check your GStreamer
> installation." It used to work fine before/during the freeze.
> ...
> Versions of packages quodlibet recommends:
> ii  gstreamer0.10-alsa            0.10.12-2  GStreamer plugin for ALSA
> pn  gstreamer0.10-gnomevfs        <none>     (no description available)

^-- This would be why. In 0.10.10 and all previous versions, a filesrc
object would be returned:

>>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
<__main__.GstFileSrc object () at 0x402076bc>

Now, in unstable:
>>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
<__main__.GstGnomeVFSSrc object () at 0xb7d6393c>

And if I remove gstreamer0.10-gnomevfs:
>>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
>>>

So, filesrc is in fact broken.

Blah blah API compatibility, blah blah you need unit tests, blah blah,
no one listens to me, blah STOP BREAKING MY SOFTWARE DAMNIT.

The GStreamer changelog says:

2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>

        * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
        * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
        Also check for an absolute path following file:// in the filesrc
        element. Remove redundant check and call g_path_is_absolute() on the
        unescaped location.

Sebastian, do you understand what an API is, and why changes like that
ARE NOT ALLOWED, especially in point releases?
-- 
Joe Wreschnig <piman@sacredchao.net>
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Tristan Seligmann <mithrandi@mithrandi.za.net>:
Bug#421167; Package quodlibet. (full text, mbox, link).


Acknowledgement sent to Sebastian Dröge <slomo@circular-chaos.org>:
Extra info received and forwarded to list. Copy sent to Tristan Seligmann <mithrandi@mithrandi.za.net>. (full text, mbox, link).


Message #20 received at 421167@bugs.debian.org (full text, mbox, reply):

From: Sebastian Dröge <slomo@circular-chaos.org>
To: Joe Wreschnig <piman@sacredchao.net>, control@bugs.debian.org
Cc: Martin <qlbug01.20.mvb@spamgourmet.com>, 421167@bugs.debian.org
Subject: Re: Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found
Date: Fri, 27 Apr 2007 09:15:53 +0200
[Message part 1 (text/plain, inline)]
reassign 421167 gstreamer0.10
thanks

Am Donnerstag, den 26.04.2007, 20:09 -0700 schrieb Joe Wreschnig:
> On Thu, 2007-04-26 at 23:21 +0200, Martin wrote:
> > Package: quodlibet
> > Version: 0.23.1-1
> > Severity: grave
> > Justification: renders package unusable
> > 
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > Quod Libet fails to start, pops up a message saying "Quod Libet could
> > not find the 'filesrc' GStreamer element. Check your GStreamer
> > installation." It used to work fine before/during the freeze.
> > ...
> > Versions of packages quodlibet recommends:
> > ii  gstreamer0.10-alsa            0.10.12-2  GStreamer plugin for ALSA
> > pn  gstreamer0.10-gnomevfs        <none>     (no description available)
> 
> ^-- This would be why. In 0.10.10 and all previous versions, a filesrc
> object would be returned:
> 
> >>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
> <__main__.GstFileSrc object () at 0x402076bc>
> 
> Now, in unstable:
> >>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
> <__main__.GstGnomeVFSSrc object () at 0xb7d6393c>
> 
> And if I remove gstreamer0.10-gnomevfs:
> >>> gst.element_make_from_uri(gst.URI_SRC, "file://", "")
> >>>
> 
> So, filesrc is in fact broken.
> 
> Blah blah API compatibility, blah blah you need unit tests, blah blah,
> no one listens to me, blah STOP BREAKING MY SOFTWARE DAMNIT.
> 
> The GStreamer changelog says:
> 
> 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
> 
>         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
>         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
>         Also check for an absolute path following file:// in the filesrc
>         element. Remove redundant check and call g_path_is_absolute() on the
>         unescaped location.
> 
> Sebastian, do you understand what an API is, and why changes like that
> ARE NOT ALLOWED, especially in point releases?

Sure, this was just to break the software of Joe Wreschnig. Could you
please calm down so we can talk about how to get this fixed properly?
Thanks

First lets get this change in the correct context, this is only a
continuation of another change by Sébastien Moutte:

> 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>

>         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
>         Fix a bug on Windows in uri format check. Now the prefix checked
>         is file:// and next we check if the path after file:// is absolute.

which OTOH is a fix needed for my first change in that direction:

> 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
> 
>         reviewed by: Wim Taymans <wim@fluendo.com>
> 
>         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
>         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
>         Allow file://localhost/foo/bar URLs and correctly fail for every other
>         hostname that one sets. This was gnomevfssrc is linked for those if
>         installed as it can handle it (#403172)

As you can see this change wasn't only decided by me and it also wasn't intentional
that it breaks things in that way. Also please read the corresponding upstream
bugreport.

I agree that the fix for this bug was not at all complete and this special
case should be handled too. Is "file://" the only URL that causes a problem for
you or is quodlibet using "file://blabla/bla" in general? (note that there are only
two slashes after the colon)

"file://" is not a valid URI, it's only the protocol part of some URI. Then according
to rfc1738 "file://blabla/bla" corresponds to the location "/bla" on the host "blabla".

Then, if quodlibet wants to check for the element "filesrc" it should just check if it
can create a "filesrc" element and not check if there is some random element that might
support the "file://" protocol.

Apart from that, would you be fine if I just special case "file://" and allow that as
a valid URI for filesrc as a workaround for this? "file://blabla/bla" would still not
be handled and this could be argued as an API change too. Not that using an
"file://blabla/bla" URI worked before but you could at least set it on the element and
the same applies for "file://" too btw....

I talked with Wim about this on IRC now and he also has the opinion that a) file:// is
simply not a valid URI but b) that this needs to be fixed by special casing the
file:// URI for API stability reasons only. I'll change that in CVS for now and also
upload a new gstreamer0.10 package with that change.

If there's still an issue then please first calm down and then file a bug against
the relevant package.

Bye

PS: For better checking if an URI protocol is support by any element I'll also add
a gst_uri_protocol_is_supported() function later btw...
[signature.asc (application/pgp-signature, inline)]

Bug reassigned from package `quodlibet' to `gstreamer0.10'. Request was from Sebastian Dröge <slomo@circular-chaos.org> to control@bugs.debian.org. (Fri, 27 Apr 2007 07:18:03 GMT) (full text, mbox, link).


Reply sent to Sebastian Dröge <slomo@debian.org>:
You have taken responsibility. (full text, mbox, link).


Notification sent to Martin <qlbug01.20.mvb@spamgourmet.com>:
Bug acknowledged by developer. (full text, mbox, link).


Message #27 received at 421167-close@bugs.debian.org (full text, mbox, reply):

From: Sebastian Dröge <slomo@debian.org>
To: 421167-close@bugs.debian.org
Subject: Bug#421167: fixed in gstreamer0.10 0.10.12-4
Date: Fri, 27 Apr 2007 08:47:04 +0000
Source: gstreamer0.10
Source-Version: 0.10.12-4

We believe that the bug you reported is fixed in the latest version of
gstreamer0.10, which is due to be installed in the Debian FTP archive:

gstreamer-tools_0.10.12-4_i386.deb
  to pool/main/g/gstreamer0.10/gstreamer-tools_0.10.12-4_i386.deb
gstreamer0.10-doc_0.10.12-4_all.deb
  to pool/main/g/gstreamer0.10/gstreamer0.10-doc_0.10.12-4_all.deb
gstreamer0.10-tools_0.10.12-4_i386.deb
  to pool/main/g/gstreamer0.10/gstreamer0.10-tools_0.10.12-4_i386.deb
gstreamer0.10_0.10.12-4.diff.gz
  to pool/main/g/gstreamer0.10/gstreamer0.10_0.10.12-4.diff.gz
gstreamer0.10_0.10.12-4.dsc
  to pool/main/g/gstreamer0.10/gstreamer0.10_0.10.12-4.dsc
libgstreamer0.10-0-dbg_0.10.12-4_i386.deb
  to pool/main/g/gstreamer0.10/libgstreamer0.10-0-dbg_0.10.12-4_i386.deb
libgstreamer0.10-0_0.10.12-4_i386.deb
  to pool/main/g/gstreamer0.10/libgstreamer0.10-0_0.10.12-4_i386.deb
libgstreamer0.10-dev_0.10.12-4_i386.deb
  to pool/main/g/gstreamer0.10/libgstreamer0.10-dev_0.10.12-4_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 421167@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sebastian Dröge <slomo@debian.org> (supplier of updated gstreamer0.10 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri, 27 Apr 2007 09:28:53 +0200
Source: gstreamer0.10
Binary: gstreamer-tools gstreamer0.10-tools gstreamer0.10-doc libgstreamer0.10-dev libgstreamer0.10-0-dbg libgstreamer0.10-0
Architecture: source all i386
Version: 0.10.12-4
Distribution: unstable
Urgency: low
Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
Changed-By: Sebastian Dröge <slomo@debian.org>
Description: 
 gstreamer-tools - Tools for use with GStreamer
 gstreamer0.10-doc - GStreamer core documentation and manuals
 gstreamer0.10-tools - Tools for use with GStreamer
 libgstreamer0.10-0 - Core GStreamer libraries and elements
 libgstreamer0.10-0-dbg - Core GStreamer libraries and elements
 libgstreamer0.10-dev - GStreamer core development files
Closes: 421167
Changes: 
 gstreamer0.10 (0.10.12-4) unstable; urgency=low
 .
   * debian/patches/02_filesrc_no_location.patch:
     + Patch from upstream CVS to also allow "file://" as URI. This is used
       by some applications, like quodlibet, to check if there's an element
       that handles the file protocol. (Closes: #421167)
Files: 
 6bb08594c9afa80a1d38917b3727a93c 1313 libs optional gstreamer0.10_0.10.12-4.dsc
 366ca5e85e805fbf7729425e31978d23 19244 libs optional gstreamer0.10_0.10.12-4.diff.gz
 d5374e99e6253aad298962082395800b 2188444 doc optional gstreamer0.10-doc_0.10.12-4_all.deb
 dd4a1f9b1c856c64cc23986ed6b66c8b 697324 libs optional libgstreamer0.10-0_0.10.12-4_i386.deb
 211e943363a39002a1d4f4f4374b0d8a 1154932 libdevel extra libgstreamer0.10-0-dbg_0.10.12-4_i386.deb
 3fa7a81936a7218bac4966f801f66d82 815498 libdevel optional libgstreamer0.10-dev_0.10.12-4_i386.deb
 795c1c84351712a053d3e0976956b957 254438 utils optional gstreamer0.10-tools_0.10.12-4_i386.deb
 ed8f3f256cef6ad4ebb4eff268fa7f6c 211604 utils optional gstreamer-tools_0.10.12-4_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGMbDuBsBdh1vkHyERAiSxAKCHDGGJfaplg5CJ8aIoiAuoHf/t9QCfajvZ
Z5aalWJHObxkbOkqUMNuYjg=
=NHy5
-----END PGP SIGNATURE-----




Information forwarded to debian-bugs-dist@lists.debian.org, Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>:
Bug#421167; Package gstreamer0.10. (full text, mbox, link).


Acknowledgement sent to Joe Wreschnig <piman@sacredchao.net>:
Extra info received and forwarded to list. Copy sent to Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>. (full text, mbox, link).


Message #32 received at 421167@bugs.debian.org (full text, mbox, reply):

From: Joe Wreschnig <piman@sacredchao.net>
To: Sebastian Dröge <slomo@circular-chaos.org>, 421167@bugs.debian.org
Subject: Re: Bug#421167: quodlibet: fails to start, claiming 'filesrc' cannot be found
Date: Fri, 27 Apr 2007 09:09:18 -0700
[Message part 1 (text/plain, inline)]
On Fri, 2007-04-27 at 09:15 +0200, Sebastian Dröge wrote:
> Am Donnerstag, den 26.04.2007, 20:09 -0700 schrieb Joe Wreschnig:
> I agree that the fix for this bug was not at all complete and this special
> case should be handled too. Is "file://" the only URL that causes a problem for
> you or is quodlibet using "file://blabla/bla" in general? (note that there are only
> two slashes after the colon)

> "file://" is not a valid URI, it's only the protocol part of some URI. Then according
> to rfc1738 "file://blabla/bla" corresponds to the location "/bla" on the host "blabla".

Yes, I know; "http://" is also not a valid URL, but it's what I was told
in #gstreamer to use to check for generic HTTP support (whether via
gnomevfs or neon), so I assumed that "file://" was similar. Quod Libet
hands correctly formed URIs to the playbin to play actual files.

> Then, if quodlibet wants to check for the element "filesrc" it should just check if it
> can create a "filesrc" element and not check if there is some random element that might
> support the "file://" protocol.

Actually I don't care if there's a filesrc element, I just care if
something supports file://. But the error message mentions filesrc
because users have no idea what "Get an element that supports file://"
means; they have a better idea what "Install filesrc" means, and this
has helped people diagnose a lot of broken GStreamer installations in
the past.

> Apart from that, would you be fine if I just special case "file://" and allow that as
> a valid URI for filesrc as a workaround for this?

Yes.
-- 
Joe Wreschnig <piman@sacredchao.net>
[signature.asc (application/pgp-signature, inline)]

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 26 Jun 2007 08:23:23 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Jan 10 21:27:55 2018; Machine Name: beach

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.