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

Moritz Bunkus moritz at bunkus.org
Thu Oct 31 00:17:53 CET 2002


Hi.

> 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?

Yes, I only alter the mencoder binary (switching between pre9 from the
Debian packages, pre9 self compiled with debug options, today's CVS,
today's CVS with debug options...).

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

I read and obey :)

[bt for 0.9pre9 !!]

mencoder: ratecontrol.c:635: ff_rate_estimate_qscale: Assertion >0.0' failed.14 D/B/S 0/1/0

Program received signal SIGABRT, Aborted.
[Switching to Thread 16384 (LWP 32613)]
0x40b78c01 in kill () from /lib/libc.so.6
(gdb) bt
#0  0x40b78c01 in kill () from /lib/libc.so.6
#1  0x4004d98b in pthread_kill () from /lib/libpthread.so.0
#2  0x4004dcab in raise () from /lib/libpthread.so.0
#3  0x40b79c3e in abort () from /lib/libc.so.6
#4  0x40b72b11 in __assert_fail () from /lib/libc.so.6
#5  0x0818e907 in ff_rate_estimate_qscale (s=0x83be430) at ratecontrol.c:635
#6  0x0814055c in encode_picture (s=0x83be430, picture_number=7173) at mpegvideo.c:2591
#7  0x0813363a in MPV_encode_picture (avctx=0x83b0b00, buf=0x41064008 "", buf_size=2097152, data=0xbfffe040) at mpegvideo.c:983
#8  0x08130893 in avcodec_encode_video (avctx=0x83b0b00, buf=0x41064008 "", buf_size=2097152, pict=0xbfffe040) at utils.c:122
#9  0x0806b4fc in put_image (vf=0x83b0ab8, mpi=0x83b01b8) at ve_lavc.c:485
#10 0x0807c561 in vf_next_put_image (vf=0x83b0ea8, mpi=0x83b01b8) at vf.c:368
#11 0x0807d776 in put_image (vf=0x83b0ea8, mpi=0x83b0150) at vf_expand.c:262
#12 0x0807c561 in vf_next_put_image (vf=0x83b0ef0, mpi=0x83b0150) at vf.c:368
#13 0x0807e141 in put_image (vf=0x83b0ef0, mpi=0x83b00e8) at vf_scale.c:217
#14 0x08070d60 in decode_video (sh_video=0x835ab40, start=0x40f63008 "", in_size=3924, drop_frame=0) at dec_video.c:289
#15 0x0804fdd2 in main (argc=12, argv=0xbffff5a4) at mencoder.c:1018

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

Sure:

[dump for today's CVS !!]

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) p vf
$1 = (struct vf_instance_s *) 0x830d298
(gdb) p *vf
$2 = {info = 0x836e898, config = 0x836e898, control = 0x1df3b8c6, query_format = 0x39, get_image = 0x40c6084c <errno+3052>, 
  put_image = 0x40c6084c <errno+3052>, draw_slice = 0xf4724260, uninit = 0x3fefdb70, default_caps = 2375595106, 
  default_reqs = 1067482368, imgctx = {static_images = {0xace3f8d7, 0xbf843566}, temp_images = {0x0}, export_images = {0x11}, 
    static_idx = 137801240}, next = 0x830d040, priv = 0x38}
(gdb) p *vf->priv
Cannot access memory at address 0x38
(gdb) info registers
eax            0x38     56
ecx            0x0      0
edx            0x8363cc0        137772224
ebx            0xf0     240
esp            0xbfffdfe0       0xbfffdfe0
ebp            0xbfffe048       0xbfffe048
esi            0x830d298        137417368
edi            0x160    352
eip            0x807e399        0x807e399
eflags         0x10297  66199
cs             0x23     35
ss             0x2b     43
ds             0x2b     43
es             0x2b     43
fs             0x0      0
gs             0x0      0
fctrl          0x37f    895
fstat          0x20     32
ftag           0xffff   65535
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
mxcsr          0x1f80   8064
orig_eax       0xffffffff       -1

One thing I just found out aditionally: if I leave out the rescaling
then no segfault happens at all (of course not in vf_scale.c, but
nowhere else just like with 0.9pre9).

-- 
 ==> Ciao, Mosu (Moritz Bunkus)



More information about the MPlayer-dev-eng mailing list