After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 666395 - playbin2: set uri to a non-existed file in "about-to-finish" causes a CRITICAL warning
playbin2: set uri to a non-existed file in "about-to-finish" causes a CRITICA...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.35
Other Linux
: Normal normal
: 0.10.36
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-12-17 02:07 UTC by pklai
Modified: 2012-01-23 17:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
playbin2: do not try to deactivate an inactive group (1.04 KB, patch)
2012-01-18 14:59 UTC, Vincent Penquerc'h
committed Details | Review

Description pklai 2011-12-17 02:07:15 UTC
When a "about-to-finish" is emited by playbin2, set the "uri" to an non-existed file will cause a CRITICAL error message as: 
  ** (gPlayer:1221): CRITICAL **: deactivate_group: assertion `group->active' failed

After this happens, any trying to play a valid uri cause a "Resource not found" error message. How to recover from this situation?
Comment 1 pklai 2011-12-17 02:14:12 UTC
Additional info, the non-existed uri is a local file, of course it can be checked before submission, but playbin2 should avoid this happen.
Comment 2 Vincent Penquerc'h 2012-01-17 15:03:59 UTC
Reproduced with test7 from -base:

./tests/icles/playback/test7 file://exists file://doesnot
Comment 3 Vincent Penquerc'h 2012-01-18 14:59:58 UTC
Created attachment 205531 [details] [review]
playbin2: do not try to deactivate an inactive group

A group may have failed to activate due to an error (for instance,
having set the URI to a non existent location in about-to-finish).
Comment 4 Vincent Penquerc'h 2012-01-18 15:02:40 UTC
This change causes an error to be emitted normally when an error occurs activating after changing the uri.
I tried to see if the group could be set to NULL on error, but this seems it could have wider ranging consequences, so this small change seems safest.
I'll push this after some time if nobody has objections or a better way.
Comment 5 Vincent Penquerc'h 2012-01-23 11:57:23 UTC
commit c433ef9b701f48bae2d0268323d4f69972b91c7f
Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Date:   Wed Jan 18 14:58:08 2012 +0000

    playbin2: do not try to deactivate an inactive group
    
    A group may have failed to activate due to an error (for instance,
    having set the URI to a non existent location in about-to-finish).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=666395