[Bug 719506] New: gst-rtsp-server leaks file descriptors and sometimes service is unavailable

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Nov 28 10:03:50 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=719506
  GStreamer | gst-rtsp-server | git

           Summary: gst-rtsp-server leaks file descriptors and sometimes
                    service is unavailable
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-rtsp-server
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: me at andrey-utkin.pp.ua
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


When media is set shared, and there are two or more concurrent clients
periodically connecting and disconnecting, GstRTSPServer suffers noticable
problems.

1. Number of file descriptors open by server process increases until service is
denied because of allowed FD limit reached. These FDs are not sockets, because
netstat -napt does not show excessive entries, but /proc/$PID/fdinfo shows that
there is a lot of them. When all clients disconnect (which should lead to
destruction of GstRTSPMedia instance) excessive FDs are not freed, too.

2. Sometimes clients fail getting "503 Service Unavailable" reply for DESCRIBE
request.
I've noticed such server log messages which may be related to the issue (they
go together):
ERROR rtspclient rtsp-client.c:599:find_media: client 0x7f3224002960: can't
prepare media
ERROR rtspclient rtsp-client.c:1819:handle_describe_request: client
0x7f3224002960: no media
FIXME rtspmedia rtsp-media.c:2392:gst_rtsp_media_suspend: suspend for dynamic
pipelines needs fixing
WARN basesrc gstbasesrc.c:1586:gst_base_src_perform_seek:<videotestsrc13>
duplicate event found 5210

3. There may be some issue with timestamps: ffmpeg laments "Application
provided invalid, non monotonically increasing dts to muxer in stream 0: 87001
>= 36000". Such messages never appear when there is single client. And when
second client connects, a lot of such errors are produced to the first one
infinitely.

Revisions used:
gst-rtsp-server b1e8172ef366458eecccd5f0d3b77d87fbb30d4a (today)
gstreamer 73a58cb0a2b861df6c20a8c30747117562fa7523 (today)
gst-plugins-base 1d40b1d2bb68963941720c588bfcc94d6fa3f939 (today)
gst-plugins-good b8f689a9d97b7a90a3c40d5249c964e35a000b4a (today)
gst-plugins-bad 1.2.0

Used application: https://gist.github.com/krieger-od/7618457 , derived from
https://github.com/RidgeRun/eval-sdk-imx6/blob/master/myapps/rr-rtsp-server/src/src/rr_rtsp_server.c
Command line: GST_DEBUG=3 ./rr "( videotestsrc ! x264enc ! rtph264pay name=pay0
pt=96 )"
Output: https://gist.github.com/krieger-od/7695759
Clients command and output: https://gist.github.com/krieger-od/7695806

-- 
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