[Bug 784383] New: GST_REFCOUNTING is not trustful
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Fri Jun 30 14:17:37 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=784383
Bug ID: 784383
Summary: GST_REFCOUNTING is not trustful
Classification: Platform
Product: GStreamer
Version: 1.12.x
OS: Windows
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: martin2.maurer at zeiss.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
It looks like GST_REFCOUNTING is not trustful.
Here are some positive and negative examples:
0:17:04.750351068 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 0->1
0:17:04.780276938 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 1->2
0:17:04.820027254 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 2->1
0:17:04.820703683 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 1->2
0:17:04.821272539 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 2->3
0:17:04.821434809 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 3->2
0:17:04.821782687 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 2->3
0:17:04.822334405 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 3->4
0:17:04.822794595 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 4->3
0:17:04.823494362 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 3->4
0:17:04.824251379 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 4->5
0:17:04.824339989 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 5->6
0:17:04.824508458 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 6->5
0:17:04.826198619 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 5->4
0:17:04.826353960 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 4->3
0:17:04.831242481 12592 0000000018455AC0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 3->2
0:17:04.846848115 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 2->1
0:17:05.035832498 12592 0000000032E5AD00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 1->0
Ok, looks good till here…
0:17:05.035941893 12592 0000000032E5AD00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 0->1
0:17:05.054755003 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 1->2
0:17:05.073715067 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 2->1
0:17:05.074437442 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 1->2
0:17:05.075212692 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 2->3
0:17:05.075423096 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 3->2
0:17:05.075862501 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 2->3
0:17:05.076973960 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 3->4
0:17:05.077487024 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 4->3
0:17:05.077946121 12592 0000000018455B00 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 3->2
0:17:05.095318127 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 2->3
0:17:05.096015341 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 3->4
0:17:05.096135676 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 4->5
0:17:05.096370877 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 5->4
0:17:05.096670620 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 4->3
0:17:05.096882118 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 3->2
Ok, still looks good till here…
0:17:05.098080728 12592 0000000018455A40 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 2->1
0:17:05.087528438 12592 0000000018455AC0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 2->1
Two different threads, which both unref same object at the same time? Mutex not
working??? Perhaps just debug output wrong, and we are now at value 0???
0:17:05.103663546 12592 0000000018455AC0 TRACE GST_REFCOUNTING
gstminiobject.c:351:gst_mini_object_ref: 00000000186FE690 ref 0->1
0:17:05.104035126 12592 0000000018455AC0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 1->0
0:17:14.963514410 12592 00000000328DF8C0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 1->0
0:17:15.294925179 12592 00000000328DF8C0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 1->0
0:17:15.298323368 12592 00000000328DF8C0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 1->0
0:17:15.938601043 12592 00000000328DF8C0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 1->0
0:17:16.004370715 12592 00000000328DF8C0 TRACE GST_REFCOUNTING
gstminiobject.c:431:gst_mini_object_unref: 00000000186FE690 unref 1->0
A lot of time same object unref von 1 to 0??? But this is even from same
thread?
Counting backwards, we shall be at ref count 0 here.
--
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