[FFmpeg-trac] #1022(undetermined:new): "Glibc detected corrupted double-linked list" when copying rtsp stream.

FFmpeg trac at avcodec.org
Sat Mar 17 02:06:38 CET 2012


#1022: "Glibc detected corrupted double-linked list" when copying rtsp stream.
-------------------------------------+-------------------------------------
             Reporter:  vk5ztv       |                    Owner:  michael
                 Type:  defect       |                   Status:  new
             Priority:  important    |                Component:
              Version:  git-master   |  undetermined
             Keywords:               |               Resolution:
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------

Comment (by vk5ztv):

 Update - I ran it under valgrind today - output is as follows:

 11:32:03 bakerr at mako:~> valgrind --leak-check=full ffmpeg -i
 rtsp://str4.nlenet.net/broadcast/live-video.rm -vcodec copy -acodec copy
 -map 0:0 -map 0:1 -map 0:2 20120317-ffmpeg.rm
 ==6401== Memcheck, a memory error detector
 ==6401== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
 ==6401== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
 ==6401== Command: ffmpeg -i rtsp://str4.nlenet.net/broadcast/live-video.rm
 -vcodec copy -acodec copy -map 0:0 -map 0:1 -map 0:2 20120317-ffmpeg.rm
 ==6401==
 ffmpeg version N-38726-gad029c2 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Mar 11 2012 21:23:27 with gcc 4.5.1 20101208 [gcc-4_5-branch
 revision 167585]
   configuration: --enable-gpl --enable-nonfree --enable-libmp3lame
 --enable-libx264 --enable-pthreads --prefix=/usr --enable-postproc
 --enable-avfilter --enable-libxvid --enable-libschroedinger --enable-
 shared --enable-libvorbis --enable-libtheora
   libavutil      51. 42.100 / 51. 42.100
   libavcodec     54. 10.100 / 54. 10.100
   libavformat    54.  2.100 / 54.  2.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 64.101 /  2. 64.101
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  7.100 /  0.  7.100
   libpostproc    52.  0.100 / 52.  0.100
 [rtsp @ 0x5ac9ba0] Estimating duration from bitrate, this may be
 inaccurate
 Input #0, rtsp, from 'rtsp://str4.nlenet.net/broadcast/live-video.rm':
   Metadata:
     title           : [Server 3/4] Live Services
     comment         : B'nai Shalom <No copyright>
   Duration: N/A, start: 0.000000, bitrate: 350 kb/s
     Stream #0:0: Video: rv40 (RV40 / 0x30345652), yuv420p, 320x240, 318
 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
     Stream #0:1: Video: rv40 (RV40 / 0x30345652), yuv420p, 320x240, 29.97
 fps, 29.97 tbr, 1k tbn, 1k tbc
     Stream #0:2: Audio: cook (cook / 0x6B6F6F63), 44100 Hz, mono, flt, 32
 kb/s
 File '20120317-ffmpeg.rm' already exists. Overwrite ? [y/N] y
 ==6401== Invalid write of size 4
 ==6401==    at 0x41BFAAC: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5734 is 0 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid write of size 4
 ==6401==    at 0x41BFAAE: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5744 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 ==6401== Invalid write of size 4
 ==6401==    at 0x41BFAB4: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5748 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 ==6401== Invalid write of size 4
 ==6401==    at 0x41BFAB7: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5734 is 0 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid write of size 4
 ==6401==    at 0x41BFB72: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5740 is 12 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid write of size 4
 ==6401==    at 0x41BFB79: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5738 is 4 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BEF49: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5734 is 0 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BEF63: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5740 is 12 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BEF75: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5738 is 4 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF29B: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5748 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF316: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5734 is 0 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF32D: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5734 is 0 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF3A6: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5740 is 12 bytes after a block of size 84 alloc'd
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF440: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5748 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF7FC: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5748 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF821: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5748 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF884: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5748 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 ==6401== Invalid read of size 4
 ==6401==    at 0x41BF8A2: ??? (in /usr/lib/libavformat.so.54.2.100)
 ==6401==  Address 0x5ca5748 is not stack'd, malloc'd or (recently) free'd
 ==6401==
 Output #0, rm, to '20120317-ffmpeg.rm':
   Metadata:
     title           : [Server 3/4] Live Services
     comment         : B'nai Shalom <No copyright>
     encoder         : Lavf54.2.100
     Stream #0:0: Video: rv40 (RV40 / 0x30345652), yuv420p, 320x240,
 q=2-31, 318 kb/s, 29.97 fps, 90k tbn, 1k tbc
     Stream #0:1: Video: rv40 (RV40 / 0x30345652), yuv420p, 320x240,
 q=2-31, 29.97 fps, 90k tbn, 1k tbc
     Stream #0:2: Audio: cook (cook / 0x6B6F6F63), 44100 Hz, mono, 32 kb/s
 Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (copy)
   Stream #0:2 -> #0:2 (copy)
 Press [q] to stop, [?] for help
 pts < dts in stream 0=-1.0 q=-1.0 size=       1kB time=00:00:00.00
 bitrate=   0.0kbits/s
 av_interleaved_write_frame(): Invalid argument
 ==6401==
 ==6401== HEAP SUMMARY:
 ==6401==     in use at exit: 28,718 bytes in 15 blocks
 ==6401==   total heap usage: 835 allocs, 820 frees, 2,221,569 bytes
 allocated
 ==6401==
 ==6401== 28,015 (72 direct, 27,943 indirect) bytes in 1 blocks are
 definitely lost in loss record 6 of 6
 ==6401==    at 0x4027627: memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x40276D7: posix_memalign (in
 /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
 ==6401==    by 0x4F2BE77: av_mallocz (in /usr/lib/libavutil.so.51.42.100)
 ==6401==
 ==6401== LEAK SUMMARY:
 ==6401==    definitely lost: 72 bytes in 1 blocks
 ==6401==    indirectly lost: 27,943 bytes in 11 blocks
 ==6401==      possibly lost: 0 bytes in 0 blocks
 ==6401==    still reachable: 703 bytes in 3 blocks
 ==6401==         suppressed: 0 bytes in 0 blocks
 ==6401== Reachable blocks (those to which a pointer was found) are not
 shown.
 ==6401== To see them, rerun with: --leak-check=full --show-reachable=yes
 ==6401==
 ==6401== For counts of detected and suppressed errors, rerun with: -v
 ==6401== ERROR SUMMARY: 24 errors from 19 contexts (suppressed: 3 from 3)

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1022#comment:4>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list