[MPlayer-users] [BUG] mencoder crashed when decoding large mpeg2 file

Pavel Danihelka p.danihelka at sh.cvut.cz
Sun Apr 25 11:59:43 CEST 2004


Hi all,

when I tried to encode large dumped dvb stream (mpeg2) to mpeg4, mencoder crashed
the crash occured always when 80% was done
I tried also encode other dumped dvb streams and that was ok

ocko.ps - dumped dvb stream (1.7GB)
mencoder -oac copy -ovc lavc -lavcopts vcodec=mpeg4 -o ocko.avi ocko.ps

-------------------------------------------------------------------------------
383	    if (mpeg2dec->custom_fbuf && !mpeg2dec->fbuf[1]->buf[0]){
#0  0x080e872b in mpeg2_set_buf (mpeg2dec=0x84f9070, buf=0x84db238, 
    id=0x84db218) at decode.c:383
#1  0x0809dc3f in decode (sh=0x84e18d8, data=0x1, len=139309592, flags=0)
    at vd_libmpeg2.c:147
#2  0x08099af3 in decode_video (sh_video=0x84e18d8, 
    start=0x84db218 "\003Ł\004\fYV12Đ\002", in_size=139309592, drop_frame=0)
    at dec_video.c:309
#3  0x08068dc0 in main (argc=139309592, argv=0x84db218) at mencoder.c:1291
-------------------------------------------------------------------------------

(gdb) print mpeg2dec
$1 = (mpeg2dec_t *) 0x84f9070
(gdb) print mpeg2dec->fbuf[1]
$2 = (fbuf_t *) 0x0
                ^^^
here si the BUG, null pointer

PC:             Athlon XP 2000+, 512MB RAM

MEncoder:       CVS-040424
distribution:   Debian Linux unstable
kernel:         2.4.26
libc:           2.3.2
gcc:            3.3.3 (Debian 20040401)
ld:             2.14.90.0.7 20031029
binutils:       2.14.90.0.7 20031029


Pavel
-------------- next part --------------
Using host libthread_db library "/lib/libthread_db.so.1".
Core was generated by `/usr/src/mplayer-cvs/mencoder -oac copy -ovc lavc -lavcopts vcodec=mpeg4 -o ock'.
Program terminated with signal 11, Segmentation fault.
[Thread debugging using libthread_db enabled]
#0  0x080e872b in mpeg2_set_buf (mpeg2dec=0x84f9070, buf=0x84db238, 
    id=0x84db218) at decode.c:383
383	    if (mpeg2dec->custom_fbuf && !mpeg2dec->fbuf[1]->buf[0]){
#0  0x080e872b in mpeg2_set_buf (mpeg2dec=0x84f9070, buf=0x84db238, 
    id=0x84db218) at decode.c:383
#1  0x0809dc3f in decode (sh=0x84e18d8, data=0x1, len=139309592, flags=0)
    at vd_libmpeg2.c:147
#2  0x08099af3 in decode_video (sh_video=0x84e18d8, 
    start=0x84db218 "\003Ł\004\fYV12Đ\002", in_size=139309592, drop_frame=0)
    at dec_video.c:309
#3  0x08068dc0 in main (argc=139309592, argv=0x84db218) at mencoder.c:1291
Dump of assembler code from 0x80e870b to 0x80e874b:
0x080e870b <mpeg2_set_buf+59>:	mov    (%esi),%eax
0x080e870d <mpeg2_set_buf+61>:	test   %ecx,%ecx
0x080e870f <mpeg2_set_buf+63>:	mov    %eax,(%edx)
0x080e8711 <mpeg2_set_buf+65>:	mov    0x4(%esi),%eax
0x080e8714 <mpeg2_set_buf+68>:	mov    %eax,0x4(%edx)
0x080e8717 <mpeg2_set_buf+71>:	mov    0x8(%esi),%eax
0x080e871a <mpeg2_set_buf+74>:	mov    %eax,0x8(%edx)
0x080e871d <mpeg2_set_buf+77>:	mov    0x10(%ebp),%eax
0x080e8720 <mpeg2_set_buf+80>:	mov    %eax,0xc(%edx)
0x080e8723 <mpeg2_set_buf+83>:	je     0x80e8748 <mpeg2_set_buf+120>
0x080e8725 <mpeg2_set_buf+85>:	mov    0x398(%ebx),%edx
0x080e872b <mpeg2_set_buf+91>:	mov    (%edx),%eax
0x080e872d <mpeg2_set_buf+93>:	test   %eax,%eax
0x080e872f <mpeg2_set_buf+95>:	jne    0x80e8748 <mpeg2_set_buf+120>
0x080e8731 <mpeg2_set_buf+97>:	mov    (%esi),%eax
0x080e8733 <mpeg2_set_buf+99>:	movl   $0x0,0xc(%edx)
0x080e873a <mpeg2_set_buf+106>:	mov    %eax,(%edx)
0x080e873c <mpeg2_set_buf+108>:	mov    0x4(%esi),%eax
0x080e873f <mpeg2_set_buf+111>:	mov    %eax,0x4(%edx)
0x080e8742 <mpeg2_set_buf+114>:	mov    0x8(%esi),%eax
0x080e8745 <mpeg2_set_buf+117>:	mov    %eax,0x8(%edx)
0x080e8748 <mpeg2_set_buf+120>:	mov    0xfffffff8(%ebp),%ebx
End of assembler dump.
eax            0x84db218	139309592
ecx            0x1	1
edx            0x0	0
ebx            0x84f9070	139432048
esp            0xbfffe330	0xbfffe330
ebp            0xbfffe348	0xbfffe348
esi            0x84db238	139309624
edi            0x84f9070	139432048
eip            0x80e872b	0x80e872b
eflags         0x210202	2163202
cs             0x23	35
ss             0x2b	43
ds             0x2b	43
es             0x2b	43
fs             0x2b	43
gs             0x2b	43
st0            -nan(0x8181818181818181)	(raw 0xffff8181818181818181)
st1            -nan(0x8181818181818181)	(raw 0xffff8181818181818181)
st2            -0.079999999999999999998373696741271743	(raw 0xbffba3d70a3d70a3d70a)
st3            -0.032747793494242859180243243599761627	(raw 0xbffa86228ce12ed61800)
st4            -0.032747793494242859180243243599761627	(raw 0xbffa86228ce12ed61800)
st5            2	(raw 0x40008000000000000000)
st6            -0.032747793494242859180243243599761627	(raw 0xbffa86228ce12ed61800)
st7            0.079999999999999999998373696741271743	(raw 0x3ffba3d70a3d70a3d70a)
fctrl          0x37f	895
fstat          0x0	0
ftag           0x0	0
fiseg          0x0	0
fioff          0x0	0
foseg          0x1fa0	8096
fooff          0x0	0
fop            0x0	0
xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm1           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm2           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm3           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm4           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm5           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm6           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
xmm7           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, 
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, 
  uint128 = 0x00000000000000000000000000000000}
mxcsr          0x0	0
mm0            {uint64 = 0x8181818181818181, v2_int32 = {0x81818181, 
    0x81818181}, v4_int16 = {0x8181, 0x8181, 0x8181, 0x8181}, v8_int8 = {0x81, 
    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81}}
mm1            {uint64 = 0x8181818181818181, v2_int32 = {0x81818181, 
    0x81818181}, v4_int16 = {0x8181, 0x8181, 0x8181, 0x8181}, v8_int8 = {0x81, 
    0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81}}
mm2            {uint64 = 0xa3d70a3d70a3d70a, v2_int32 = {0x70a3d70a, 
    0xa3d70a3d}, v4_int16 = {0xd70a, 0x70a3, 0xa3d, 0xa3d7}, v8_int8 = {0xa, 
    0xd7, 0xa3, 0x70, 0x3d, 0xa, 0xd7, 0xa3}}
mm3            {uint64 = 0x86228ce12ed61800, v2_int32 = {0x2ed61800, 
    0x86228ce1}, v4_int16 = {0x1800, 0x2ed6, 0x8ce1, 0x8622}, v8_int8 = {0x0, 
    0x18, 0xd6, 0x2e, 0xe1, 0x8c, 0x22, 0x86}}
mm4            {uint64 = 0x86228ce12ed61800, v2_int32 = {0x2ed61800, 
    0x86228ce1}, v4_int16 = {0x1800, 0x2ed6, 0x8ce1, 0x8622}, v8_int8 = {0x0, 
    0x18, 0xd6, 0x2e, 0xe1, 0x8c, 0x22, 0x86}}
mm5            {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000}, 
  v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x80}}
mm6            {uint64 = 0x86228ce12ed61800, v2_int32 = {0x2ed61800, 
    0x86228ce1}, v4_int16 = {0x1800, 0x2ed6, 0x8ce1, 0x8622}, v8_int8 = {0x0, 
    0x18, 0xd6, 0x2e, 0xe1, 0x8c, 0x22, 0x86}}
mm7            {uint64 = 0xa3d70a3d70a3d70a, v2_int32 = {0x70a3d70a, 
    0xa3d70a3d}, v4_int16 = {0xd70a, 0x70a3, 0xa3d, 0xa3d7}, v8_int8 = {0xa, 
    0xd7, 0xa3, 0x70, 0x3d, 0xa, 0xd7, 0xa3}}


More information about the MPlayer-users mailing list