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 750651 - rtspsrc: socket descriptors not freed on unrefing parent pipeline
rtspsrc: socket descriptors not freed on unrefing parent pipeline
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.4.5
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-06-09 15:42 UTC by Yuuki
Modified: 2018-11-03 11:37 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Yuuki 2015-06-09 15:42:38 UTC
If connection to RTSP source can't be established, I do unref pipeline and create new one. Each of this recreations of pipeline spawns new socket descriptors in /proc/<pid>/fd and total number of them is grows. After hundred or so such cycles my code crashes.

If I run my code under valgrind, it is not crashed, but valgrind says instead:

==26342== Warning: invalid file descriptor 1031 in syscall socketcall.socketpair()
==26342== Warning: invalid file descriptor 1031 in syscall open()
==26342== Warning: invalid file descriptor 1031 in syscall open()
==26342== Warning: invalid file descriptor 1032 in syscall write()

Stopping app gives:

==26342== 37,382 (8,000 direct, 29,382 indirect) bytes in 500 blocks are definitely lost in loss record 3,638 of 3,666
==26342==    at 0x4C2BBA0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==26342==    by 0x5198799: g_malloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.0)
==26342==    by 0x51AF6AF: g_slice_alloc (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.0)
==26342==    by 0x517E44C: g_error_new_literal (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.0)
==26342==    by 0x517E71D: g_set_error_literal (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.4400.0)
==26342==    by 0x8081F67: g_cancellable_set_error_if_cancelled (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4400.0)
==26342==    by 0x80BF73A: g_socket_condition_timed_wait (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4400.0)
==26342==    by 0x80C2361: g_socket_connect (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4400.0)
==26342==    by 0x80C51F5: g_socket_client_connect (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4400.0)
==26342==    by 0x80C5799: g_socket_client_connect_to_uri (in /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.4400.0)
==26342==    by 0x85F2B5B: gst_rtsp_connection_connect (in /usr/lib/x86_64-linux-gnu/libgstrtsp-1.0.so.0.405.0)
==26342==    by 0x7E2B8C1: gst_rtsp_conninfo_connect (in /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so)
Comment 1 GStreamer system administrator 2018-11-03 11:37:56 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/192.