Hi Hendrik, On 31.08.2015 01:29, Hendrik Leppkes wrote: > On Mon, Aug 31, 2015 at 12:15 AM, Andreas Cadhalpun > <andreas.cadhal...@googlemail.com> wrote: >> Before the release we should decide what to do with the asf_o demuxer. >> Since it still crashes often, it's probably best to just remove it. >> >> Does someone want to keep it? > > Yes, I want to keep it.
Then you should get the crashes fixed. > It works much better for me than the old one. At least the old one doesn't crash. > Please report or fix crashes, instead of giving out such blanket statements. Please fuzz-test the code thoroughly, instead of assuming it doesn't crash. $ for f in ../crash-asf_o/id*; do echo -e "\n\n\n *** $f ***\n\n\n"; gdb --batch -ex r -ex bt -ex q --args ./ffmpeg_g -threads 1 -f asf_o -i "$f" -threads 1 -f null /dev/null -hide_banner; done *** ../crash-asf_o/id_5aa30f2b43644f234d145bb6bdf63b42327e7bec.asf *** [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". *** Error in `./ffmpeg_g': corrupted double-linked list: 0x0000000001ab8c70 *** Program received signal SIGABRT, Aborted. 0x00007ffff60a8107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden. #0 0x00007ffff60a8107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007ffff60a94e8 in __GI_abort () at abort.c:89 #2 0x00007ffff60e6214 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff61d9000 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007ffff60eb9ee in malloc_printerr (action=1, str=0x7ffff61d5084 "corrupted double-linked list", ptr=<optimized out>) at malloc.c:4996 #4 0x00007ffff60ebcac in malloc_consolidate (av=av@entry=0x7ffff6416620 <main_arena>) at malloc.c:4165 #5 0x00007ffff60ecef8 in _int_malloc (av=av@entry=0x7ffff6416620 <main_arena>, bytes=bytes@entry=8272) at malloc.c:3423 #6 0x00007ffff60ee1cb in _int_memalign (av=av@entry=0x7ffff6416620 <main_arena>, alignment=alignment@entry=32, bytes=bytes@entry=8192) at malloc.c:4403 #7 0x00007ffff60ef504 in _mid_memalign (alignment=alignment@entry=32, bytes=8192, address=<optimized out>) at malloc.c:3106 #8 0x00007ffff60f1022 in __posix_memalign (memptr=memptr@entry=0x7fffffffd398, alignment=alignment@entry=32, size=<optimized out>) at malloc.c:5018 #9 0x0000000000dd66a7 in av_malloc (size=size@entry=8192) at libavutil/mem.c:97 #10 0x00000000005378cf in asf_read_metadata_obj (s=0x1ab8560, g=<optimized out>) at libavformat/asfdec_o.c:586 #11 0x0000000000536d00 in detect_unknown_subobject (size=<optimized out>, offset=<optimized out>, s=0x1ab8560) at libavformat/asfdec_o.c:1647 #12 asf_read_unknown (s=0x1ab8560, g=<optimized out>) at libavformat/asfdec_o.c:187 #13 0x0000000000537d69 in asf_read_header (s=0x1ab8560) at libavformat/asfdec_o.c:1698 #14 0x00000000006493d3 in avformat_open_input (ps=ps@entry=0x7fffffffd618, filename=filename@entry=0x7fffffffe586 "../crash-asf_o/id_5aa30f2b43644f234d145bb6bdf63b42327e7bec.asf", fmt=fmt@entry=0x13e2100 <ff_asf_o_demuxer>, options=0x1ab8128) at libavformat/utils.c:473 #15 0x000000000047ab5d in open_input_file (o=o@entry=0x7fffffffd8e0, filename=<optimized out>) at ffmpeg_opt.c:925 #16 0x000000000047c0e8 in open_files (inout=0xe849bf "input", open_file=0x4794e0 <open_input_file>, l=<optimized out>, l=<optimized out>) at ffmpeg_opt.c:2910 #17 ffmpeg_parse_options (argc=argc@entry=13, argv=argv@entry=0x7fffffffe238) at ffmpeg_opt.c:2947 #18 0x000000000046cde7 in main (argc=13, argv=0x7fffffffe238) at ffmpeg.c:4143 A debugging session is active. Inferior 1 [process 13825] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] *** ../crash-asf_o/id_73048e331a6086a01b58e65c50e0528d5592e82e.asf *** [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Input #0, asf_o, from '../crash-asf_o/id_73048e331a6086a01b58e65c50e0528d5592e82e.asf': Metadata: creation_time : 1970-01-01 00:00:00 WM/EncodingSettings: Lavf56.25.101 Duration: 00:00:00.12, start: 0.000000, bitrate: 356 kb/s Stream #0:0: Video: r10k (R10k / 0x6B303152), rgb48le(10 bpc), 16x9, 1k tbr, 1k tbn, 1k tbc Output #0, null, to '/dev/null': Metadata: WM/EncodingSettings: Lavf56.25.101 encoder : Lavf56.40.101 Stream #0:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le(10 bpc), 16x9, q=2-31, 200 kb/s, 1k fps, 1k tbn, 1k tbc Metadata: encoder : Lavc56.59.100 rawvideo Stream mapping: Stream #0:0 -> #0:0 (r10k (native) -> rawvideo (native)) Press [q] to stop, [?] for help [null @ 0x1ac4ec0] Encoder did not produce proper pts, making some up. [asf_o @ 0x1ab8560] Error: invalid buffer size, pay_len 1496, data size left -2122219135. ../crash-asf_o/id_73048e331a6086a01b58e65c50e0528d5592e82e.asf: Invalid data found when processing input Error while decoding stream #0:0: Invalid argument Program received signal SIGSEGV, Segmentation fault. wipe_side_data (frame=<optimized out>) at libavutil/frame.c:128 128 free_side_data(&frame->side_data[i]); #0 wipe_side_data (frame=<optimized out>) at libavutil/frame.c:128 #1 av_frame_unref (frame=0x1ac4660) at libavutil/frame.c:471 #2 0x0000000000485da9 in do_video_out (s=0x1ac4ec0, ost=ost@entry=0x1ac5d60, next_picture=next_picture@entry=0x0, sync_ipts=<optimized out>, sync_ipts@entry=-9.2233720368547758e+18) at ffmpeg.c:1248 #3 0x000000000048a926 in reap_filters (flush=flush@entry=1) at ffmpeg.c:1349 #4 0x000000000046e6ff in transcode_from_filter (best_ist=<synthetic pointer>, graph=0x1ac66c0) at ffmpeg.c:3869 #5 transcode_step () at ffmpeg.c:3920 #6 transcode () at ffmpeg.c:3982 #7 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4165 A debugging session is active. Inferior 1 [process 15107] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] *** ../crash-asf_o/id_8218da6d981f8c59816ac61dfeb2c474e1fd800f.asf *** [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Input #0, asf_o, from '../crash-asf_o/id_8218da6d981f8c59816ac61dfeb2c474e1fd800f.asf': Metadata: creation_time : 1970-01-01 00:00:00 WM/EncodingSettings: Lavf56.25.101 Duration: N/A, start: -991057773.423000, bitrate: N/A Stream #0:0: Video: r10k (R10k / 0x6B303152), rgb48le(10 bpc), 17x22, 1k tbr, 1k tbn, 1k tbc Output #0, null, to '/dev/null': Metadata: WM/EncodingSettings: Lavf56.25.101 encoder : Lavf56.40.101 Stream #0:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le(10 bpc), 17x22, q=2-31, 200 kb/s, 1k fps, 1k tbn, 1k tbc Metadata: encoder : Lavc56.59.100 rawvideo Stream mapping: Stream #0:0 -> #0:0 (r10k (native) -> rawvideo (native)) Press [q] to stop, [?] for help [null @ 0x1ac4ec0] Encoder did not produce proper pts, making some up. [asf_o @ 0x1ab8560] Error: invalid buffer size, pay_len 32857, data size left -2122219135. ../crash-asf_o/id_8218da6d981f8c59816ac61dfeb2c474e1fd800f.asf: Invalid data found when processing input Program received signal SIGSEGV, Segmentation fault. avio_seek (s=0xe160f2bfa5003076, offset=offset@entry=0, whence=whence@entry=1) at libavformat/aviobuf.c:215 215 buffer_size = s->buf_end - s->buffer; #0 avio_seek (s=0xe160f2bfa5003076, offset=offset@entry=0, whence=whence@entry=1) at libavformat/aviobuf.c:215 #1 0x000000000046d11a in avio_tell (s=<optimized out>) at libavformat/avio.h:392 #2 need_output () at ffmpeg.c:3342 #3 transcode () at ffmpeg.c:3977 #4 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4165 A debugging session is active. Inferior 1 [process 16465] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] *** ../crash-asf_o/id_8ac06ab3e0a66d12f7d488d15203193d5c3c1ffc.asf *** [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". *** Error in `./ffmpeg_g': free(): invalid next size (fast): 0x0000000001ab8f60 *** Program received signal SIGABRT, Aborted. 0x00007ffff60a8107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden. #0 0x00007ffff60a8107 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007ffff60a94e8 in __GI_abort () at abort.c:89 #2 0x00007ffff60e6214 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7ffff61d9000 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007ffff60eb9ee in malloc_printerr (action=1, str=0x7ffff61d91c0 "free(): invalid next size (fast)", ptr=<optimized out>) at malloc.c:4996 #4 0x00007ffff60ec6f6 in _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840 #5 0x0000000000537869 in asf_read_metadata_obj (s=0x1ab8560, g=<optimized out>) at libavformat/asfdec_o.c:606 #6 0x0000000000536d00 in detect_unknown_subobject (size=<optimized out>, offset=<optimized out>, s=0x1ab8560) at libavformat/asfdec_o.c:1647 #7 asf_read_unknown (s=0x1ab8560, g=<optimized out>) at libavformat/asfdec_o.c:187 #8 0x0000000000537d69 in asf_read_header (s=0x1ab8560) at libavformat/asfdec_o.c:1698 #9 0x00000000006493d3 in avformat_open_input (ps=ps@entry=0x7fffffffd618, filename=filename@entry=0x7fffffffe586 "../crash-asf_o/id_8ac06ab3e0a66d12f7d488d15203193d5c3c1ffc.asf", fmt=fmt@entry=0x13e2100 <ff_asf_o_demuxer>, options=0x1ab8128) at libavformat/utils.c:473 #10 0x000000000047ab5d in open_input_file (o=o@entry=0x7fffffffd8e0, filename=<optimized out>) at ffmpeg_opt.c:925 #11 0x000000000047c0e8 in open_files (inout=0xe849bf "input", open_file=0x4794e0 <open_input_file>, l=<optimized out>, l=<optimized out>) at ffmpeg_opt.c:2910 #12 ffmpeg_parse_options (argc=argc@entry=13, argv=argv@entry=0x7fffffffe238) at ffmpeg_opt.c:2947 #13 0x000000000046cde7 in main (argc=13, argv=0x7fffffffe238) at ffmpeg.c:4143 A debugging session is active. Inferior 1 [process 17735] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] *** ../crash-asf_o/id_928578a78b23067e10cf5b7f8347871f7773fef8.asf *** [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [asf_o @ 0x1ab8560] Number of Packets from File Properties Object is not equal to TotalDatapackets value! num of packets 8528125544764866560 total num 2. Input #0, asf_o, from '../crash-asf_o/id_928578a78b23067e10cf5b7f8347871f7773fef8.asf': Metadata: creation_time : 1970-01-01 00:00:00 WM/EncodingSeᙴtingsሀ: 6357068 Duration: 00:00:00.12, bitrate: 470 kb/s Stream #0:0: Video: r10k (R10k / 0x6B303152), rgb48le(10 bpc), 17x22, 1k tbr, 1k tbn, 1k tbc Output #0, null, to '/dev/null': Metadata: WM/EncodingSeᙴtingsሀ: 6357068 encoder : Lavf56.40.101 Stream #0:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le(10 bpc), 17x22, q=2-31, 200 kb/s, 1k fps, 1k tbn, 1k tbc Metadata: encoder : Lavc56.59.100 rawvideo Stream mapping: Stream #0:0 -> #0:0 (r10k (native) -> rawvideo (native)) Press [q] to stop, [?] for help [asf_o @ 0x1ab8560] Error: invalid buffer size, pay_len 1821, data size left -2097131520. Program received signal SIGSEGV, Segmentation fault. __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35 35 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Datei oder Verzeichnis nicht gefunden. #0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35 #1 0x0000000000547e96 in avio_read (s=s@entry=0x1ac1080, buf=buf@entry=0x0, size=<optimized out>, size@entry=20480) at libavformat/aviobuf.c:573 #2 0x0000000000535da7 in asf_read_multiple_payload (asf_pkt=0x1ac2eb8, pkt=0x7fffffffdb60, s=0x1ab8560) at libavformat/asfdec_o.c:1193 #3 asf_read_payload (pkt=0x7fffffffdb60, s=0x1ab8560) at libavformat/asfdec_o.c:1294 #4 asf_read_packet (s=0x1ab8560, pkt=0x7fffffffdb60) at libavformat/asfdec_o.c:1419 #5 0x000000000063eb55 in ff_read_packet (s=s@entry=0x1ab8560, pkt=pkt@entry=0x7fffffffdb60) at libavformat/utils.c:672 #6 0x0000000000641e20 in read_frame_internal (s=0x1ab8560, pkt=0x7fffffffdf70) at libavformat/utils.c:1328 #7 0x0000000000642e2a in av_read_frame (s=0x1ab8560, pkt=pkt@entry=0x7fffffffdf70) at libavformat/utils.c:1489 #8 0x000000000046e202 in get_input_packet (pkt=0x7fffffffdf70, f=0x1ab8f20) at ffmpeg.c:3602 #9 process_input (file_index=0) at ffmpeg.c:3639 #10 transcode_step () at ffmpeg.c:3929 #11 transcode () at ffmpeg.c:3982 #12 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4165 A debugging session is active. Inferior 1 [process 18971] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] *** ../crash-asf_o/id_a2c0a650cdb59a533e62fadb1461eda98455550a.asf *** [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [asf_o @ 0x1ab8560] Number of Packets from File Properties Object is not equal to TotalDatapackets value! num of packets 2 total num 65510. Input #0, asf_o, from '../crash-asf_o/id_a2c0a650cdb59a533e62fadb1461eda98455550a.asf': Metadata: creation_time : 1969-12-31 23:59:59 WM/EncodingSettings: Lavf56.25.101 Duration: 00:00:00.12, start: -1485268411.566464, bitrate: 473 kb/s Stream #0:0: Video: r10k (R10k / 0x6B303152), rgb48le(10 bpc), 17x22, 1k tbr, 1k tbn, 1k tbc Output #0, null, to '/dev/null': Metadata: WM/EncodingSettings: Lavf56.25.101 encoder : Lavf56.40.101 Stream #0:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le(10 bpc), 17x22, q=2-31, 200 kb/s, 1k fps, 1k tbn, 1k tbc Metadata: encoder : Lavc56.59.100 rawvideo Stream mapping: Stream #0:0 -> #0:0 (r10k (native) -> rawvideo (native)) Press [q] to stop, [?] for help [asf_o @ 0x1ab8560] Error: invalid buffer size, pay_len 30297, data size left -2122219135. ../crash-asf_o/id_a2c0a650cdb59a533e62fadb1461eda98455550a.asf: Invalid data found when processing input Program received signal SIGSEGV, Segmentation fault. avio_seek (s=0x5a069089a58c0d80, offset=offset@entry=0, whence=whence@entry=1) at libavformat/aviobuf.c:215 215 buffer_size = s->buf_end - s->buffer; #0 avio_seek (s=0x5a069089a58c0d80, offset=offset@entry=0, whence=whence@entry=1) at libavformat/aviobuf.c:215 #1 0x000000000046d11a in avio_tell (s=<optimized out>) at libavformat/avio.h:392 #2 need_output () at ffmpeg.c:3342 #3 transcode () at ffmpeg.c:3977 #4 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4165 A debugging session is active. Inferior 1 [process 20106] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] *** ../crash-asf_o/id_feb84e407c8185b8b80b3e9177954658e7192286.asf *** [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [asf_o @ 0x1ab8560] Number of Packets from File Properties Object is not equal to TotalDatapackets value! num of packets 10199964370168810754 total num 2. Input #0, asf_o, from '../crash-asf_o/id_feb84e407c8185b8b80b3e9177954658e7192286.asf': Metadata: creation_time : 1970-01-01 00:00:00 WM/EncodingSettings: 6357068 Duration: 00:00:00.12, bitrate: 473 kb/s Stream #0:0: Video: r10k (R10k / 0x6B303152), rgb48le(10 bpc), 17x22, SAR 1:1 DAR 17:22, 1k tbr, 1k tbn, 1k tbc Output #0, null, to '/dev/null': Metadata: WM/EncodingSettings: 6357068 encoder : Lavf56.40.101 Stream #0:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le(10 bpc), 17x22 [SAR 1:1 DAR 17:22], q=2-31, 200 kb/s, 1k fps, 1k tbn, 1k tbc Metadata: encoder : Lavc56.59.100 rawvideo Stream mapping: Stream #0:0 -> #0:0 (r10k (native) -> rawvideo (native)) Press [q] to stop, [?] for help Program received signal SIGSEGV, Segmentation fault. __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35 35 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Datei oder Verzeichnis nicht gefunden. #0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35 #1 0x0000000000547e96 in avio_read (s=s@entry=0x1ac1080, buf=buf@entry=0x0, size=<optimized out>) at libavformat/aviobuf.c:573 #2 0x0000000000535c7e in asf_read_single_payload (pkt=<optimized out>, asf_pkt=0x1ab8f38, s=0x1ab8560) at libavformat/asfdec_o.c:1246 #3 asf_read_payload (pkt=0x7fffffffdb60, s=0x1ab8560) at libavformat/asfdec_o.c:1303 #4 asf_read_packet (s=0x1ab8560, pkt=0x7fffffffdb60) at libavformat/asfdec_o.c:1419 #5 0x000000000063eb55 in ff_read_packet (s=s@entry=0x1ab8560, pkt=pkt@entry=0x7fffffffdb60) at libavformat/utils.c:672 #6 0x0000000000641e20 in read_frame_internal (s=0x1ab8560, pkt=0x7fffffffdf70) at libavformat/utils.c:1328 #7 0x0000000000642e2a in av_read_frame (s=0x1ab8560, pkt=pkt@entry=0x7fffffffdf70) at libavformat/utils.c:1489 #8 0x000000000046e202 in get_input_packet (pkt=0x7fffffffdf70, f=0x1ac2f60) at ffmpeg.c:3602 #9 process_input (file_index=0) at ffmpeg.c:3639 #10 transcode_step () at ffmpeg.c:3929 #11 transcode () at ffmpeg.c:3982 #12 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:4165 A debugging session is active. Inferior 1 [process 21281] will be killed. Quit anyway? (y or n) [answered Y; input not from terminal] Best regards, Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel