Opened 3 years ago

Closed 3 years ago

#5728 closed defect (fixed)

hls demuxer regression

Reported by: gkop Owned by:
Priority: important Component: avformat
Version: git-master Keywords: mpegts deadlock regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no


I accepted a dist-upgrade today that bumped me from 7:3.0.2-4 to 7:3.1.1-2.

Now this command no longer returns.

% ffprobe pl.m3u8
ffprobe version 3.1.1-2 Copyright (c) 2007-2016 the FFmpeg developers
  built with gcc 5.4.0 (Debian 5.4.0-6) 20160609
  configuration: --prefix=/usr --extra-version=2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-chromaprint --enable-libopencv --enable-libx264
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 48.101 / 57. 48.101
  libavformat    57. 41.100 / 57. 41.100
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 47.100 /  6. 47.100
  libavresample   3.  0.  0 /  3.  0.  0
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100
  libpostproc    54.  0.100 / 54.  0.100

The input is attached.

I downgraded ffmpeg and it didn't fix the issue, although it works on other vintage builds of ffmpeg I have lying around. So maybe I am totally crazy (could it be other packages interfering?). Please close this if I am crazy or this ticket is inappropriate.

Attachments (3)

pl.m3u8 (134 bytes) - added by gkop 3 years ago.
108_1_1353.ts (846.2 KB) - added by gkop 3 years ago.
108_1_1352.ts (683.2 KB) - added by gkop 3 years ago.

Download all attachments as: .zip

Change History (7)

Changed 3 years ago by gkop

Changed 3 years ago by gkop

Changed 3 years ago by gkop

comment:1 Changed 3 years ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords mpegts deadlock regression added
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open
  • Summary changed from ffprobe doesn't return after Debian Stretch regular dist-upgrade to hls demuxer regression
  • Version changed from unspecified to git-master

For future tickets: Please always remember to test ffmpeg before reporting issues against ffprobe or ffplay.
Regression since 6e65b9bb1f55d2ffffa234bd212459a1395ca7e5 related to ticket #5305.

(gdb) r -i pl.m3u8
Starting program: ffmpeg_g -i pl.m3u8
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/".
ffmpeg version N-81071-g9264bb7 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  libavutil      55. 28.100 / 55. 28.100
  libavcodec     57. 50.100 / 57. 50.100
  libavformat    57. 44.100 / 57. 44.100
  libavdevice    57.  0.102 / 57.  0.102
  libavfilter     6. 47.100 /  6. 47.100
  libswscale      4.  1.100 /  4.  1.100
  libswresample   2.  1.100 /  2.  1.100

Program received signal SIGINT, Interrupt.
0x00007ffff62899a0 in __nanosleep_nocancel () from /lib64/
(gdb) bt
#0  0x00007ffff62899a0 in __nanosleep_nocancel () from /lib64/
#1  0x000000000106e8d5 in av_usleep (usec=usec@entry=100000) at libavutil/time.c:80
#2  0x00000000005da2da in read_data (opaque=0x1e1d000, buf=0x7ffff13bc598 "",
    buf_size=32768) at libavformat/hls.c:1284
#3  0x00000000005a5ef1 in fill_buffer (s=s@entry=0x1e1e000) at libavformat/aviobuf.c:540
#4  0x00000000005ab694 in avio_read (s=0x1e1e000, buf=<optimized out>,
    buf@entry=0x7fffffffcdf0 "", size=188) at libavformat/aviobuf.c:628
#5  0x00000000005ab7f4 in ffio_read_indirect (s=s@entry=0x1e1e000,
    buf=buf@entry=0x7fffffffcdf0 "", size=size@entry=188, data=data@entry=0x7fffffffcde8)
    at libavformat/aviobuf.c:663
#6  0x000000000062a8b4 in read_packet (data=0x7fffffffcde8, raw_packet_size=188,
    buf=0x7fffffffcdf0 "", s=0x1e1f400) at libavformat/mpegts.c:2408
#7  handle_packets (ts=ts@entry=0x1e45060, nb_packets=nb_packets@entry=0)
    at libavformat/mpegts.c:2475
#8  0x000000000062a994 in mpegts_read_packet (s=<optimized out>, pkt=0x7fffffffd130)
    at libavformat/mpegts.c:2718
#9  0x00000000006aa9cd in ff_read_packet (s=s@entry=0x1e1f400,
    pkt=pkt@entry=0x7fffffffd130) at libavformat/utils.c:759
#10 0x00000000006ad444 in read_frame_internal (s=s@entry=0x1e1f400,
    pkt=pkt@entry=0x7fffffffd2d0) at libavformat/utils.c:1457
#11 0x00000000006b2576 in avformat_find_stream_info (ic=0x1e1f400,
    options=options@entry=0x0) at libavformat/utils.c:3475
#12 0x00000000005d9db2 in hls_read_header (s=<optimized out>) at libavformat/hls.c:1645
#13 0x00000000006b58bd in avformat_open_input (ps=ps@entry=0x7fffffffd608,
    filename=filename@entry=0x7fffffffe1dc "pl.m3u8", fmt=fmt@entry=0x0,
    options=0x1e1c168) at libavformat/utils.c:555
#14 0x000000000048b862 in open_input_file (o=o@entry=0x7fffffffd6c0,
    filename=<optimized out>) at ffmpeg_opt.c:982
#15 0x0000000000483f63 in open_files (inout=inout@entry=0x111b346 "input",
    open_file=open_file@entry=0x489e80 <open_input_file>, l=<optimized out>,
    l=<optimized out>) at ffmpeg_opt.c:3036
#16 0x000000000048be21 in ffmpeg_parse_options (argc=argc@entry=3,
    argv=argv@entry=0x7fffffffdd38) at ffmpeg_opt.c:3073
#17 0x000000000047c773 in main (argc=3, argv=0x7fffffffdd38) at ffmpeg.c:4333

comment:2 Changed 3 years ago by gkop

Thanks for looking at this cehoyos and for the advice on future bug reports.

comment:3 Changed 3 years ago by gkop

FYI regarding Debian Stretch once I downgraded all these packages, I am demuxing HLS successfully again (downgrading ffmpeg alone did not solve the problem):

sudo apt-get install ffmpeg=7:3.0.2-4 libavutil55=7:3.0.2-4 libavcodec57=7:3.0.2-4 libavfilter6=7:3.0.2-4 libavformat57=7:3.0.2-4

comment:4 Changed 3 years ago by michael

  • Resolution set to fixed
  • Status changed from open to closed

Backported the commits fixing this (309fa24f361f1c9d357f8d152c3b78718d2f870d) to release/3.1

Note: See TracTickets for help on using tickets.