Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#2016 closed defect (invalid)

Mplayer crashes with certain chapter information in mkv files

Reported by: sochotnicky@… Owned by: reimar
Priority: normal Component: demuxer
Version: unspecified Severity: major
Keywords: Cc: cehoyos
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

Crash looks like this:

$ mplayer out.mkv
MPlayer SVN-r33094-4.5.3 (C) 2000-2011 MPlayer Team

Playing out.mkv.
Cache fill: 11.38% (1966080 bytes)

libavformat file format detected.
Cache not filling, consider increasing -cache and/or -cache-min!
[matroska,webm @ 0x18e4ac0] Estimating duration from bitrate, this may be inaccurate
mplayer: utils.c:2175: compute_chapters_end: Assertion `s->chapters[i]->start <= s->chapters[i+1]->start' failed.

MPlayer interrupted by signal 6 in module: demux_open

  • MPlayer crashed. This shouldn't happen. It can be a bug in the MPlayer code _or_ in your drivers _or_ in your gcc version. If you think it's MPlayer's fault, please read DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and won't help unless you provide this information when reporting a possible bug.

I managed to fix this crash by editing mkv file in question. I extracted chapters and removed second EditionEntry? tag. There seemed to be a similar bug in ffpmeg code (same assertion) some time ago, but there was not enough information so the bug was closed[1]. I attach both original and fixed chapters.xml. I might be able to create a small sample if need be, but I guess this could be enough information to get you started. If you need more information, let me know.

[1] https://roundup.libav.org/issue692

Attachments (3)

chapters.xml (6.1 KB) - added by sochotnicky@… 8 years ago.
original chapters.xml that causes problems
chapters-fixed.xml (5.9 KB) - added by sochotnicky@… 8 years ago.
fixed chapters that work when merged with original mkv file
chapters.2.xml (1.5 KB) - added by sochotnicky@… 8 years ago.
Minimal reproducing chapters definition

Download all attachments as: .zip

Change History (10)

Changed 8 years ago by sochotnicky@…

original chapters.xml that causes problems

Changed 8 years ago by sochotnicky@…

fixed chapters that work when merged with original mkv file

comment:1 Changed 8 years ago by sochotnicky@…

comment:2 Changed 8 years ago by sochotnicky@…

  • Component changed from vd to demuxer

Mistakenly set component to vd, resetting to demuxer

comment:3 Changed 8 years ago by cehoyos

  • Cc cehoyos@… added

Is the crash also reproducible with FFmpeg?
If yes, please open a ticket on https://ffmpeg.org/trac/ffmpeg

Please upload a sample to http://www.datafilehost.com/ and post the download link here.

comment:4 Changed 8 years ago by reimar

  • Resolution set to invalid
  • Status changed from new to closed

This was fixed in FFmpeg on April 1st, and the assert that causes the printout does not exist at all anymore.
Using MPlayer with such a heavily outdated FFmpeg is very much _not_ supported (in addition to not recommended).

comment:5 Changed 8 years ago by reimar

Forgot to mention: FFmpeg commit ab11317c1f97db19eddebe1bc5d4cb5a53718c9f fixed it.

comment:6 Changed 8 years ago by sochotnicky@…

Indeed, you were right. Even though ffmpeg on my system is 0.7.7, mplayer package used bundled pre-0.7 version (I guess a problem of the packager here...)

Just in case anyone is interested, the sample file causing this is uploaded:
http://www.datafilehost.com/download-963a6caa.html

I tracked the bug to two chapters having the same UID, and some additional conditions had to be met (those 2 with same UID had to be in different EditionEntry? subtags, and apparently there had to be one more chapter). I am attaching minimum reproducing chapters xml file.

For the record I was able to normally play the file with ffplay so it is really just the bundled ffmpeg that has the problem.

Changed 8 years ago by sochotnicky@…

Minimal reproducing chapters definition

comment:7 Changed 8 years ago by sochotnicky@…

Note: See TracTickets for help on using tickets.