Bug#556198: mpd: segfault when trying to play a m4a (AAC-LC) file

Reinhard Tartler siretart at tauware.de
Sun Nov 15 17:49:58 UTC 2009


reassign 556198 mpd
tag 556198 upstream patch
stop

Max Kellermann <max at duempel.org> writes:

>> It seems to me that the output buffer is simply not aligned, which
>> makes mpd crash when using the MMX optimized functions of ffmpeg. If
>> I'm right, the crash should just disappear if you disable
>> /usr/lib/i686/cmov/libavcodec.so.52, so that mpd falls back to the
>> non-MMX capable version /usr/lib/libavcodec.so.52.
>
> Indeed, I have written an alignment patch for the stable branch, it
> fixes the problem here:
>
>  http://git.musicpd.org/cgit/master/mpd.git/commit/?h=v0.15.x&id=77b95d08a55a35bc966b9a9096cd926c315d49b8
>
> (For the master branch, I'll probably use posix_memalign() instead of
> this hack - but that would be too much change for the stable branch)

Excellent. I guess we now agree what the defect is, and I'm marking this
bug accordingly.

> In addition to MPD's failure to obey the documented libavcodec
> specification, I consider the actual crash a bug in libavcodec:
>
>  "@return On error a negative value is returned"

The problem is that you cannot expect extensive error and parameter
checking. While defensive programming is a very good rule in general, it
is not obeyed in ffmpeg for performance reasons. This means that the
caller must carefully ensure that ffmpeg is only used within its
specifications. I therefore don't really consider this crash as a bug
but rather as design decision.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4





More information about the pkg-multimedia-maintainers mailing list