#12 closed defect (wontfix)
GUI mplayer crashes when popping up the menu
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Component: | ao |
Version: | HEAD | Severity: | major |
Keywords: | Cc: | reimar | |
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
When playing a video (whose type doesn't matter in my experience) from the
command line (ex: gmplayer video.mpg), and right-clicking on the video window to
pop up the menu, mplayer instantly and completely crashes, even the signal
handler is skipped, no DPMS resetting, console messed up, etc. (note: when
starting the mplayer without a file, and later opening it from the very same
menu, everything is fine!)
details on my setup:
debian sarge/unstable
uname -a
Linux 2.4.25 #1 Thu Mar 4 13:11:12 CET 2004 i686 GNU/Linux
glibc Version: 2.3.2.ds1-13
gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.4/specs
Configured with: ../src/configure -v
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib
--enable-nls --without-included-gettext --enable-cxa_atexit
--enable-clocale=gnu --enable-debug --enable-java-gc=boehm
--enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.4 (Debian)
ld -v
GNU ld version 2.14.90.0.7 20031029 Debian GNU/Linux
as --version
GNU assembler 2.14.90.0.7 20031029 Debian GNU/Linux
gtk+1.2 Version: 1.2.10-16
glib1.2 Version: 1.2.10-9
libpng12 Version: 1.2.5.0-6
nvidia video driver 1.0.5336-6
here's the backtrace:
#0 *GI_pthread_mutex_lock (mutex=0x0) at mutex.c:102
#1 0x404c132e in g_mem_chunk_new (name=0x404d02c0 "Ðdw@<X\a\b", atom_size=84,
area_size=1078788780, type=2) at gmem.c:512
#2 0x4043e4a8 in gtk_type_set_chunk_alloc (type=41237, n_chunks=16)
at gtktypeutils.c:159
#3 0x403ee4b8 in gtk_menu_item_get_type () at gtkmenuitem.c:104
#4 0x403ee648 in gtk_menu_item_new () at gtkmenuitem.c:184
#5 0x403ee672 in gtk_menu_item_new_with_label (
label=0x8395ba3 "About MPlayer ") at gtkmenuitem.c:193
#6 0x080cfc3e in AddMenuItem (Menu=0x404d02c0, label=0x404d02c0 "Ðdw@<X\a\b",
Number=1078788800) at mplayer/gtk/menu.c:46
#7 0x080cfdda in create_PopUpMenu () at mplayer/gtk/menu.c:295
#8 0x080cbea0 in gtkShow (type=1078788800, param=0x0) at mplayer/widgets.c:219
#9 0x080e1325 in wsEvents (display=0x8575fe8, Event=0xbfffd4d0, arg=0x0)
at wm/ws.c:695
#10 0x080c6836 in guiGetEvent (type=1078788800, arg=0xbfffd4d0 "\004")
at interface.c:517
#11 0x0809df03 in vo_x11_check_events (mydisplay=0x8575fe8)
at x11_common.c:1013
#12 0x080a32e9 in check_events () at vo_xv.c:524
#13 0x0807c958 in main (argc=2, argv=0xbffff9a4) at mplayer.c:2271
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x40220b02 to 0x40220b42:
0x40220b02 <*GI_pthread_mutex_trylock+178>: add $0x31,%al
0x40220b04 <*GI_pthread_mutex_trylock+180>: shr $0x6e,%cl
0x40220b07 <*GI_pthread_mutex_trylock+183>: (bad)
0x40220b08 <*GI_pthread_mutex_trylock+184>: (bad)
0x40220b09 <*GI_pthread_mutex_trylock+185>: decl 0xb6(%ebp)
0x40220b0f <pthread_mutex_trylock+191>: add %dl,0xffffff89(%ebp)
0x40220b12 <*GI_pthread_mutex_lock+2>: in $0x83,%eax
0x40220b14 <*GI_pthread_mutex_lock+4>: in (%dx),%al
0x40220b15 <*GI_pthread_mutex_lock+5>: sbb %cl,0x7d8bfc7d(%ecx)
0x40220b1b <*GI_pthread_mutex_lock+11>: or %cl,0x7589f45d(%ecx)
0x40220b21 <*GI_pthread_mutex_lock+17>: clc
0x40220b22 <*GI_pthread_mutex_lock+18>: mov 0xc(%edi),%eax
0x40220b25 <*GI_pthread_mutex_lock+21>: call 0x4021e2c0
<i686.get_pc_thunk.bx>
0x40220b2a <*GI_pthread_mutex_lock+26>: add $0x734a,%ebx
0x40220b30 <*GI_pthread_mutex_lock+32>: cmp $0x1,%eax
0x40220b33 <*GI_pthread_mutex_lock+35>: je 0x40220ba7
<*GI_pthread_mutex_lock+151>
0x40220b35 <*GI_pthread_mutex_lock+37>: jle 0x40220b90
<*GI_pthread_mutex_lock+128>
0x40220b37 <*GI_pthread_mutex_lock+39>: cmp $0x2,%eax
0x40220b3a <*GI_pthread_mutex_lock+42>: je 0x40220b64
<*GI_pthread_mutex_lock+84>
0x40220b3c <*GI_pthread_mutex_lock+44>: cmp $0x3,%eax
0x40220b3f <*GI_pthread_mutex_lock+47>: je 0x40220b53
<*GI_pthread_mutex_lock+67>
0x40220b41 <*GI_pthread_mutex_lock+49>: mov $0x16,%eax
End of assembler dump.
Attachments (2)
Change History (14)
comment:1 by , 20 years ago
comment:2 by , 20 years ago
bug_file_loc: | → http://www.raspberryheaven.net/~deathscythe/jonglerstylo.wmv |
---|
Ok, lets start again :)
It's a sigsegv. I'm not positive that it's mplayer bug, but I think it's
possible, some subtle memory corruption that triggers only in this case. I have
found an other occurance, described below.
The configuration is this, apart from debug=3 and gui:
byte order: Little Endian
Optimizing for: pentium4 mmx mmx2 sse sse2 mtrr
Languages:
Messages/GUI: en
Manual pages: en (no localization selected, use --language=all)
Enabled optional drivers:
Input: ftp network edl tv matroska(internal) mpdvdkit2 vcd dvb
Codecs: qtx libavcodec real dshow/dmo win32 faad2(internal) libmpeg2 liba52
mp3lib libvorbis libmad
Audio output: alsa esd arts oss nas mpegpes(dvb)
Video output: xvidix cvidix vesa jpeg png mpegpes(dvb) fbdev opengl dga xv
x11 xover tga
Disabled optional drivers:
Input: tv-v4l2 tv-v4l tv-bsdbt848 live.com cdda dvdread smb
Codecs: opendivx xvid libdv xanim libtheora liblzo gif
Audio output: sgi sun jack dxr2 win32 sdl macosx
Video output: winvidix bl zr zr2 dxr3 dxr2 directx sdl gif89a svga caca aa
ggi xmga mga xvmc directfb tdfx_vid tdfxfb 3dfx quartz
when playing this video:
http://www.raspberryheaven.net/~deathscythe/jonglerstylo.wmv
with gmplayer and when the codec "wmv8ds32.ax" is available, it plays fine
(apart ofcourse the crash if I rightclick, as described in the original report),
but, it the codec is not there:
gmplayer -v ~/jonglerstylo.wmv >log 2>&1
the file log attached.
In the debugger, I have a similar stacktrace as before:
#0 *GI_pthread_mutex_lock (mutex=0x0) at mutex.c:102
#1 0x4044232e in g_mem_chunk_new (name=0x404512c0 "аф[@є\031\a\b",
atom_size=92, area_size=1078268588, type=2) at gmem.c:512
#2 0x4040c94d in gdk_event_new () at gdkevents.c:664
#3 0x4040dd18 in gdk_events_queue () at gdkevents.c:2057
#4 0x4040df74 in gdk_event_dispatch (source_data=0x0,
current_time=0xbfffd440, user_data=0x0) at gdkevents.c:2146
#5 0x4044103d in g_main_dispatch (dispatch_time=0xbfffd440) at gmain.c:656
#6 0x404414f4 in g_main_iterate (block=0, dispatch=1) at gmain.c:877
#7 0x404416bd in g_main_iteration (block=0) at gmain.c:907
#8 0x4034d597 in gtk_main_iteration_do (blocking=1078268608) at gtkmain.c:616
#9 0x080c1647 in gtkEventHandling () at mplayer/widgets.c:111
#10 0x08078ab3 in main (argc=2, argv=0xbffff8b4) at mplayer.c:2184
please advise, what should I do next?
comment:3 by , 20 years ago
comment:4 by , 20 years ago
attachments.description: | gmplayer -v output for comment3 → gmplayer -v output for comment2 |
---|
comment:5 by , 20 years ago
I have no real idea what could be causing this, but you could try the following:
-vc wmvdmo
-vc ffwmv2
a different vo (e.g. gl2 or x11)
adding
type &= ~vo_wm_NETWM;
to line 1392 (end of vo_x11_get_fs_type function) in libvo/x11_common.c.
btw.: I still can't reproduce (using that file), but I don't have the wmvdmo
codec installed at the moment...
comment:6 by , 20 years ago
Forcing the codec makes the startup crash go away (to either wmvdmo or ffwmv2),
the video output doesn't change anything. The added line doesn't have any effect.
comment:7 by , 20 years ago
Please try if this patch fixes it. It is from
http://mplayerhq.hu/pipermail/mplayer-dev-eng/2004-July/027062.html
comment:8 by , 20 years ago
Cc: | added |
---|
comment:10 by , 20 years ago
(In reply to comment #7)
It didn't have any noticable effect on my problem. :(
Maybe I have something:
I have the same problems with gmplayer as you. I am using KDE, so i use the
arts-plugin of mplayer for sound. Today i found out accidently, that
all those problems vanish if i use the oss-plugin instead. No more
GUI-crashes when right-clicking, nothing -- everything is just working
fine. Could you try if this also works for you? Looks like there is a
bug in the arts-plugin.
comment:11 by , 20 years ago
Component: | core → ao |
---|
Yes, this was it. I modify the component of this bug to 'ao', and stick to oss
for the time being, thanks for all the help! (Actually, I tried this solution
earlier, but didn't work because of an other bug(feature?), see bug #98)
comment:12 by , 20 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
I finally found an explanation here (isn't it great that everybody informs
upstream about problems??)
http://frontrangebsd.org/pipermail/kde-freebsd/2004-April/007932.html
They seem to think the only solution is using gtk2. Well, I don't know how that
justifies that using glib-1.2 and glib2 together results in a crash, but well...
This might happen sometime but not soon. Consider arts + gui broken for now.
(In reply to comment #0)
First of all, thanks for your efforts.
Can't reproduce. Are you sure this is a bug in MPlayer, not e.g. in GTK? The
segfault happens quite deep in the GTK code. Which reminds me that you didn't
even explicitly say if it is as SIGSEGV or something else... you shouldn't have
truncated the gdb output!
Would be more interesting how you configured MPlayer (e.g. what modules were
compiled in)
What about the mplayer -v output?
Too me it looks like this backtrace is quite useless, as the stack it was taken
from was destroyed... from how the code looks like, there is no way these two
label parameters can have different values...