[Bug 692691] queue: dangling pointer when doing allocation query on a flushing queue

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Jan 30 04:14:55 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=692691
  GStreamer | gstreamer (core) | 1.x

Tim-Philipp Müller <t.i.m> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|HEAD                        |1.0.6
            Summary|Dangling pointer when doing |queue: dangling pointer
                   |allocation query on a       |when doing allocation query
                   |flushing queue              |on a flushing queue

--- Comment #15 from Tim-Philipp Müller <t.i.m at zen.co.uk> 2013-01-30 12:14:50 UTC ---
master:


commit 745821d5f1af00a693d4e5076f20cddd1b1da6a6
Author: Alexander Schrab <alexas at axis.com>
Date:   Tue Jan 29 12:40:52 2013 +0100

    tests: unit test to trigger the queue/flushing race condition bug for
allocation queries

    https://bugzilla.gnome.org/show_bug.cgi?id=692691

commit 09bb0c2cdb1e0abd7b674bea3e30ac2adb25c663
Author: Alexander Schrab <alexas at axis.com>
Date:   Mon Jan 28 11:05:28 2013 +0100

    queue: remove query from queue if queue is flushing

    When querying a queue that is flushing we end up adding
    a query to the queuearray without taking a reference to
    that query (because the normal functionality is to block
    until that query is done and discarded from the queue).
    This later causes problem if the query is unreffed outside
    of the queue before we discard the queue. There is a check
    to avoid unreffing any lingering query-objects, but since
    the query has been deleted that check fails.

    This commit depends on other fixes done to gst_queue_array_find()
    and gst_queue_array_drop_element().

    https://bugzilla.gnome.org/show_bug.cgi?id=692691

commit ae8940e6f7057b4528d7b73d69672c0a8ff46cf1
Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date:   Wed Jan 30 11:55:18 2013 +0000

    queuearray: make _find() find the value if no compare function is provided

    Allow NULL as compare function for direct value lookup.

    https://bugzilla.gnome.org/show_bug.cgi?id=692691


1.0:


commit fd366ce62834ac2065437531665431e775d726b8
Author: Alexander Schrab <alexas at axis.com>
Date:   Tue Jan 29 12:40:52 2013 +0100

    tests: unit test to trigger the queue/flushing race condition bug for
allocation queries

    https://bugzilla.gnome.org/show_bug.cgi?id=692691

commit ca5628ad8c39ad8735430a2091970926cde3bd76
Author: Alexander Schrab <alexas at axis.com>
Date:   Mon Jan 28 11:05:28 2013 +0100

    queue: remove query from queue if queue is flushing

    When querying a queue that is flushing we end up adding
    a query to the queuearray without taking a reference to
    that query (because the normal functionality is to block
    until that query is done and discarded from the queue).
    This later causes problem if the query is unreffed outside
    of the queue before we discard the queue. There is a check
    to avoid unreffing any lingering query-objects, but since
    the query has been deleted that check fails.

    This commit depends on other fixes done to gst_queue_array_find()
    and gst_queue_array_drop_element().

    https://bugzilla.gnome.org/show_bug.cgi?id=692691

commit 1b46969f7e7bd0fbd9d08c06174e69f2f82acef1
Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date:   Wed Jan 30 11:55:18 2013 +0000

    queuearray: make _find() find the value if no compare function is provided

    Allow NULL as compare function for direct value lookup.

    https://bugzilla.gnome.org/show_bug.cgi?id=692691

    Conflicts:
        plugins/elements/gstqueuearray.c

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list