[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#920485: mplayer gets signal 6 when playing ogg video files



> On 19 Mar 2022, at 15:03, Diederik de Haas <didi.debian@cknow.org> wrote:
> 
> On Saturday, 19 March 2022 13:57:49 CET Reimar Döffinger wrote:
>>> On 16 Mar 2022, at 20:01, Diederik de Haas <didi.debian@cknow.org> wrote:
>>> [VD_FFMPEG] DRI failure.
>>> mplayer: libmpcodecs/vf.c:286: vf_get_image: Assertion `w == -1 || w >=
>>> vf->w' failed.
>> Is it intentional that debian compiles with --enable-debug?
>> That's the reason I could never reproduce this, as it's off by default.
>> I think this is simply a case of bad asserts, but I should double-check.
>> The video plays fine with 1.5 if compiled without --enable-debug, I suspect
>> it's the same for 1.4.
> 
> I don't know, but searching the repo, I found the following commit:
> https://salsa.debian.org/multimedia-team/mplayer/-/commit/63f84eb8b014724263447bc37927154bec2ac5e7
> 
> It's from 12 years ago, so I don't know if the logic from then still applies.
> It does talk about 'mplayer-dbg', but AFAIK nowadays there should be
> (automatic?) debug packages and those are (usually?)named -dbgsym.
> You as one of the (new) maintainers can make a different choice then was made
> back then.

I suspect the problem might be that MPlayer by default does not compile with debug symbols.
This should be addressed by adding the desired -g options to --extra-cflags and --extra-ldflags configure options instead.
Admittedly --enable-debug is documented doing that, but it does more... Sigh... Fixed that as well upstream.

> OTOH, I'd guess that an assert would signal an actual problem and *hiding* it
> by no longer compiling with '--enable-debug' seems wrong.
> When the assert itself is wrong, then that should be corrected.

The problem is that too few people run MPlayer with --enable-debug, so the quality of the asserts is not well tested.
I removed the 2 relevant asserts in MPlayer SVN r38362.

--- libmpcodecs/vf.c	(revision 38361)
+++ libmpcodecs/vf.c	(working copy)
@@ -283,8 +283,6 @@
   int missing_palette;
 
 #ifdef MP_DEBUG
-  assert(w == -1 || w >= vf->w);
-  assert(h == -1 || h >= vf->h);
   assert(vf->w > 0);
   assert(vf->h > 0);
 #endif


Reply to: