[MPlayer-dev-eng] [bug] another ratecontrol issue

Arpi arpi at thot.banki.hu
Wed Oct 30 23:41:07 CET 2002


Hi,

> I'm currently upload a 50Megs chunk to
> /MPlayer/incoming/charmed.504-short.mpg (I'm seeing my FTP client
> uploading, so I'm pretty sure that it's not just my imagination :)).
> Here's the text I wrote last time, modified to include the output from
> a current MPlayer version.

also tell us the exact commands you used to proeuce the crash

> mencoder -v -nosound -ovc lavc \
>   -lavcopts vcodec=mpeg4:vbitrate=700:vhq:vqmin=2:vpass=1 \
>   -vop scale=320:240 \
>   -o /dev/null charmed.504-short.mpg

same now?

> (a lot of progress output deleted)
> mencoder: ratecontrol.c:635: ff_rate_estimate_qscale: Assertion `q>0.0' failed.

you should include gdb log (backtrace, no need to disasm) here, too

> MEncoder CVS-021030-06:00-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 16384 (LWP 24977)]
> 0x0807e399 in config (vf=0x830d298, width=352, height=240, d_width=352,
> d_height=264, flags=0, outfmt=842094169) at vf_scale.c:154
> 154         vf->priv->ctx=getSwsContext(width,height,
> gdb) bt
> #0  0x0807e399 in config (vf=0x830d298, width=352, height=240, d_width=352
> , d_height=264, flags=0, outfmt=842094169)
>     at vf_scale.c:154

> 0x807e38f <config+751>: call   0x81178b8 <getSwsContext>
> 0x807e394 <config+756>: mov    %eax,%edx
> 0x807e396 <config+758>: mov    0x40(%esi),%eax
> 0x807e399 <config+761>: mov    %edx,0x14(%eax)
     crash here ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 0x807e39c <config+764>: mov    0x40(%esi),%eax

hey, why does it do 0x40(%esi),%eax twice? eax doesn't change between
them... compiler bug?

and why does it crash at all?

that mov    %edx,0x14(%eax) will be vf->priv->ctx=%eax
so it can sig11 if either vf or vf->priv is NULL.
vf=0x830d298 as shows teh #0 line of backtrace, and vf->priv is allocated as:
    vf->priv=malloc(sizeof(struct vf_priv_s));
    vf->priv->ctx=NULL;
so it would crash here if malloc() failed.

please show register dump too (esp. the value of eax, edx, esi) and if you
can, the value of vf, vf->pri as well


A'rpi / Astral & ESP-team

--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu



More information about the MPlayer-dev-eng mailing list