Skip to content

Crash on assert in libmpeg2.c

This crash happens on a particular file I sent to : http://streams.videolan.org/misc/20090623_CRASH_ON_TS_MPG.mpg

This is a very very unclean one acquired from a DVB-T tuner in very bad conditions. It has been converted from ts to ps by VLC. This is the resulting ps file.

I'm posting it because since ref : ed7d6cbf vlc crash on an assert with this video in ./modules/codec/libmpeg2.c @ DpbDisplayPicture

As far as I know DpbFindPicture don't find a picture and returns NULL because the researched picture is not present.

Here is the last FOR in DpbFindPicture :

p->p_picture : 0X9E1A390 <---> p_picture : 0X9E1A4B8

p->p_picture : 0X9E1A140 <---> p_picture :0X9E1A4B8

p->p_picture : 0X9E1ABA8 <---> p_picture : 0X9E1A4B8

p->p_picture : 0 <---> p_picture : 0X9E1A4B8

and here comes the error : vlc: libmpeg2.c :843 : DpbDisplayPicture: L'assertion « p && !p->b_displayed && p->b_linked » a échoué. Abandon

in this case the p coming from DpbFindPicture is NULL. I think this may lead to a segfault in a release version.

Reverting ed7d6cbf avoids the crash and lead to this kind of messages :

[0x88bb7c0] main video output error: picture to display 0x88bc038 has invalid status 2 (..) [0x88bb7c0] main video output error: picture to display 0x88bc038 has invalid status 3 (..) [0x88bb7c0] main video output error: picture to display 0x88bc038 has invalid status 4

As the file is very unclean this is not a matter of playback but just keeping vlc alive...

Besnard Jean-Baptiste - jbbesnard at actech-innovation.com

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information