[FFmpeg-trac] #6724(undetermined:new): FFmpeg freezes while downloading an HLS stream

FFmpeg trac at avcodec.org
Mon Oct 9 04:34:05 EEST 2017


#6724: FFmpeg freezes while downloading an HLS stream
-------------------------------------+-------------------------------------
             Reporter:               |                    Owner:
  dimitry_ishenko                    |                   Status:  new
                 Type:  defect       |                Component:
             Priority:  normal       |  undetermined
              Version:  unspecified  |               Resolution:
             Keywords:  hls          |               Blocked By:
  deadlock                           |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by dimitry_ishenko):

 @cehoyos, that's fine. My package manager takes care of all of that.

 Here is (hopefully more useful) backtrace with latest git version:

 {{{
 (gdb) thread apply all bt

 Thread 1 (Thread 0x7ffff7f7d9c0 (LWP 5062)):
 #0  0x00007ffff4b9ba20 in __poll_nocancel () from /lib64/libc.so.6
 #1  0x00007ffff7439c5c in poll (__timeout=100, __nfds=1,
 __fds=0x7fffffffb6e0) at /usr/include/bits/poll2.h:46
 #2  ff_network_wait_fd (fd=<optimized out>, write=<optimized out>) at
 src/libavformat/network.c:78
 #3  0x00007ffff7439cca in ff_network_wait_fd_timeout (fd=4,
 write=write at entry=0, timeout=0, int_cb=0x746610)
     at src/libavformat/network.c:90
 #4  0x00007ffff749005a in tcp_read (h=<optimized out>,
     buf=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\222\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., size=2387) at src/libavformat/tcp.c:218
 #5  0x00007ffff7393738 in retry_transfer_wrapper
 (transfer_func=0x7ffff7490010 <tcp_read>, size_min=1,
     size=2387,
     buf=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\222\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., h=0x7465e0) at src/libavformat/avio.c:376
 #6  ffurl_read (h=0x7465e0,
     buf=buf at entry=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\222\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\---Type <return> to continue, or q <return> to quit---
 002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., size=size at entry=2387) at
 src/libavformat/avio.c:409
 #7  0x00007ffff73cf6e5 in http_buf_read (h=h at entry=0x94d9e0,
     buf=buf at entry=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\222\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., size=size at entry=2387) at
 src/libavformat/http.c:1321
 #8  0x00007ffff73d22e4 in http_read_stream (h=h at entry=0x94d9e0,
     buf=buf at entry=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\222\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., size=2387) at src/libavformat/http.c:1394
 #9  0x00007ffff73d2760 in http_read (h=0x94d9e0,
     buf=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\222\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., size=<optimized out>) at
 src/libavformat/http.c:1506
 #10 0x00007ffff7393738 in retry_transfer_wrapper
 (transfer_func=0x7ffff73d2730 <http_read>, size_min=1,
     size=2387,
     buf=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\2
 ---Type <return> to continue, or q <return> to quit---
 22\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., h=0x94d9e0) at src/libavformat/avio.c:376
 #11 ffurl_read (h=0x94d9e0,
     buf=0x6ab41d
 "/\212\001\235h\311\314m\246\341\350tI\264A\022\356\347\031l\340\070\237\331\070\260\030#{(y'~X5T\304qtׇ\372\344Ż\270\271\332\022\367\271A\a=\207\222֙\255\v\025\r\341r\020Z\244\365:\210\225\331\351\212]\230\222\277\065\037\370v\324\025A\237\311j_\025$\260]\206\321$bҳQ\364s\376\214B>Ȼ\304\335\177\316\033\026\277\260\277\315Ʋ\377)\324\070ŏ\363\002g\206\263\b\261]\241>&\304s\316\an\221<A\222\vmpalrّ
 \266ͻ\325Wl\204\001\002\351>\352\235Qp3\315#\020\215\210\213\202\217\253\222\320i\177\267\334\341|\331X\310W5\247\241\263\203\342\373",
 <incomplete sequence \350>..., size=2387) at src/libavformat/avio.c:409
 #12 0x00007ffff73a0283 in crypto_read (h=<optimized out>,
     buf=0x69cbc0 "Z\006n\311T\024\222T7*H0|\267\017a\206Zz۽\005\230i",
 size=32768)
     at src/libavformat/crypto.c:201
 #13 0x00007ffff7393738 in retry_transfer_wrapper
 (transfer_func=0x7ffff73a0220 <crypto_read>, size_min=1,
     size=32768, buf=0x69cbc0
 "Z\006n\311T\024\222T7*H0|\267\017a\206Zz۽\005\230i", h=0x769ed0)
     at src/libavformat/avio.c:376
 #14 ffurl_read (h=0x769ed0, buf=0x69cbc0
 "Z\006n\311T\024\222T7*H0|\267\017a\206Zz۽\005\230i", size=32768)
     at src/libavformat/avio.c:409
 #15 0x00007ffff739493e in fill_buffer (s=s at entry=0x9d7d00) at
 src/libavformat/aviobuf.c:573
 #16 0x00007ffff739568c in avio_read (s=0x9d7d00,
     buf=0x769270
 "<]\251\361\262\234[\333\326&~\223T\266aZ\\\a\314/\316\354\261!r\224\234\361>\bv\356\331\360,,o\212\315\353\237\002\245L\021\322\177\060\005\341@ƒ$\322hj\211ݔ\301xDr\205\333)\312+XNK\271\364V\230\212\225\225 at x8\350\030]kt\313<.2\260G\001\341\033\366\071\326\342\060m\205\301\216\b\006D1c!n\223;\035\274^\245\376В\020\060\277Ʌ\341Tw\n\354\330\063\257m\343\345A\253@\254\223|ojP\327\330&\367\264\374E`\300\261S%+.'\234\033t\347VT\231\353P\271\262\002\244\213l\350\070\337\345Ԡ4JV\340\377\305Bp\257\306!\004d\033P0\n\210"...,
     buf at entry=0x761ec0
 "\312\033\035\f\bP\240\022$\227%\335ܐ\002u\334*\232\320\026\263\261b\313\304\347s%;-J/\"\2
 21\021\205\r\025E(\315kr%LWP\234\340
 \037\026\230\252\367\210b+oHu\033\016C<\253\241g9\315\332\310:\350\212\307^^nL5ܢS\315%\266]ʩ\220\302\377\262k\340\246|\237\317\352|\265Y^\372\016q\376m@\214\035٪x\234\060P\016\272\315`\323a2t\214\344ʷ*8\344\374Ga\342\037",
 size=3152) at src/libavformat/aviobuf.c:667
 #17 0x00007ffff73c720c in read_from_url (
     buf=buf at entry=0x761ec0
 "\312\033\035\f\bP\240\022$\227%\335ܐ\002u\334*\232\320\026\263\261b\313\304\347s%;-J/\"\221\021\205\r\025E(\315kr%LWP\234\340
 \037\026\230\252\367\210b+oHu\033\016C<\253\241g9\315\332\310:\350\212\307^^nL5ܢS\315%\266]ʩ\220\302\377\262k\340\246|\237\317\352|\265Y^\372\016q\376m@\214\035٪x\234\060P\016\272\315`\323a2t\214\344ʷ*8\344\374Ga\342\037",
 buf_size=<optimized out>, buf_size at entry=32768,
     mode=mode at entry=READ_NORMAL, seg=<optimized out>, pls=0x67bd90,
 pls=0x67bd90) at src/libavformat/hls.c:896
 #18 0x00007ffff73c9088 in read_data (opaque=0x67bd90,
     buf=0x761ec0
 "\312\033\035\f\bP\240\022$\227%\335ܐ\002u\334*\232\320\026\263\261b\313\304\347s%;-J/\"\221\021\205\r\025E(\315kr%LWP\234\340
 \037\026\230\252\367\210b+oHu\033\016C<\253\241g9\315\332\310:\350\212\307^^nL5ܢS\315%\266]ʩ\220\302\377\262k\340\246|\237\317\352|\265Y^\372\016q\376m@\214\035٪x\234\060P\016\272\315`\323a2t\214\344ʷ*8\344\374Ga\342\037",
 buf_size=32768) at src/libavformat/hls.c:1359
 #19 0x00007ffff739493e in fill_buffer (s=s at entry=0x67cd90) at
 src/libavformat/aviobuf.c:573
 #20 0x00007ffff739568c in avio_read (s=0x67cd90, buf=0x7fffffffbc04 "",
 buf at entry=0x7fffffffbbd0 "G!\342> ",
     size=136) at src/libavformat/aviobuf.c:667
 #21 0x00007ffff73957b4 in ffio_read_indirect (s=s at entry=0x67cd90,
 buf=buf at entry=0x7fffffffbbd0 "G!\342> ",
     size=size at entry=188, data=data at entry=0x7fffffffbbc8) at
 src/libavformat/aviobuf.c:702
 #22 0x00007ffff741dfe7 in read_packet (s=s at entry=0x68dcb0,
 buf=buf at entry=0x7fffffffbbd0 "G!\342> ",
     raw_packet_size=188, data=data at entry=0x7fffffffbbc8) at
 src/libavformat/mpegts.c:2454
 #23 0x00007ffff741f1ae in handle_packets (ts=ts at entry=0x6bfc10,
 nb_packets=nb_packets at entry=0)
     at src/libavformat/mpegts.c:2521
 #24 0x00007ffff741f272 in mpegts_read_packet (s=<optimized out>,
 pkt=0x7fffffffbe40)
     at src/libavformat/mpegts.c:2775
 #25 0x00007ffff749d52c in ff_read_packet (s=s at entry=0x68dcb0,
 pkt=pkt at entry=0x7fffffffbe40)
     at src/libavformat/utils.c:818
 #26 0x00007ffff749de4e in read_frame_internal (s=s at entry=0x68dcb0,
 pkt=0x67cec0) at src/libavformat/utils.c:1520
 #27 0x00007ffff749ed6c in av_read_frame (s=0x68dcb0,
 pkt=pkt at entry=0x67cec0) at src/libavformat/utils.c:1724
 #28 0x00007ffff73c9af6 in hls_read_packet (s=0x675f20, pkt=0x7fffffffc180)
 at src/libavformat/hls.c:1938
 #29 0x00007ffff749d52c in ff_read_packet (s=s at entry=0x675f20,
 pkt=pkt at entry=0x7fffffffc180)
     at src/libavformat/utils.c:818
 #30 0x00007ffff749de4e in read_frame_internal (s=s at entry=0x675f20,
 pkt=0x7fffffffc3b0)
     at src/libavformat/utils.c:1520
 #31 0x00007ffff749ed6c in av_read_frame (s=0x675f20, pkt=0x7fffffffc3b0)
 at src/libavformat/utils.c:1724
 #32 0x0000000000408b17 in process_input (file_index=0) at
 src/fftools/ffmpeg.c:4220
 #33 transcode_step () at src/fftools/ffmpeg.c:4556
 #34 transcode () at src/fftools/ffmpeg.c:4610
 #35 main (argc=<optimized out>, argv=<optimized out>) at
 src/fftools/ffmpeg.c:4816
 (gdb)
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6724#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list