[vlc] Re: VLC memory leaks?

Oivind oivindg at gmail.com
Mon Oct 17 14:31:10 CEST 2005


This is the most serious problem I have encountered using VLC.

For a temporary solution, I have made a script that monitors memory
usage and multicast traffic rate, and restarts the vlc-process if a
fail state is entered. This helps a bit.

I'm not sure who is responsible for these leaks. For investigation,
maybe you could provide a pmap of the process just prior to dying, or
a core dump from a debug compiled version?

Oivind


On 10/17/05, Viktor Kompaneyets <vato at wnet.ua> wrote:
> Hi All!
>
> It hurt me hard - but when I use VLC after 20+ hours of streaming, the VLC
> process eats all of memory and stops working.
>
> VLC version 0.8.4-test1 Janus
> Compiled by tipok at spooler.wnet.ua
> Compiler: gcc version 3.3.5 (Debian 1:3.3.5-13)
> Based upon svn changeset [12832]
>
> I can't run it under any debuger - because the leak exposes himself only on
> heavy-load (I stream 4 transcoded MPEG2 sources in WMV2+MP3 format  with
> asfh mux)
>
> As of DVB nature all the source streams are not error-free. The error
> cancellation  within VLC shows a lot of errors within -vvv output:
>
> [00000368] main private warning: backward_pts != dts (80178)
> [00000368] main private warning: backward_pts != current_pts (80144)
> [00000367] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129534177815238, last: 1129534177855382)
> [00000368] main private warning: backward_pts != current_pts (-80178)
> [00000354] main private warning: backward_pts != dts (79955)
> [00000354] main private warning: backward_pts != current_pts (80000)
> [00000353] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129534295523195, last: 1129534295563195)
> [00000354] main private warning: vout synchro warning: pts != current_date
> (-79900)
> [00000267] ts demuxer warning: discontinuity received 0xb instead of 0x8
> (pid=6101)
> [00000354] main private warning: backward_pts != dts (80088)
> [00000354] main private warning: backward_pts != current_pts (80066)
> [00000353] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129534627284795, last: 1129534627324861)
> [00000354] main private warning: vout synchro warning: pts != current_date
> (-80088)
> [00000267] ts demuxer warning: discontinuity received 0xd instead of 0xb
> (pid=6101)
> [00000354] main private warning: backward_pts != dts (79955)
> [00000354] main private warning: backward_pts != current_pts (79989)
> [00000353] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129534867285628, last: 1129534867325617)
> [00000354] main private warning: vout synchro warning: pts != current_date
> (-79900)
> [00000354] main private warning: backward_pts != dts (39966)
> [00000354] main private warning: backward_pts != current_pts (39988)
> [00000354] main private warning: vout synchro warning: pts != current_date
> (-39933)
> [00000267] ts demuxer warning: discontinuity received 0xa instead of 0x6
> (pid=6101)
> [00000354] main private warning: backward_pts != dts (40089)
> [00000354] main private warning: backward_pts != current_pts (40067)
> [00000353] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129535357367139, last: 1129535357367206)
> [00000354] main private warning: backward_pts != current_pts (-40089)
> [00000354] main private warning: backward_pts != dts (39867)
> [00000354] main private warning: backward_pts != current_pts (39945)
> [00000354] main private warning: backward_pts != current_pts (-39867)
> [00000354] main private warning: backward_pts != dts (79955)
> [00000354] main private warning: backward_pts != current_pts (79955)
> [00000353] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129535467408217, last: 1129535467448172)
> [00000354] main private warning: backward_pts != current_pts (-79955)
> [00000354] main private warning: backward_pts != dts (80056)
> [00000354] main private warning: backward_pts != current_pts (79900)
> [00000353] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129535475487783, last: 1129535475527683)
> [00000354] main private warning: backward_pts != current_pts (-80056)
> [00000354] main private warning: backward_pts != dts (39922)
> [00000354] main private warning: backward_pts != current_pts (39966)
> [00000354] main private warning: backward_pts != current_pts (-39922)
> [00000267] ts demuxer warning: discontinuity received 0x3 instead of 0xf
> (pid=6101)
> [00000354] main private warning: backward_pts != dts (80211)
> [00000354] main private warning: backward_pts != current_pts (80155)
> [00000353] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129535718808395, last: 1129535718848550)
> [00000354] main private warning: vout synchro warning: pts != current_date
> (-80244)
> [00000267] ts demuxer warning: discontinuity received 0xa instead of 0x7
> (pid=6101)
> [00000267] ts demuxer warning: discontinuity received 0x9 instead of 0x6
> (pid=6101)
> [00000267] ts demuxer warning: discontinuity received 0x6 instead of 0x4
> (pid=6101)
> [00000267] ts demuxer warning: discontinuity received 0x3 instead of 0x2
> (pid=6102)
> [00000267] ts demuxer warning: discontinuity received 0x3 instead of 0x2
> (pid=6103)
> [00000308] mpeg_audio packetizer debug: emulated startcode (no startcode on
> following frame)
> [00000267] ts demuxer warning: discontinuity received 0xb instead of 0x8
> (pid=6101)
> [00000267] ts demuxer warning: discontinuity received 0x4 instead of 0x3
> (pid=6102)
> [00000267] ts demuxer warning: discontinuity received 0x5 instead of 0x4
> (pid=6103)
> [00000308] mpeg_audio packetizer debug: emulated startcode (no startcode on
> following frame)
> [00000267] ts demuxer warning: discontinuity received 0x9 instead of 0x6
> (pid=6101)
> [00000267] ts demuxer warning: discontinuity received 0x2 instead of 0xf
> (pid=6101)
> [00000368] main private warning: backward_pts != dts (79811)
> [00000368] main private warning: backward_pts != current_pts (79945)
> [00000367] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129537568001271, last: 1129537568041216)
> [00000368] main private warning: vout synchro warning: pts != current_date
> (-79889)
> [00000267] ts demuxer warning: discontinuity received 0x6 instead of 0x3
> (pid=6101)
> [00000368] main private warning: backward_pts != dts (79856)
> [00000368] main private warning: backward_pts != current_pts (80000)
> [00000367] ffmpeg encoder warning: almost fed libavcodec with a frame in the
> past (current: 1129538048005038, last: 1129538048045038)
> [00000368] main private warning: vout synchro warning: pts != current_date
> (-79856)
> [00000267] ts demuxer warning: discontinuity received 0xf instead of 0xe
> (pid=6101)
> [00000267] ts demuxer warning: discontinuity received 0x3 instead of 0x2
> (pid=6102)
> [00000267] ts demuxer warning: discontinuity received 0x3 instead of 0x2
> (pid=6103)
> [00000308] mpeg_audio packetizer debug: emulated startcode (no startcode on
> following frame)
>
> And so on...
>
> Are they ffmpeg-based errors? Who is responsible on correct memory release
> after errors - ffmpeg or VLC?
>
> --
> Viktor Kompaneyets
> Wnet project manager
>
> --
> This is the vlc mailing-list, see http://www.videolan.org/vlc/
> To unsubscribe, please read http://www.videolan.org/support/lists.html
>
>

-- 
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html



More information about the vlc mailing list