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