Richard Urwin wrote:

On Sunday 04 Jan 2004 5:10 pm, John Richard Smith wrote:


First off this is the instruction as per source code debug readme:-
B.4.6.1 How to conserve information about a reproducible crash
Recompile MPlayer with debugging code enabled:
./configure --enable-debug=3
make
and then run MPlayer within gdb using:
gdb ./mplayer
You are now within gdb. Type:

run -v [options-to-mplayer] filename
and reproduce your crash. As soon as you did it, gdb will return
you to the command line prompt where you have to enter

bt
disass $pc-32 $pc+32
info all-registers

...
[EMAIL PROTECTED] MPlayer-20030901]#make 2> /root/Desktop/el2
meplayer/mencoder make scripts are just too long to reproduce here.
then,

[EMAIL PROTECTED] MPlayer-20030901]# gdb ./mplayer
(gdb)

I'm now a bit lost what do I do next ?



All fine so far.
You probably want to be running mencoder, rather than mplayer, but apart from that you're doing OK.


So.

$ gdb ./mencoder
(gdb) run -v [options to mencoder]

and reproduce the crash.

Then give the following commands:
backtrace
disass $pc-32 $pc+32
info all-registers
info threads


OK Richard , looks like we have a result, here is the whole thing,

[EMAIL PROTECTED] root]# cd /root/Desktop/MPlayer-20030901

[EMAIL PROTECTED] MPlayer-20030901]# gdb ./mencoder
GNU gdb 5.3-22mdk (Mandrake Linux)
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 "i586-mandrake-linux-gnu"...
(gdb)


(gdb) run -v dvd://1 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=1024
-oac mp3lame -lameopts br=96:cbr -alang en -idx -o toystory1.avi
and reproduce the crash.


<big snip to beginning, falls of the retained element anyway>
Pos: 22.4s 540f ( 0%) 10fps Trem: 229min 644mb A-V:0.028 [857:95]
A/Vms 14
Pos: 22.4s 541f ( 0%) 10fps Trem: 230min 645mb A-V:0.027 [857:96]
A/Vms 14
Pos: 22.4s 542f ( 0%) 10fps Trem: 229min 645mb A-V:0.026 [858:95]
A/Vms 14
Pos: 22.5s 543f ( 0%) 10fps Trem: 230min 647mb A-V:0.024 [857:96]
A/Vms 14
Pos: 22.5s 544f ( 0%) 10fps Trem: 229min 644mb A-V:0.025 [858:95]
A/Vms 14
Pos: 22.6s 545f ( 0%) 10fps Trem: 229min 644mb A-V:0.023 [858:96]
A/Vms 14
Pos: 22.6s 546f ( 0%) 10fps Trem: 229min 645mb A-V:0.022 [858:95]
A/Vms 14
Pos: 22.7s 547f ( 0%) 10fps Trem: 229min 644mb A-V:0.024 [858:96]
A/Vms 14
Pos: 22.7s 548f ( 0%) 10fps Trem: 229min 644mb A-V:0.023 [858:95]
A/Vms 14
Pos: 22.7s 549f ( 0%) 10fps Trem: 229min 644mb A-V:0.026 [859:96]
A/Vms 14
Pos: 22.8s 550f ( 0%) 10fps Trem: 229min 645mb A-V:0.026 [859:96]
A/Vms 14
Pos: 22.8s 551f ( 0%) 10fps Trem: 229min 644mb A-V:0.026 [859:95]
A/Vms 14
Pos: 22.9s 552f ( 0%) 10fps Trem: 230min 645mb A-V:0.025 [860:96]
A/Vms 14
Pos: 22.9s 553f ( 0%) 10fps Trem: 229min 645mb A-V:0.026 [860:95]
A/Vms 14
Pos: 22.9s 554f ( 0%) 10fps Trem: 229min 646mb A-V:0.027 [861:96]
A/Vms 14
Pos: 23.0s 555f ( 0%) 10fps Trem: 230min 647mb A-V:0.025 [861:96]
A/Vms 14
Pos: 23.0s 556f ( 0%) 10fps Trem: 229min 646mb A-V:0.028 [862:96]
A/Vms 14
Pos: 23.1s 557f ( 0%) 10fps Trem: 229min 645mb A-V:0.027 [863:95]
A/Vms 14
Pos: 23.1s 558f ( 0%) 10fps Trem: 229min 645mb A-V:0.026 [864:95]
A/Vms 14
Pos: 23.2s 559f ( 0%) 10fps Trem: 229min 647mb A-V:0.026 [864:96]
A/Vms 14
Pos: 23.2s 560f ( 0%) 10fps Trem: 229min 646mb A-V:0.027 [865:95]
A/Vms 14
Pos: 23.2s 561f ( 0%) 10fps Trem: 229min 646mb A-V:0.025 [866:96]
A/Vms 14
Pos: 23.3s 562f ( 0%) 10fps Trem: 229min 648mb A-V:0.024 [867:95]
A/Vms 14
Pos: 23.3s 563f ( 0%) 10fps Trem: 229min 648mb A-V:0.026 [867:95]
A/Vms 14
Pos: 23.4s 564f ( 0%) 10fps Trem: 229min 647mb A-V:0.025 [868:95]
A/Vms 14
--- END OF CELL !!! ---%) 15fps Trem: 143min 620mb A-V:0.022 [841:96]
A/Vms 7/48 D/B/S 531/1/0
dvd_next_cell: next1=0x1
dvd_next_cell: next2=0x3
dvd_next_cell: next3=0x4
DVD next cell: 4 pack: 0x2D6EA-0x3009E
--- END OF CELL !!! ---%) 16fps Trem: 58min 285mb A-V:0.017 [819:95]
A/Vms 6/45 D/B/S 1335/1/0
dvd_next_cell: next1=0x4
dvd_next_cell: next2=0x6
dvd_next_cell: next3=0x7
DVD next cell: 7 pack: 0x30933-0x3DD47
--- END OF CELL !!! ---%) 17fps Trem: 67min 357mb A-V:-0.025 [824:96]
A/Vms 6/44 D/B/S 2140/1/0
dvd_next_cell: next1=0x7
dvd_next_cell: next2=0x7
dvd_next_cell: next3=0x8
DVD next cell: 8 pack: 0x3DD48-0x4E8C1
--- END OF CELL !!! ---%) 18fps Trem: 72min 412mb A-V:-0.010 [823:95]
A/Vms 5/42 D/B/S 3148/1/0


<snip>
DVD next cell: 51 pack: 0x1CF989-0x1D9F58
--- END OF CELL !!! ---%) 19fps Trem: 16min 562mb A-V:-0.038 [819:95]
A/Vms 4/40 D/B/S 26107/1/0
dvd_next_cell: next1=0x33
dvd_next_cell: next2=0x33
dvd_next_cell: next3=0x34
DVD next cell: 52 pack: 0x1D9F59-0x1E9098
--- END OF CELL !!! ---%) 19fps Trem: 13min 564mb A-V:-0.033 [819:95]
A/Vms 4/40 D/B/S 27003/1/0
dvd_next_cell: next1=0x34
dvd_next_cell: next2=0x34
dvd_next_cell: next3=0x35
DVD next cell: 53 pack: 0x1E9099-0x1F0FE7
--- END OF CELL !!! ---%) 19fps Trem: 11min 565mb A-V:-0.037 [819:96]
A/Vms 4/40 D/B/S 27537/1/0
dvd_next_cell: next1=0x35
dvd_next_cell: next2=0x35
dvd_next_cell: next3=0x36
DVD next cell: 54 pack: 0x1F0FE8-0x22AD55
--- END OF CELL !!! ---%) 19fps Trem: 0min 529mb A-V:0.000 [819:95]
A/Vms 4/40 D/B/S 28797/1/0
dvd_next_cell: next1=0x36
dvd_next_cell: next2=0x38
dvd_next_cell: next3=0x39
DVD next cell: 57 pack: 0x22B231-0x22E010
--- END OF CELL !!! ---%) 19fps Trem: 0min 529mb A-V:-0.013 [817:96]
A/Vms 4/40 D/B/S 28983/1/0
dvd_next_cell: next1=0x39
dvd_next_cell: next2=0x39
dvd_next_cell: next3=0x3A
DVD next cell: 58 pack: 0x22E011-0x22E015
--- END OF CELL !!! ---
dvd_next_cell: next1=0x3A
dvd_next_cell: next2=0x3A
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.014
[817:96] A/Vms 4/40 D/B/S 28983/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.017
[817:95] A/Vms 4/40 D/B/S 28983/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.021
[817:96] A/Vms 4/40 D/B/S 28983/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.025
[817:95] A/Vms 4/40 D/B/S 28984/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.029
[817:95] A/Vms 4/40 D/B/S 28984/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.034
[817:96] A/Vms 4/40 D/B/S 28984/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.038
[817:95] A/Vms 4/40 D/B/S 28984/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.042
[817:96] A/Vms 4/40 D/B/S 28985/1/0
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF0%) 19fps Trem: 0min 529mb A-V:-0.046
[817:96] A/Vms 4/40 D/B/S 28985/1/0
ds_fill_buffer: EOF reached (stream: audio)
VDec: vo config request - 720 x 480 (preferred csp: Planar YV12)
Trying filter chain: expand lavc
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO Config (720x480->854x480,flags=0,'MPlayer',0x32315659)
REQ: flags=0x401 req=0x0
videocodec: libavcodec (720x480 fourcc=58564944 [DIVX])
High quality encoding selected (non real time)!
get_buffer() failed (0 -115967 0 0x40d5df30)


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 20667)]
encode_picture (s=0x8547180, picture_number=0) at mpegvideo.c:3407
3407                        s->current_picture.mb_var [s->mb_stride *
mb_y + mb_x] = varc;
(gdb)
YES, Of course, no core dump, no need after all that is what we are
doing here, recreating the fault but with a programme to keep more
information about the nature of the fault.And to confirm this I can
report that a <filmname>.avi file now exists inside mplayer directory
sources, and that file is faulted, in that, gmplayer has to build an
index before it can play the file.
So far so good, now the next step,

Then give the following commands:
backtrace
disass $pc-32 $pc+32
info all-registers
info threads

(gdb) backtrace
#0 encode_picture (s=0x8547180, picture_number=0) at mpegvideo.c:3407
#1 0x081a0c5d in MPV_encode_picture (avctx=0x843f5d0,
buf=0x101 <Address 0x101 out of bounds>, buf_size=257, data=0x101)
at mpegvideo.c:1604
#2 0x0819c50a in avcodec_encode_video (avctx=0x843f5d0,
buf=0x101 <Address 0x101 out of bounds>, buf_size=257, pict=0x101)
at utils.c:340
#3 0x0808b440 in put_image (vf=0x8429090, mpi=0x0) at ve_lavc.c:561
#4 0x0809f699 in vf_next_put_image (vf=0x101, mpi=0x101) at vf.c:498
#5 0x08094ae1 in decode_video (sh_video=0x8423a50,
start=0x101 <Address 0x101 out of bounds>, in_size=257, drop_frame=0)
at dec_video.c:327
#6 0x08065bbf in main (argc=257, argv=0x101) at mencoder.c:1081
#7 0x402257f7 in __libc_start_main () from /lib/i686/libc.so.6
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x81a50ea to 0x81a512a:
0x81a50ea <encode_picture+8074>: out %al,(%dx)
0x81a50eb <encode_picture+8075>: add $0xfe,%cl
0x81a50ee <encode_picture+8078>: or %cl,0x8eac1f3(%ecx)
0x81a50f4 <encode_picture+8084>: add 0xfffe6468(%ebp),%ecx
0x81a50fa <encode_picture+8090>: sub %edx,%eax
0x81a50fc <encode_picture+8092>: mov 0x1258(%edi),%edx
0x81a5102 <encode_picture+8098>: add $0x274,%eax
0x81a5107 <encode_picture+8103>: shr $0x8,%eax
0x81a510a <encode_picture+8106>: mov %ax,(%edx,%ecx,2)
0x81a510e <encode_picture+8110>: mov 0x1260(%edi),%edx
0x81a5114 <encode_picture+8116>: mov %bl,(%ecx,%edx,1)
0x81a5117 <encode_picture+8119>: incl 0xfffe6468(%ebp)
0x81a511d <encode_picture+8125>: add %eax,0x1250(%edi)
0x81a5123 <encode_picture+8131>: mov 0x9c(%edi),%eax
0x81a5129 <encode_picture+8137>: cmp %eax,0xfffe6468(%ebp)
End of assembler dump.
(gdb) info all-registers
eax 0x101 257
ecx 0x0 0
edx 0x0 0
ebx 0x1 1
esp 0xbffe4440 0xbffe4440
ebp 0xbfffe068 0xbfffe068
esi 0x1 1
edi 0x8547180 139751808
eip 0x81a510a 0x81a510a
eflags 0x210212 2163218
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x0 0
gs 0x7 7
st0 -0e+4922 (raw 0xffff0000000000000000)
st1 -nan(0x800000010000) (raw 0xffff0000800000010000)
st2 -nan(0x40000000400) (raw 0xffff0000040000000400)
st3 -nan(0x20000000200) (raw 0xffff0000020000000200)
st4 -nan(0x40000000400) (raw 0xffff0000040000000400)
st5 -nan(0x40004000800080) (raw 0xffff0040004000800080)
st6 -nan(0x40008000c00100) (raw 0xffff0040008000c00100)
st7 -nan(0x000008000) (raw 0xffff0000000000008000)
fctrl 0x37f 895
fstat 0x420 1056
ftag 0xaaaa 43690
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
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 = {
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 = {
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 = 0x800000010000, v2_int32 = {0x10000, 0x8000},
v4_int16 = {0x0, 0x1, 0x8000, 0x0}, v8_int8 = {0x0, 0x0, 0x1, 0x0, 0x0,
0x80, 0x0, 0x0}}
mm2 {uint64 = 0x40000000400, v2_int32 = {0x400, 0x400},
v4_int16 = {
0x400, 0x0, 0x400, 0x0}, v8_int8 = {0x0, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0,
0x0}}
mm3 {uint64 = 0x20000000200, v2_int32 = {0x200, 0x200},
v4_int16 = {
0x200, 0x0, 0x200, 0x0}, v8_int8 = {0x0, 0x2, 0x0, 0x0, 0x0, 0x2, 0x0,
0x0}}
mm4 {uint64 = 0x40000000400, v2_int32 = {0x400, 0x400},
v4_int16 = {
0x400, 0x0, 0x400, 0x0}, v8_int8 = {0x0, 0x4, 0x0, 0x0, 0x0, 0x4, 0x0,
0x0}}
mm5 {uint64 = 0x40004000800080, v2_int32 = {0x800080, 0x400040},
v4_int16 = {0x80, 0x80, 0x40, 0x40}, v8_int8 = {0x80, 0x0, 0x80, 0x0,
0x40,
0x0, 0x40, 0x0}}
mm6 {uint64 = 0x40008000c00100, v2_int32 = {0xc00100, 0x400080},
v4_int16 = {0x100, 0xc0, 0x80, 0x40}, v8_int8 = {0x0, 0x1, 0xc0, 0x0,
0x80,
0x0, 0x40, 0x0}}
mm7 {uint64 = 0x8000, v2_int32 = {0x8000, 0x0}, v4_int16 =
{0x8000,
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(gdb)




That's it in full,means nothing to me at this time, but I guess it's
helpful to someone who understands it.

Now there is still the core dump address route to explore ?

John



--
John Richard Smith
[EMAIL PROTECTED]




Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to