[FFmpeg-trac] #4264(undetermined:new): ffmpeg supposedly hangs if RTSP session id contains $ or +

FFmpeg trac at avcodec.org
Thu Jul 30 02:03:24 CEST 2015

#4264: ffmpeg supposedly hangs if RTSP session id contains $ or +
             Reporter:  sebras       |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:
              Version:  unspecified  |  undetermined
             Keywords:  rtsp         |               Resolution:
  deadlock                           |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |

Comment (by sebras):

 I used gst-rtsp-server to reproduce this locally at my machine just now. I
 made gst-rtsp-server unconditionally _always_ choose to emit Session-
 headers starting with two dollar signs.

 The Session header used when I got the backtrace was "$$8fytI8KQRmjSJ_". I
 can see part of that in buf in frame 4 below. Should I be able to do that?
 Now that I can reproduce this consistently I'm able to help out in
 debugging this.

 #0  0x00007ffff586153d in poll ()
 #1  0x00000000005ccf7a in ff_network_wait_fd (write=0, fd=6)
     at libavformat/network.c:78
 #2  ff_network_wait_fd_timeout (fd=6, write=write at entry=0, timeout=0,
     int_cb=int_cb at entry=0x7fffe4005810)
     at libavformat/network.c:90
 #3  0x0000000000620c55 in tcp_read (h=h at entry=0x7fffe40057e0,
     buf=buf at entry=0x7fffea867c45 "", size=size at entry=971)
     at libavformat/tcp.c:172
 #4  0x000000000052efc8 in retry_transfer_wrapper (
     transfer_func=0x620c30 <tcp_read>, size_min=1024, size=1024,
     buf=0x7fffea867c10 "ytI8KQRmjSJ_\r\nDate: Wed, 29 Jul 2015 23:56:02
 GMT\r\n\r\n", h=0x7fffe40057e0)
     at libavformat/avio.c:306
 #5  ffurl_read_complete (h=0x7fffe40057e0,
     buf=buf at entry=0x7fffea867c10 "ytI8KQRmjSJ_\r\nDate: Wed, 29 Jul 2015
 23:56:02 GMT\r\n\r\n", size=size at entry=1024)
     at libavformat/avio.c:344
 #6  0x000000000060712e in ff_rtsp_skip_packet (s=0x7fffe4005ca0)
     at libavformat/rtsp.c:1123
 #7  ff_rtsp_read_reply (s=s at entry=0x7fffe4005ca0,
     reply=reply at entry=0x7fffea86a6e0, content_ptr=content_ptr at entry=0x0,
     return_on_interleaved_data=return_on_interleaved_data at entry=0,
     method=method at entry=0xe58e1a "SETUP")
     at libavformat/rtsp.c:1163
 #8  0x0000000000608833 in ff_rtsp_send_cmd_with_content (
     send_content_length=0, send_content=0x0, content_ptr=0x0,
     header=0x7fffea8696e0 "Transport:
 RTP/AVP/UDP;unicast;client_port=17082-17083\r\n", url=0x7fffe4004e1c
     method=0xe58e1a "SETUP", s=0x7fffe4005ca0)
     at libavformat/rtsp.c:1372
 #9  ff_rtsp_send_cmd (content_ptr=0x0, reply=0x7fffea86a6e0,
     headers=0x7fffea8696e0 "Transport:
 RTP/AVP/UDP;unicast;client_port=17082-17083\r\n", url=0x7fffe4004e1c
     method=0xe58e1a "SETUP", s=0x7fffe4005ca0)
     at libavformat/rtsp.c:1349
 #10 ff_rtsp_make_setup_request (s=s at entry=0x7fffe4005ca0,
     host=host at entry=0x7fffea86c420 "", port=<optimized out>,
     lower_transport=lower_transport at entry=0, real_challenge=0x0)
     at libavformat/rtsp.c:1532
 #11 0x0000000000609788 in ff_rtsp_connect (s=s at entry=0x7fffe4005ca0)
     at libavformat/rtsp.c:1868
 #12 0x000000000060bdb8 in rtsp_read_header (s=0x7fffe4005ca0)
     at libavformat/rtspdec.c:726
 #13 0x0000000000632bf3 in avformat_open_input (ps=ps at entry=0x7fffea86fc30,
     filename=filename at entry=0x7ffff7f25c64 "rtsp://",
     fmt=<optimized out>, options=0x19b9528 <format_opts>)
     at libavformat/utils.c:470
 #14 0x000000000047bf56 in read_thread (arg=0x7ffff7e24040)
     at ffplay.c:2769
 #15 0x00007ffff66ad2f8 in ?? ()
 #16 0x00007ffff66efe99 in ?? ()
 #17 0x00007ffff5b350a4 in start_thread (arg=0x7fffea870700)
 #18 0x00007ffff586a07d in clone ()

Ticket URL: <https://trac.ffmpeg.org/ticket/4264#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker

More information about the FFmpeg-trac mailing list