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 589127 - gsttask leaks the pool
gsttask leaks the pool
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.24
Other Linux
: Normal blocker
: 0.10.24
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-07-20 13:46 UTC by Wim Taymans
Modified: 2009-07-20 16:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
possible fix (1.19 KB, patch)
2009-07-20 13:48 UTC, Wim Taymans
committed Details | Review

Description Wim Taymans 2009-07-20 13:46:11 UTC
GstTask takes a ref to a taskpool when creating a thread but does not release that ref when the pool does not provide a pointer for joining the thread.
Comment 1 Wim Taymans 2009-07-20 13:48:50 UTC
Created attachment 138819 [details] [review]
possible fix

Fixes the leak.
Comment 2 Jan Schmidt 2009-07-20 15:27:59 UTC
Is this a regression? How comfortable are you putting it in during freeze?
Comment 3 Wim Taymans 2009-07-20 15:50:10 UTC
it's a regression because of the GstTask work for 0.10.24. I'm pretty sure the patch is correct.
Comment 4 Jan Schmidt 2009-07-20 16:01:20 UTC
OK, push the commit
Comment 5 Wim Taymans 2009-07-20 16:04:45 UTC
commit ffca244c262743ddf99fd06f66df979ba556f499
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Mon Jul 20 18:03:21 2009 +0200

    tests: make sure the tasks are joined
    
    Call _clean_all() on the task to make sure everything is joined and stopped.
    
    See #589127

commit a78199ae5e48cabec1ed5c733e84debfc55578ca
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Mon Jul 20 15:44:36 2009 +0200

    task: fix taskpool leak
    
    GstTaks does not always unref the taskpool it was created from because it
    depends on when the pool provided an ID for joining the task.
    Rework some code so that we always unref the pool and optionally join when the
    pool provided an id.
    
    Fixes #589127