[MPlayer-users] Bug Report: mencoder seg fault on audio only encoding
Landon McDowell
mplayer at planet-max.com
Fri Jan 17 14:50:25 CET 2003
I have been trying to fix this issue, but my pitiful efforts just keep
unraveling.
The Man page says mencoder can create MP3's, but looking at the code it
seems like it can only create AVI and MPEG files.
Is this correct?
Thanks,
Landon McDowell
On Mon, 2003-01-13 at 21:00, Landon McDowell wrote:
> [Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
>
> I am trying to encode/copy audio only files and streams using mencoder.
> I have tried all of the following actions:
>
>
> mp3 file -> copy -> mp3 file
> mp3 network stream -> copy -> mp3 file
> real file -> mp3lame -> mp3 file
> real network stream -> mp3lame -> mp3 file
> windows media network stream -> mp3lame -> mp3 file
> real file -> copy -> real file
>
> All of the actions using mencoder result in a segmentation fault.I have
> experienced this issue with both Debian Linux and FreeBSD.
>
> The following are captures I have made on the two platforms. The
> captures consist of system info and gdb output. I could not get
> MPlayer-current from CVS compiled on FreeBSD, so I do not have debugging
> symbols from that crash, or a recent version for that matter, but the
> crashes appear to be happening in the same place on both systems.
>
> I apologize if this is a know issue.
>
> --------------------------------
> problem: mencoder generates a segmentaion fault when
> encoding/copying mp3,real files and mp3,win32,real
> network streams.
>
> mencoder version: CVS-030113-00:00-3.2.2
>
> Distro: Debian 3 (Sid/Sarge)
>
> Kernel (Linux): linux-2.4.20
>
> libc: libc-2.3.1
>
> X: 4.2.1.1
>
> gcc: 3.2.2
>
> ld: GNU ld version 2.13.90.0.16
>
> as: GNU assembler 2.13.90.0.16
>
> sample commands:
> mencoder -oac copy -v ./sample.mp3 -o sample2.mp3
> mencoder rtsp://audio.npr.org/news/news2a.smil -oac mp3lame -o npr.mp3
>
> GBD Output:
>
> lmcdowel at vercingetorix:~/MPlayer-20030113$ gdb ./mencoder
> GNU gdb 5.3-debian
> Copyright 2002 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for
> details.
> This GDB was configured as "i386-linux"...
> (gdb) run -v -oac copy ../art.mp3
> Starting program: /home/lmcdowel/MPlayer-20030113/mencoder -v -oac copy
> ../art.mp3[New Thread 16384 (LWP 14007)]
> Using GNU internationalization
> Original domain: messages
> Original dirname: /usr/share/locale
> Current domain: mplayer
> Current dirname: /usr/local/share/locale
>
>
> MEncoder CVS-030113-00:00-3.2.2 (C) 2000-2003 Arpad Gereoffy (see DOCS)
>
> CPU: Intel (Family: 8, Stepping: 7)
> Detected cache-line size is 64 bytes
> CPUflags: Type: 8 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
> Reading /home/lmcdowel/.mplayer/codecs.conf: 49 audio & 123 video codecs
> File not found: 'frameno.avi'
> Reading config file /home/lmcdowel/.mplayer/mencoder
> init_freetype
> Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
> Not an URL!
> File size is 43453090 bytes
> success: format: 0 data: 0x0 - 0x2970AA2
> Checking for YUV4MPEG2
> DEMUXER: freeing demuxer at 0x828b600
> ASF_check: not ASF guid!
> DEMUXER: freeing demuxer at 0x828b600
> Checking for NuppelVideo
> DEMUXER: freeing demuxer at 0x828b600
> Checking for MOV
> DEMUXER: freeing demuxer at 0x828b600
> Checking for VIVO
> header block 1 size: 67
> DEMUXER: freeing demuxer at 0x828b600
> Checking for REAL
> DEMUXER: freeing demuxer at 0x828b600
> DEMUXER: freeing demuxer at 0x828b600
> DEMUXER: freeing demuxer at 0x828b600
> DEMUXER: freeing demuxer at 0x828b600
> DEMUXER: freeing demuxer at 0x828b600
> Checking for SMJPEG
> DEMUXER: freeing demuxer at 0x828b600
> Checking for PVA
> DEMUXER: freeing demuxer at 0x828bfa0
> sync_mpeg_ps: seems to be MP3 stream...
> MPEG Stream reached EOF
> ds_fill_buffer: EOF reached (stream: video)
> MPEG packet stats: p100: 1 p101: 0 PES: 0 MP3: 194
> Not MPEG System Stream format... (maybe Transport Stream?)
> DEMUXER: freeing demuxer at 0x828bfa0
> ==> Found audio stream: 0
> demux_audio: audio data 0x186 - 0x0
> Audio file detected.
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 16384 (LWP 14007)]
> video_read_properties (sh_video=0x0) at video.c:31
> 31 demux_stream_t *d_video=sh_video->ds;
> (gdb) bt
> #0 video_read_properties (sh_video=0x0) at video.c:31
> #1 0x08075c14 in main (argc=0, argv=0x0) at mencoder.c:
> (gdb) disass $pc-32 $pc+32
> Dump of assembler code from 0x80ffb2e to 0x80ffb6e:
> 0x80ffb2e <mp_get_mp3_header+382>: add %bh,0x1(%eax)
> 0x80ffb34 <mp_get_mp3_header+388>:
> jmp 0x80ffa53 <mp_get_mp3_header+163>
> 0x80ffb39 <mp_get_mp3_header+393>: nop
> 0x80ffb3a <mp_get_mp3_header+394>: nop
> 0x80ffb3b <mp_get_mp3_header+395>: nop
> 0x80ffb3c <video_read_properties>: push %ebp
> 0x80ffb3d <video_read_properties+1>: mov %esp,%ebp
> 0x80ffb3f <video_read_properties+3>: sub $0x48,%esp
> 0x80ffb42 <video_read_properties+6>: mov 0x8(%ebp),%eax
> 0x80ffb45 <video_read_properties+9>: mov %ebx,0xfffffff4(%ebp)
> 0x80ffb48 <video_read_properties+12>: mov %esi,0xfffffff8(%ebp)
> 0x80ffb4b <video_read_properties+15>: mov %edi,0xfffffffc(%ebp)
> 0x80ffb4e <video_read_properties+18>: mov (%eax),%edi
> 0x80ffb50 <video_read_properties+20>: mov 0x48(%edi),%ecx
> 0x80ffb53 <video_read_properties+23>: mov 0x24(%ecx),%eax
> 0x80ffb56 <video_read_properties+26>: cmp $0x17,%eax
> 0x80ffb59 <video_read_properties+29>:
> ja 0x80ffbbf <video_read_properties+131>
> 0x80ffb5b <video_read_properties+31>: jmp *0x81a6360(,%eax,4)
> 0x80ffb62 <video_read_properties+38>: mov 0x8(%ebp),%esi
> 0x80ffb65 <video_read_properties+41>: mov 0x7c(%esi),%edx
> ---Type <return> to continue, or q <return> to quit---
> 0x80ffb68 <video_read_properties+44>: mov 0x10(%edx),%ebx
> 0x80ffb6b <video_read_properties+47>: mov %ebx,0x8(%esi)
> End of assembler dump.
> (gdb) info all-registers
> eax 0x0 0
> ecx 0x0 0
> edx 0x828c940 136890688
> ebx 0x827d990 136829328
> esp 0xbfffe580 0xbfffe580
> ebp 0xbfffe5c8 0xbfffe5c8
> esi 0x828c808 136890376
> edi 0x828c870 136890480
> eip 0x80ffb4e 0x80ffb4e
> eflags 0x10282 66178
> cs 0x23 35
> ss 0x2b 43
> ds 0x2b 43
> es 0x2b 43
> fs 0x0 0
> gs 0x0 0
> st0 0 (raw 0x00000000000000000000)
> st1 0 (raw 0x00000000000000000000)
> st2 0 (raw 0x00000000000000000000)
> st3 0 (raw 0x00000000000000000000)
> st4 0 (raw 0x00000000000000000000)
> st5 0 (raw 0x00000000000000000000)
> st6 0 (raw 0x00000000000000000000)
> ---Type <return> to continue, or q <return> to quit---
> st7 0 (raw 0x00000000000000000000)
> fctrl 0x37f 895
> fstat 0x0 0
> ftag 0xffff 65535
> fiseg 0x23 35
> fioff 0x80758b8 134699192
> foseg 0x2b 43
> fooff 0xbfffe690 -1073748336
> fop 0x0 0
> xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> ---Type <return> to continue, or q <return> to quit---
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> ---Type <return> to continue, or q <return> to quit---
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
> 0x8000000000000000, 0x8000000000000000}, v16_int8 = {
> 0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff,
> 0xffff,
> 0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
> 0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
> 0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
> mxcsr 0x1f80 8064
> orig_eax 0xffffffff -1
> mm0 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> mm3 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> ---Type <return> to continue, or q <return> to quit---
> mm5 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> mm6 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
> mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0,
> 0x0,
> 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
>
> ---------------------------------------
>
> problem: mencoder generates a segmentaion fault when
> copying mp3 files
>
> Distro: FreeBSD 4.6-STABLE
> Kernel: FreeBSD 4.6-STABLE
>
> mencoder version: MEncoder 0.90pre8-2.95.4
>
> X: 4.1.0
>
> gcc: 2.95.4
>
> ld: GNU ld version 2.11.2
>
> as: GNU assembler version 2.11.2
>
> sample command:
> mencoder stuff.mp3 -oac copy -o stuff-rep.mp3
>
> GBD Output:
>
> lmcdowel at nomad:~$ gdb mencoder
> GNU gdb 4.18 (FreeBSD)
> Copyright 1998 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License, and you
> are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for
> details.
> This GDB was configured as "i386-unknown-freebsd"...
> (no debugging symbols found)...
> (gdb) run -v art.mp3 -oac copy -o stuff.mp3
> Starting program: /usr/local/bin/mencoder -v art.mp3 -oac copy -o
> stuff.mp3
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
> (no debugging symbols found)...(no debugging symbols found)...
>
>
> MEncoder 0.90pre8-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)
>
> CPU: Intel Celeron 2/Pentium III Coppermine,Geyserville (Family: 6,
> Stepping: 3)
> CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
> Reading /home/lmcdowel/.mplayer/codecs.conf: 38 audio & 106 video codecs
> File not found: 'frameno.avi'
> get_path('font/font.desc') -> '/home/lmcdowel/.mplayer/font/font.desc'
> font: can't open file: /home/lmcdowel/.mplayer/font/font.desc
> font: can't open file: /usr/local/share/mplayer/font/font.desc
> Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
> Not an URL!
> File size is 43455905 bytes
> success: format: 0 data: 0x0 - 0x29715A1
> Checking for YUV4MPEG2
> DEMUXER: freeing demuxer at 0x8334000
> ASF_check: not ASF guid!
> DEMUXER: freeing demuxer at 0x8334000
> Checking for NuppelVideo
> DEMUXER: freeing demuxer at 0x8334000
> Checking for MOV
> DEMUXER: freeing demuxer at 0x8334000
> Checking for VIVO
> header block 1 size: 67
> DEMUXER: freeing demuxer at 0x8334000
> Checking for REAL
> DEMUXER: freeing demuxer at 0x8334000
> DEMUXER: freeing demuxer at 0x8334000
> DEMUXER: freeing demuxer at 0x8334000
> DEMUXER: freeing demuxer at 0x8334000
> DEMUXER: freeing demuxer at 0x8334000
> Checking for SMJPEG
> DEMUXER: freeing demuxer at 0x8334000
> Checking for PVA
> DEMUXER: freeing demuxer at 0x8336000
> sync_mpeg_ps: seems to be MP3 stream...
> MPEG Stream reached EOF
> ds_fill_buffer: EOF reached (stream: video)
> MPEG packet stats: p100: 0 p101: 0 PES: 1 MP3: 1061
> Not MPEG System Stream format... (maybe Transport Stream?)
> DEMUXER: freeing demuxer at 0x8336000
> ==> Found audio stream: 0
> demux_audio: audio data 0x17F - 0x0
> Detected audio file!
> (no debugging symbols found)...(no debugging symbols found)...
> Program received signal SIGSEGV, Segmentation fault.
> 0x8119f10 in video_read_properties ()
> (gdb) bt
> #0 0x8119f10 in video_read_properties ()
> #1 0x805c622 in main ()
> #2 0x805bd5d in _start ()
> (gdb) disass $pc-32 $pc+32
> Dump of assembler code from 0x8119ef0 to 0x8119f30:
> 0x8119ef0 <mp_get_mp3_header+348>: cld
> 0x8119ef1 <mp_get_mp3_header+349>: mov 0xc(%ebp),%ecx
> 0x8119ef4 <mp_get_mp3_header+352>: mov %eax,(%ecx)
> 0x8119ef6 <mp_get_mp3_header+354>: mov 0xfffffff8(%ebp),%eax
> 0x8119ef9 <mp_get_mp3_header+357>: lea 0xffffffd8(%ebp),%esp
> 0x8119efc <mp_get_mp3_header+360>: pop %ebx
> 0x8119efd <mp_get_mp3_header+361>: pop %esi
> 0x8119efe <mp_get_mp3_header+362>: pop %edi
> 0x8119eff <mp_get_mp3_header+363>: leave
> 0x8119f00 <mp_get_mp3_header+364>: ret
> 0x8119f01 <mp_get_mp3_header+365>: lea 0x0(%esi),%esi
> 0x8119f04 <video_read_properties>: push %ebp
> 0x8119f05 <video_read_properties+1>: mov %esp,%ebp
> 0x8119f07 <video_read_properties+3>: sub $0x1c,%esp
> 0x8119f0a <video_read_properties+6>: push %edi
> 0x8119f0b <video_read_properties+7>: push %esi
> 0x8119f0c <video_read_properties+8>: push %ebx
> 0x8119f0d <video_read_properties+9>: mov 0x8(%ebp),%eax
> 0x8119f10 <video_read_properties+12>: mov (%eax),%edi
> 0x8119f12 <video_read_properties+14>: mov 0x4c(%edi),%eax
> 0x8119f15 <video_read_properties+17>: mov 0x24(%eax),%eax
> 0x8119f18 <video_read_properties+20>: dec %eax
> ---Type <return> to continue, or q <return> to quit---
> 0x8119f19 <video_read_properties+21>: cmp $0x16,%eax
> 0x8119f1c <video_read_properties+24>:
> ja 0x811a294 <video_read_properties+912>
> 0x8119f22 <video_read_properties+30>: jmp *0x81a0b40(,%eax,4)
> 0x8119f29 <video_read_properties+37>: lea 0x0(%esi),%esi
> 0x8119f2c <video_read_properties+40>: mov 0x8(%ebp),%edx
> 0x8119f2f <video_read_properties+43>: mov 0x74(%edx),%eax
> End of assembler dump.
>
> (gdb) info all-registers
> eax 0x0 0
> ecx 0x831f680 137492096
> edx 0x8336000 137584640
> ebx 0x831f700 137492224
> esp 0xbfbfe74c 0xbfbfe74c
> ebp 0xbfbfe774 0xbfbfe774
> esi 0x831f780 137492352
> edi 0x8337000 137588736
> eip 0x8119f10 0x8119f10
> eflags 0x210292 2163346
> cs 0x1f 31
> ss 0x2f 47
> ds 0x2f 47
> es 0x2f 47
> fs 0x2f 47
> gs 0x2f 47
> (gdb)
> eax 0x0 0
> ecx 0x831f680 137492096
> edx 0x8336000 137584640
> ebx 0x831f700 137492224
> esp 0xbfbfe74c 0xbfbfe74c
> ebp 0xbfbfe774 0xbfbfe774
> esi 0x831f780 137492352
> edi 0x8337000 137588736
> eip 0x8119f10 0x8119f10
> eflags 0x210292 2163346
> cs 0x1f 31
> ss 0x2f 47
> ds 0x2f 47
> es 0x2f 47
> fs 0x2f 47
> gs 0x2f 47
>
>
> _______________________________________________
> RTFM!!! http://www.MPlayerHQ.hu/DOCS
> Search: http://www.MPlayerHQ.hu/cgi-bin/htsearch
> http://mplayerhq.hu/mailman/listinfo/mplayer-users
More information about the MPlayer-users
mailing list