[FFmpeg-trac] #5067(avformat:open): crash on Mapping Multicast TV Stream to HLS with "Exactly one WebVTT stream is needed" as message

FFmpeg trac at avcodec.org
Sun Dec 6 22:04:53 CET 2015


#5067: crash on Mapping Multicast TV Stream to HLS with "Exactly one WebVTT stream
is needed" as message
-------------------------------------+-------------------------------------
             Reporter:               |                    Owner:
  cloudclimber                       |                   Status:  open
                 Type:  defect       |                Component:  avformat
             Priority:  important    |               Resolution:
              Version:  git-master   |               Blocked By:
             Keywords:  webvtt hls   |  Reproduced by developer:  1
  crash SIGSEGV regression           |
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by cehoyos):

 * keywords:  webvtt hls => webvtt hls crash SIGSEGV regression
 * status:  new => open
 * version:  2.8.3 => git-master
 * component:  undetermined => avformat
 * reproduced:  0 => 1


Comment:

 Regression since 379ddc6a or b8423269 (depending on configure options)
 {{{
 (gdb) r -i sample.ts -c copy out.m3u8
 Starting program: ffmpeg_g -i sample.ts -c copy out.m3u8
 [Thread debugging using libthread_db enabled]
 Using host libthread_db library "/lib64/libthread_db.so.1".
 ffmpeg version N-77081-ga0a39ac Copyright (c) 2000-2015 the FFmpeg
 developers
   built with gcc 4.7 (SUSE Linux)
   configuration: --enable-gpl
   libavutil      55. 10.100 / 55. 10.100
   libavcodec     57. 16.101 / 57. 16.101
   libavformat    57. 19.100 / 57. 19.100
   libavdevice    57.  0.100 / 57.  0.100
   libavfilter     6. 20.100 /  6. 20.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 [NULL @ 0x1cda700] start time for stream 4 is not set in
 estimate_timings_from_pts
 [NULL @ 0x1cdb280] start time for stream 5 is not set in
 estimate_timings_from_pts
 Input #0, mpegts, from 'sample.ts':
   Duration: 00:00:03.84, start: 72016.973667, bitrate: 4284 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
     Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002),
 yuv420p(tv), 720x576 [SAR 64:45 DAR 16:9], max. 7700 kb/s, 25 fps, 25 tbr,
 90k tbn, 50 tbc
     Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, s16p, 192 kb/s
     Stream #0:2[0x102]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz,
 stereo, s16p, 192 kb/s
     Stream #0:3[0x103](und): Subtitle: dvb_teletext ([6][0][0][0] /
 0x0006)
     Stream #0:4[0x104]: Data: bin_data ([6][0][0][0] / 0x0006)
     Stream #0:5[0x105]: Data: bin_data ([6][0][0][0] / 0x0006)
 [webvtt @ 0x1d07900] Exactly one WebVTT stream is needed.
 Output #0, hls, to 'out.m3u8':
   Metadata:
     encoder         : Lavf57.19.100
     Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p,
 720x576 [SAR 64:45 DAR 16:9], q=2-31, max. 7700 kb/s, 25 fps, 25 tbr, 90k
 tbn, 25 tbc
     Stream #0:1: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 192
 kb/s
     Stream #0:2(und): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (copy)
   Stream #0:3 -> #0:2 (copy)
 Press [q] to stop, [?] for help

 Program received signal SIGSEGV, Segmentation fault.
 compute_muxer_pkt_fields (s=s at entry=0x1d07900, st=0x1d09100,
 pkt=pkt at entry=0x7fffffffd260)
     at libavformat/mux.c:576
 576         st->priv_pts->val = pkt->dts;
 (gdb) bt
 #0  compute_muxer_pkt_fields (s=s at entry=0x1d07900, st=0x1d09100,
     pkt=pkt at entry=0x7fffffffd260) at libavformat/mux.c:576
 #1  0x00000000006237b8 in av_write_frame (s=s at entry=0x1d07900,
 pkt=pkt at entry=0x7fffffffd260)
     at libavformat/mux.c:786
 #2  0x00000000006245b4 in ff_write_chained (dst=0x1d07900, dst_stream=0,
 pkt=0x7fffffffd3d0,
     src=0x1d02f80, interleave=0) at libavformat/mux.c:1133
 #3  0x0000000000621fad in write_packet (s=s at entry=0x1d02f80,
 pkt=pkt at entry=0x7fffffffd3d0)
     at libavformat/mux.c:677
 #4  0x00000000006240be in av_interleaved_write_frame (s=s at entry=0x1d02f80,
 pkt=0x0,
     pkt at entry=0x7fffffffd610) at libavformat/mux.c:1040
 #5  0x00000000004913da in write_frame (s=0x1d02f80,
 pkt=pkt at entry=0x7fffffffd610,
     ost=ost at entry=0x1d05740) at ffmpeg.c:781
 #6  0x0000000000495349 in do_streamcopy (ist=ist at entry=0x1cdbca0,
 ost=0x1d05740,
     pkt=pkt at entry=0x7fffffffda80) at ffmpeg.c:1911
 #7  0x00000000004978a3 in process_input_packet (no_eof=0,
 pkt=0x7fffffffda80, ist=0x1cdbca0)
     at ffmpeg.c:2433
 #8  process_input (file_index=30379808) at ffmpeg.c:3979
 #9  transcode_step () at ffmpeg.c:4067
 #10 transcode () at ffmpeg.c:4121
 #11 0x0000000000479c2b in main (argc=<optimized out>, argv=0x7fffffffdd28)
 at ffmpeg.c:4314
 (gdb) disass $pc-32,$pc+32
 Dump of assembler code from 0x6221e0 to 0x622220:
    0x00000000006221e0 <compute_muxer_pkt_fields+288>:   rolb
 (%rax,%rax,1)
    0x00000000006221e3 <compute_muxer_pkt_fields+291>:   add    %al,(%rcx)
    0x00000000006221e5 <compute_muxer_pkt_fields+293>:   jne    0x622760
 <compute_muxer_pkt_fields+1696>
    0x00000000006221eb <compute_muxer_pkt_fields+299>:   mov
 0x8(%rbx),%rdi
    0x00000000006221ef <compute_muxer_pkt_fields+303>:   mov
 0x300(%rbx),%rsi
    0x00000000006221f6 <compute_muxer_pkt_fields+310>:   mov
 %rcx,0xf0(%rbx)
    0x00000000006221fd <compute_muxer_pkt_fields+317>:   mov
 0xc(%rdi),%eax
 => 0x0000000000622200 <compute_muxer_pkt_fields+320>:   mov    %rcx,(%rsi)
    0x0000000000622203 <compute_muxer_pkt_fields+323>:   test   %eax,%eax
    0x0000000000622205 <compute_muxer_pkt_fields+325>:   jne    0x622248
 <compute_muxer_pkt_fields+392>
    0x0000000000622207 <compute_muxer_pkt_fields+327>:   movslq
 0x8c(%rdi),%rdx
    0x000000000062220e <compute_muxer_pkt_fields+334>:   movslq
 0x34(%rbx),%rax
    0x0000000000622212 <compute_muxer_pkt_fields+338>:   mov
 0x10(%rsi),%rdi
    0x0000000000622216 <compute_muxer_pkt_fields+342>:   imul   %rdx,%rax
    0x000000000062221a <compute_muxer_pkt_fields+346>:   add
 0x8(%rsi),%rax
    0x000000000062221e <compute_muxer_pkt_fields+350>:   js     0x6228e0
 <compute_muxer_pkt_fields+2080>
 End of assembler dump.
 (gdb) info register
 rax            0x3      3
 rbx            0x1d09100        30445824
 rcx            0x0      0
 rdx            0x8000000000000000       -9223372036854775808
 rsi            0x0      0
 rdi            0x1d09560        30446944
 rbp            0x7fffffffd260   0x7fffffffd260
 rsp            0x7fffffffd090   0x7fffffffd090
 r8             0x0      0
 r9             0x7fffffffd260   140737488343648
 r10            0x0      0
 r11            0x8000000000000001       -9223372036854775807
 r12            0x8000000000000000       -9223372036854775808
 r13            0x1d02f80        30420864
 r14            0x1d07900        30439680
 r15            0x1d05de0        30432736
 rip            0x622200 0x622200 <compute_muxer_pkt_fields+320>
 eflags         0x10246  [ PF ZF IF RF ]
 cs             0x33     51
 ss             0x2b     43
 ds             0x0      0
 es             0x0      0
 fs             0x0      0
 gs             0x0      0
 }}}

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


More information about the FFmpeg-trac mailing list