Re: Leaking 4 sockets per file played.

davideberti@gmail.com davide.berti at gmail.com
Thu Oct 9 10:20:47 PDT 2014


Sent from my HTC on T-Mobile 4G LTEOom

----- Reply message -----
From: "Stirling Westrup" <swestrup at gmail.com>
To: "Discussion of the development of and with GStreamer" <gstreamer-devel at lists.freedesktop.org>
Subject: Leaking 4 sockets per file played.
Date: Thu, Oct 9, 2014 10:02 AM

Thanks for the suggestion of running things under valgrind. Since I last
posted, we've learned a few more things:

1) We can leak sockets when just running from the command line.
2) We only leak sockets when decodebin decides to use our patched versions
of gst-vaapi to decode files. (which we are now checking to see how it
handles sockets).
3) Valgrind seems to implicate gst_video_filter_propose_allocation as it
always seems to create a new buffer pool for each video file, but I'm
wondering if vaapi could somehow be causing this with malformed queries?


==19095== FILE DESCRIPTORS: 24 open at exit.
==19095== Open AF_UNIX socket 46: <unknown>
==19095==    at 0x6A57A2A: socketpair (syscall-template.S:82)
==19095==    by 0x55C9EF1: gst_poll_new (gstpoll.c:568)
==19095==    by 0x55C9FDD: gst_poll_new_timer (gstpoll.c:629)
==19095==    by 0x5589853: gst_buffer_pool_init (gstbufferpool.c:161)
==19095==    by 0x6211B30: g_type_create_instance (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA088: ??? (in /usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61F9580: g_object_newv (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA05B: g_object_new (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x50C9B95: gst_video_buffer_pool_new (gstvideopool.c:243)
==19095==    by 0x50C6B3A: gst_video_filter_propose_allocation
(gstvideofilter.c:92)
==19095==    by 0x532C624: gst_base_transform_default_query
(gstbasetransform.c:1482)
==19095==    by 0x55B86B9: gst_pad_query (gstpad.c:3584)
==19095==
==19095== Open AF_UNIX socket 45: <unknown>
==19095==    at 0x6A57A2A: socketpair (syscall-template.S:82)
==19095==    by 0x55C9EF1: gst_poll_new (gstpoll.c:568)
==19095==    by 0x55C9FDD: gst_poll_new_timer (gstpoll.c:629)
==19095==    by 0x5589853: gst_buffer_pool_init (gstbufferpool.c:161)
==19095==    by 0x6211B30: g_type_create_instance (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA088: ??? (in /usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61F9580: g_object_newv (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA05B: g_object_new (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x50C9B95: gst_video_buffer_pool_new (gstvideopool.c:243)
==19095==    by 0x50C6B3A: gst_video_filter_propose_allocation
(gstvideofilter.c:92)
==19095==    by 0x532C624: gst_base_transform_default_query
(gstbasetransform.c:1482)
==19095==    by 0x55B86B9: gst_pad_query (gstpad.c:3584)
==19095==
==19095== Open AF_UNIX socket 30: <unknown>
==19095==    at 0x6A57A2A: socketpair (syscall-template.S:82)
==19095==    by 0x55C9EF1: gst_poll_new (gstpoll.c:568)
==19095==    by 0x55C9FDD: gst_poll_new_timer (gstpoll.c:629)
==19095==    by 0x5589853: gst_buffer_pool_init (gstbufferpool.c:161)
==19095==    by 0x6211B30: g_type_create_instance (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA088: ??? (in /usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61F9580: g_object_newv (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA05B: g_object_new (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x50C9B95: gst_video_buffer_pool_new (gstvideopool.c:243)
==19095==    by 0x50C6B3A: gst_video_filter_propose_allocation
(gstvideofilter.c:92)
==19095==    by 0x532C624: gst_base_transform_default_query
(gstbasetransform.c:1482)
==19095==    by 0x55B86B9: gst_pad_query (gstpad.c:3584)
==19095==
==19095== Open AF_UNIX socket 29: <unknown>
==19095==    at 0x6A57A2A: socketpair (syscall-template.S:82)
==19095==    by 0x55C9EF1: gst_poll_new (gstpoll.c:568)
==19095==    by 0x55C9FDD: gst_poll_new_timer (gstpoll.c:629)
==19095==    by 0x5589853: gst_buffer_pool_init (gstbufferpool.c:161)
==19095==    by 0x6211B30: g_type_create_instance (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA088: ??? (in /usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61F9580: g_object_newv (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x61FA05B: g_object_new (in
/usr/lib64/libgobject-2.0.so.0.3314.0)
==19095==    by 0x50C9B95: gst_video_buffer_pool_new (gstvideopool.c:243)
==19095==    by 0x50C6B3A: gst_video_filter_propose_allocation
(gstvideofilter.c:92)
==19095==    by 0x532C624: gst_base_transform_default_query
(gstbasetransform.c:1482)
==19095==    by 0x55B86B9: gst_pad_query (gstpad.c:3584)


On Wed, Oct 8, 2014 at 5:09 PM, Stirling Westrup <swestrup at gmail.com> wrote:

> On Wed, Oct 8, 2014 at 4:03 PM, Tim Müller <tim at centricular.com> wrote:
>
>> On Wed, 2014-10-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141009/1853ddb9/attachment.html>


More information about the gstreamer-devel mailing list