[MPlayer-users] Reproducable segfault with mencoder -pass 2
André Dahlqvist
andre.dahlqvist at telia.com
Wed Nov 14 15:19:26 CET 2001
Hi all,
I get a reproducable segfault when I use the -pass 2 flag to mencoder
with current CVS. This happens on all files I've tried, and removing the
-pass 2 flag makes it work again. I've uploaded the output file which
mencoder produced before dying. It's in incoming/mencoder_segfault.avi.
gdb output
----------
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 3347)]
0x080594ac in VbrControl_get_intra () at divx4_vbr.c:346
346 return m_vFrames[m_iCount].is_key_frame;
(gdb) bt
#0 0x080594ac in VbrControl_get_intra () at divx4_vbr.c:346
#1 0x0805b0a3 in main (argc=5, argv=0xbffff994, envp=0xbffff9ac) at
mencoder.c:720
#2 0x403ac65f in __libc_start_main () from /lib/libc.so.6
(gdb) disass $eip-32 $eip+32
Dump of assembler code from 0x805948c to 0x80594cc:
0x805948c <VbrControl_init_2pass_vbr_encoding+1952>: (bad)
0x805948d <VbrControl_init_2pass_vbr_encoding+1953>: lcall
*0x5e(%ebx)
0x8059490 <VbrControl_init_2pass_vbr_encoding+1956>: pop %edi
0x8059491 <VbrControl_init_2pass_vbr_encoding+1957>: mov %ebp,%esp
0x8059493 <VbrControl_init_2pass_vbr_encoding+1959>: pop %ebp
0x8059494 <VbrControl_init_2pass_vbr_encoding+1960>: ret
0x8059495 <VbrControl_init_2pass_vbr_encoding+1961>: lea
0x0(%esi),%esi
0x8059498 <VbrControl_get_intra>: push %ebp
0x8059499 <VbrControl_get_intra+1>: mov 0x8108204,%eax
0x805949e <VbrControl_get_intra+6>: mov 0x8108244,%edx
0x80594a4 <VbrControl_get_intra+12>: mov %esp,%ebp
0x80594a6 <VbrControl_get_intra+14>: lea (%eax,%eax,2),%eax
0x80594a9 <VbrControl_get_intra+17>: mov %ebp,%esp
0x80594ab <VbrControl_get_intra+19>: pop %ebp
0x80594ac <VbrControl_get_intra+20>: movswl 0x14(%edx,%eax,8),%eax
0x80594b1 <VbrControl_get_intra+25>: ret
0x80594b2 <VbrControl_get_intra+26>: mov %esi,%esi
0x80594b4 <VbrControl_get_drop>: push %ebp
0x80594b5 <VbrControl_get_drop+1>: mov %esp,%ebp
0x80594b7 <VbrControl_get_drop+3>: movswl 0x8108210,%eax
0x80594be <VbrControl_get_drop+10>: mov %ebp,%esp
0x80594c0 <VbrControl_get_drop+12>: pop %ebp
0x80594c1 <VbrControl_get_drop+13>: ret
0x80594c2 <VbrControl_get_drop+14>: mov %esi,%esi
0x80594c4 <VbrControl_get_quant>: push %ebp
0x80594c5 <VbrControl_get_quant+1>: mov 0x8108208,%eax
0x80594ca <VbrControl_get_quant+6>: mov %esp,%ebp
End of assembler dump.
(gdb)
Related software
----------------
lame-3.89beta
divx4linux-20011025
Other software info
-------------------
Debian GNU/Linux testing/unstable
Kernel 2.4.15-pre4
glibc-2.2.4
XFree86 4.1.0
gcc-2.95.4 20011006 (Debian prerelease)
GNU ld version 2.11.92.0.10 20011021 Debian/GNU Linux
binutils-2.11.92.0.10
Hardware info
-------------
Pentium III 550 Mhz
NVidia TNT2 32 mb
Video driver from X
VIA AC97 Audio Controller
Via 686a audio driver 1.9.1
mencoder output
---------------
Reading /home/andre/.mplayer/codecs.conf: 21 audio & 58 video codecs
File size is 505860 bytes
success: format: 0 data: 0x0 - 0x7B804
ASF_check: not ASF guid!
Checking for MOV
system stream synced at 0xB (11)!
==> Found video stream: 0
Detected MPEG-PS file format!
==> Found audio stream: 0
Searching for sequence header... LAME version 3.89 (beta 1, Nov 13 2001) (http://www.mp3dev.org/)
Using polyphase lowpass filter, transition band: 19383 Hz - 19916 Hz
misc:
scaling: 0.000000
filter type: 0
quantization: xr^3/4
huffman search: best (outside loop)
experimental X=0 Y=0 Z=0
...
stream format:
MPEG-1 Layer 3
2 channel - stereo
padding: auto
variable bitrate - VBR rh (default)
...
psychoacoustic:
tonality estimation limit: 8871.700195 Hz
force channels to have same block types: no
adjust masking: -1.000000 dB
psymodel: 1
noise shaping: 1
^ amplification: 1
^ stopping: 1
ATH: using
^ type: 4
^ adjust type: 3
^ adapt threshold type: 2
using temporal masking effect: no
...
OK!
VIDEO: MPEG1 176x128 (aspect 1) 24.00 fps 115.0 kbps (14.4 kbyte/s)
[V] filefmt:2 fourcc:0x10000001 size:176x128 fps:24.00 ftime:=0.0417
Detected video codec: [mpeg12] drv:1 (MPEG 1 or 2)
mpeg2dec-0.2.0-release (C) 2000-2001 Aaron Holtzman & Michel Lespinasse
libmpeg2: Using MMXEXT for IDCT transform
libmpeg2: Using MMXEXT for motion compensation
Detected audio codec: [mp3] drv:1 (MPEG layer-2, layer-3)
Initializing audio codec...
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer
mp3lib: Processor ID: 681
mp3lib: Using SSE! optimized decore.
AUDIO: srate=44100 chans=2 bps=2 sfmt=0x10 ratio: 4000->176400
Writing AVI header...
A: 1.9 V: 1.4 A-V: 0.551 oAV: 0.481 diff: 0.070 ct: 0.000 vpc: 0.000
Segmentation fault
Let me know if further details are needed.
--
André Dahlqvist <andre.dahlqvist at telia.com>
More information about the MPlayer-users
mailing list