Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 44266 - mplayerplug-in debugging
Summary: mplayerplug-in debugging
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Joel Martin (RETIRED)
URL:
Whiteboard:
Keywords:
: 50507 (view as bug list)
Depends on: 43711
Blocks:
  Show dependency tree
 
Reported: 2004-03-10 10:04 UTC by jochen
Modified: 2004-06-21 04:31 UTC (History)
12 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Live cvs ebuild for testing only (mplayerplug-in-cvs-0.1.ebuild,1.11 KB, text/plain)
2004-05-05 12:02 UTC, Joel Martin (RETIRED)
Details
mplayerplug-in-cvs debug log from Delovely trailer on apple.com (delovely-log.txt,58.32 KB, text/plain)
2004-05-05 16:21 UTC, Mike Auty (RETIRED)
Details
mplayerplug-in-cvs-1.log (mplayerplug-in-cvs-1.log,11.82 KB, text/plain)
2004-05-08 09:48 UTC, Jeff
Details
mplayerplug-in-cvs-2.log (mplayerplug-in-cvs-2.log,13.34 KB, text/plain)
2004-05-08 09:49 UTC, Jeff
Details
Patch for locked mutex problem with mplayerplug-in under NPTL systems (mplayerplug-in-cvs.patch,1.42 KB, patch)
2004-06-18 14:23 UTC, Mike Auty (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jochen 2004-03-10 10:04:25 UTC
mplayerplug-in 2.45 crashes mozilla 1.6 (mozilla just terminates, no error message or something), mplayerplug-in 2.40 works thou.

Reproducible: Always
Steps to Reproduce:
1. click on any url registered for mplayerplug-in
2.
3.

Actual Results:  
mozilla crashes

Expected Results:  
film starts to play

Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.4.2
4-xfs-r2)
=================================================================
System uname: 2.4.24-xfs-r2 i686 Celeron (Coppermine)
Gentoo Base System version 1.4.3.13p1
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O3 -pipe -mcpu=pentium3 -mmmx -msse -fforce-addr -fomit
-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-fu
nctions=4 -fstack-protector"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/s
hare/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dv
ipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config
/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium3 -O3 -pipe -mcpu=pentium3 -mmmx -msse -fforce-addr -fom
it-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-
functions=4 -fstack-protector"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox strict userpriv"
GENTOO_MIRRORS="http://sunsite.cnlab-switch.ch/ftp/mirror/gentoo ftp://sunsite.c
nlab-switch.ch/mirror/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl alsa apm avi berkdb clamav crypt dga doc dvd encode esd foomaticdb ga
tos gdbm gif gphoto2 gpm gtk gtk2 gtkhtml imap imlib ipv6 java jikes jpeg kerber
os libg++ libwww lufsusermount mad mbox mldonkeypango motif mozcalendar mozilla 
mozxmlterm mpeg ncurses nls oggvorbis opengl oss pam pcmcia pdflib perl png pyth
on readline scanner sdl slang spell sse ssl tcltk tcpd tetex tiff truetype video
_cards_mach64 x86 xface xfs xml2 xmms xv zlib"
Comment 1 jochen 2004-03-10 10:10:24 UTC
correction, 2.11 works. 2.40 crashes too

I'm using the default config with both versions
Comment 2 jochen 2004-03-10 10:24:41 UTC
ok, after investigating a little into this, I figured out it's the gtk2 which crashes my mozilla.

I've compiled mozilla with gtk1.2 (otherwise I can't use acrobat plugin)

modifying the ebuild to use gtk1 solved the problem

mplayerplug-in should check what version mozilla is compiled against (probably that other bug is already about this issue)

I also disabled this gecko-sdk thing, why was this introduced in the first place? should be optional...
Comment 3 Arnaud Boudou 2004-04-08 11:54:51 UTC
I have the same problem with any mozilla and mplayerplug-in version, all compiled with gtk2.

When I start to play a video for the first time, it works.
When I try for the second time, mozilla exits.

If I start mozilla from the command line, I get theses messages : 

skuld@skuld# mozilla

<------- first try, video plays ---------->
(Gecko:20384): Gtk-CRITICAL **: file gtkwidget.c: line 1911 (gtk_widget_destroy): assertion `GTK_IS_WIDGET (widget)' failed
ADDED URL: kill_bill-vol_ii-tlr_m480.mov
code: 46
 speed 2800
ADDED URL: kill_bill-vol_ii-tlr_m480.mov
code: 46
 speed 2800

<------- second try, mozilla exits --------->
/usr/bin/mozilla: line 324: 20384 Erreur de segmentation  $mozbin "$@"
skuld@skuld#

emerge --info : 
Portage 2.0.50-r3 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.4-ck1)
=================================================================
System uname: 2.6.4-ck1 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System version 1.4.4
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -msse2 -mfpmath=sse,387 -fno-gcse"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -msse2 -mfpmath=sse,387 -fno-gcse"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache fixpackages sandbox"
GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://gentoo.oregonstate.edu/distfiles"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X alsa apm arts avi berkdb bonobo cdr crypt cups dvd dvdr encode esd foomaticdb gdbm gif gnome gpm gtk gtk2 gtkhtml guile imlib ipv6 java jpeg kde ldap libg++ libwww linguas_fr mad mikmod mmx motif mozilla moznocompose moznoirc mpeg ncurses nls nptl oggvorbis opengl oss pam pda pdflib perl png ppds python qt quicktime readline samba scanner sdl slang spell sse ssl svga tcltk tcpd truetype usb x86 xml2 xmms xv zlib"
Comment 4 Arnaud Boudou 2004-04-08 11:56:43 UTC
Oops, sorry, I didn't add comment to the good bug report
You could forget what I wrote
Comment 5 Arnaud Boudou 2004-04-08 11:58:54 UTC
Finally it's the correct bug report, bugzilla redirect me to another one when I have submitted my comment.
Comment 6 Jeff 2004-04-21 17:19:27 UTC
Mplayerplug-in 2.50 also crashes firefox, clip will play fine but as soon as it is over firefox closes. The only error message I've seen is similar to what Arnaud posted-widget error. Other than that no error messages & I don't get that error everytime. I haven't recompiled firefox without gtk2 support, I'd rather not have to go that route as I can always use 2.40. 2.40 works but I have xorg + xv problems but that's a known issue and another bug...

Running xorg-x11:

root@Luna jeff # emerge info
Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.4.9
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -funroll-loops -ftracer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -funroll-loops -ftracer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://212.219.247.19/sites/www.ibiblio.org/gentoo/ ftp://mirrors.tds.net/gentoo http://www.gtlib.cc.gatech.edu/pub/gentoo http://mirror.clarkson.edu/pub/distributions/gentoo/ http://csociety-ftp.ecn.purdue.edu/pub/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X acpi alsa avi berkdb cdr crypt cups dvd encode foomaticdb gdbm gif gpm gtk gtk2 imlib java jpeg libg++ libwww mad mikmod mmx motif mozilla mpeg ncurses nls nptl oggvorbis opengl pam pdflib perl png ppds python quicktime readline sdl slang spell sse ssl svga tcpd tiff truetype usb x86 xml2 xmms xv zlib"
Comment 7 Jeff 2004-04-21 18:04:16 UTC
I just tried 2.60-same problem.
Comment 8 Joel Martin (RETIRED) gentoo-dev 2004-04-26 12:32:12 UTC
I am using mplayerplug-in 2.6 with firefox. I get occasional crashes also. I have
tried with mplayer 0.92 and 1.0_pre3
Comment 9 Kang-Ho Song 2004-04-26 21:44:27 UTC
I have the very same problem with Jeff.
I also use xorg-x11 and my browsers crash all the time as soon as the movie/music is over.
Comment 10 Joel Martin (RETIRED) gentoo-dev 2004-04-27 10:40:16 UTC
Okay, this problem either exists in mozilla or mplayerplug-in in my suspicion.

For those interested in debugging this, please start running with debugging.
For firefox users, you can do this with "firefox -g". When it crashes, please 
post a backtrace here if it is unique (include browser, plugin and mplayer version too please). I actually found firefox more stable when
I was debugging, so you may have to work harder to get it to crash.

Here is my first contribution:

mplayerplug-in-2.60
mplayer-1.0_pre3-r5
mozilla-firefox-bin-0.8

#0  0x409e178a in strncasecmp () from /lib/libc.so.6
#1  0x412373de in isMms(char*) () from /opt/netscape/plugins/mplayerplug-in.so
#2  0x4123e4e0 in gtkgui_save_enable(void*) () from /opt/netscape/plugins/mplayerplug-in.so
#3  0x405976c3 in g_idle_dispatch () from /usr/lib/libglib-2.0.so.0
#4  0x405979c0 in g_main_dispatch () from /usr/lib/libglib-2.0.so.0
#5  0x40595d68 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#6  0x40597e8b in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#7  0x4059635f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#8  0x402b992f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#9  0x08241faa in nsVoidKey::Clone() const ()
#10 0x085fc72f in nsSharedBufferHandle<unsigned short>* NS_AllocateContiguousHandleWithData<nsSharedBufferHandle<unsigned short>, nsAString>(nsSharedBufferHandle<unsigned short> const*, unsigned, nsAString const*) ()
#11 0x087949a7 in nsPrintSession::~nsPrintSession() ()
#12 0x08795187 in nsPrintSession::~nsPrintSession() ()
#13 0x08076471 in gtk_widget_grab_focus ()
#14 0x4097adc4 in __libc_start_main () from /lib/libc.so.6
Comment 11 Joel Martin (RETIRED) gentoo-dev 2004-04-27 11:28:44 UTC
Okay, I filed a bug with mplayerplug-in because I think I know where it is:

Go to 
https://sourceforge.net/tracker/index.php?func=detail&aid=943207&group_id=71239&atid=530623
for more info.

If I get more time later, I may try and track it down and fix it myself.
Can anybody verify that this is the same bug they are seeing (with a backtrace).

The easiest way I found to reproduce is to press the browsers forward and 
backward to load and unload a embedded page on apple.com until it happens.
Comment 12 Jeff 2004-04-27 15:55:57 UTC
K, went back up to mplayerplug-in-2.6.0.
firefox-0.8-r3
mplayer-1.0_pre3-r5

Back to firefox exiting everytime (yes, everytime) after playing any clip. Running firefox -g I get the following error everytime:

Gtk-CRITICAL **: file gtkwidget.c: line 5634 (gtk_widget_set
_events): assertion `!GTK_WIDGET_REALIZED (widget)' failed.

Joel, excuse my ignorance but I'm still somewhat of a noob-could you enlighten me on how to do a backtrace.
Comment 13 Jeff 2004-04-28 15:38:30 UTC
Well, here's some debug info.

Info from firefox-0.8-r3 recompiled with debug enabled:

For video/mpeg found plugin /opt/netscape/plugins/mplayerplug-in.so
LoadPlugin() /opt/netscape/plugins/mplayerplug-in.so returned 881c628
nsPluginNativeWindowGtk2: NPPVpluginNeedsXEmbed=0
nsPluginNativeWindowGtk2: call SetWindow with xid=0xc00445
About to create new ws_info...
About to create new xtbin of 1021 X 582 from 0x8785748...
About to show xtbin(0x88dab48)...
completed gtk_widget_show(0x88dab48)
nsPluginNativeWindowGtk2: NPPVpluginNeedsXEmbed=0
nsPluginNativeWindowGtk2: call SetWindow with xid=0xe00001
nsPluginNativeWindowGtk2: NPPVpluginNeedsXEmbed=0
nsPluginNativeWindowGtk2: call SetWindow with xid=0xc00445

(firefox-bin:7569): Gtk-CRITICAL **: file gtkwidget.c: line 5634 (gtk_widget_set_events): assertion `!GTK_WIDGET_REALIZED (widget)' failed

Program /usr/lib/MozillaFirefox/firefox-bin (pid = 7569) received signal 11.
Stack:
nsProfileLock::FatalSignalHandler(int)+0x00000052 [/usr/lib/MozillaFirefox/components/libprofile.so +0x00033752]

gdb backtrace of firefox-bin:

(gdb) backtrace
#0  0xffffe410 in ?? ()
#1  0xbffff268 in ?? ()
#2  0x00000018 in ?? ()
#3  0x00000003 in ?? ()
#4  0x408e63f4 in poll () from /lib/libc.so.6
#5  0x406fcf43 in g_main_loop_get_context () from /usr/lib/libglib-2.0.so.0
#6  0x088e0dc8 in ?? ()
#7  0x00000003 in ?? ()
#8  0x00000018 in ?? ()
#9  0x406fb8a0 in g_main_context_release () from /usr/lib/libglib-2.0.so.0
#10 0x00000003 in ?? ()
#11 0x0808c928 in ?? ()
#12 0x088e0dc8 in ?? ()
#13 0x406feac0 in g_idle_remove_by_data () from /usr/lib/libglib-2.0.so.0
#14 0x0808c928 in ?? ()
#15 0x00000018 in ?? ()
#16 0x7fffffff in ?? ()
#17 0x088e0dc8 in ?? ()
#18 0x00000003 in ?? ()
#19 0x4075733c in ?? () from /usr/lib/libglib-2.0.so.0
#20 0x081dacd8 in ?? ()
#21 0x00000000 in ?? ()
#22 0xbffff2c4 in ?? ()
#23 0x00000018 in ?? ()
#24 0x7fffffff in ?? ()
#25 0x4075733c in ?? () from /usr/lib/libglib-2.0.so.0
#26 0x081dacd8 in ?? ()
#27 0x081dace0 in ?? ()
#28 0x00000000 in ?? ()
#29 0x406fcaa2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#30 0x406d9fd4 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x40594028 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x0810c914 in ?? ()
#33 0x00000000 in ?? ()
#34 0x00000000 in ?? ()
#35 0x4000af20 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#36 0x403dcbd1 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x0810c914 in ?? ()
#38 0x0810c908 in ?? ()
#39 0xbffff358 in ?? ()
#40 0x42463bfd in nsAppShell::Run ()
   from /usr/lib/MozillaFirefox/components/libwidget_gtk2.so

Hopefully that's useful to someone, alot of garbage there. This has certainly been a learning experience.
Comment 14 Joel Martin (RETIRED) gentoo-dev 2004-05-02 20:21:48 UTC
Jeff,
Sorry I never got back to you about how to run firefox with debugging. Looks like
you figured it out though. The backtrace that you posted doesn't look like it
has mozillaplug-in code in the stack trace. So perhaps mozillaplug-in is
triggering a firefox bug. Yeah, not much useful information from your stack trace.
Your firefox build may have debug, but nothing else does, and it looks like we
went way deep into all kinds of other libraries.

I've been running mozilla-firefox-bin, so I may try mozilla-firefox with gtk2
enabled and see if I run into this problem all the time. And then try without
gtk2 and see if it goes away. If I can verify what others are seeing I'm not
exactly sure what I will do about it since mplayerplug-in supports several 
different browsers. Maybe just a ebuild warning that explains the brokenness
of browsers with gtk2. I may also post information upstream to see if Kevin
can do anything about it in mplayerplug-in itself.

Anyways, the mozillplug-in developer posted a fix to the panic that I was running
into. So I'll test that Monday, and then maybe patch.
Comment 15 Joel Martin (RETIRED) gentoo-dev 2004-05-03 13:15:43 UTC
Okay, I tried Kevin's patch, and now I get a new backtrace which I'll post 
upstream and see if Kevin tosses me another patch:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 7698)]
0x402a5fc3 in gtk_label_set_text () from /usr/lib/libgtk-x11-2.0.so.0
(gdb) bt
#0  0x402a5fc3 in gtk_label_set_text () from /usr/lib/libgtk-x11-2.0.so.0
#1  0x4144a26f in gtkgui_message(void*) () from /opt/netscape/plugins/mplayerplug-in.so
#2  0x405976c3 in g_idle_dispatch () from /usr/lib/libglib-2.0.so.0
#3  0x405979c0 in g_main_dispatch () from /usr/lib/libglib-2.0.so.0
#4  0x40595d68 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#5  0x40597e8b in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#6  0x4059635f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#7  0x402b992f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#8  0x08241faa in nsVoidKey::Clone() const ()
#9  0x085fc72f in nsSharedBufferHandle<unsigned short>* NS_AllocateContiguousHandleWithData<nsSharedBufferHandle<unsigned short>, nsAString>(nsSharedBufferHandle<unsigned short> const*, unsigned, nsAString const*) ()
#10 0x087949a7 in nsPrintSession::~nsPrintSession() ()
#11 0x08795187 in nsPrintSession::~nsPrintSession() ()
#12 0x08076471 in gtk_widget_grab_focus ()
#13 0x4097adc4 in __libc_start_main () from /lib/libc.so.6
Comment 16 Joel Martin (RETIRED) gentoo-dev 2004-05-05 12:02:21 UTC
Created attachment 30792 [details]
Live cvs ebuild for testing only

Here is a live cvs version for mplayerplug-in for all you die hard testers out
there. This won't go into portage, I'm just posting this so that other gentoo
users can test the live tree.
Comment 17 Joel Martin (RETIRED) gentoo-dev 2004-05-05 12:05:30 UTC
All right. I'm assigning this bug to myself and renaming it from
"mplayerplug-in 2.45 crashes mozilla 1.6" to 
"mplayerplug-in debugging" to more accurately reflect what I want to use this
bug for.

Could those who are experiencing the gtk2 crash issues please test with the cvs version? 

By the way, if you want to run plain mozilla through the debugger, do it this way:
/usr/lib/mozilla/mozilla -g

Then type or select "run" (depending on whether you have ddd or just gdb installed).
Comment 18 Jeff 2004-05-05 15:17:34 UTC
I'll be trying out the cvs shortly and will get back to you.
Comment 19 Mike Auty (RETIRED) gentoo-dev 2004-05-05 16:21:41 UTC
Created attachment 30809 [details]
mplayerplug-in-cvs debug log from Delovely trailer on apple.com

Well, I compiled the cvs ebuild, but it still crashed directly as the
audio/video finished.  I saw the debug=1 option in the mplayerplug-in.conf and
decided to set it, and then played the delovely trailer from apple.com as an
example.  This again crashed at the end, and the log is captured from that.  I
haven't yet got firefox to run under gdb (perhaps because of mozilla-launcher,
perhaps because it's a cvs edition, I don't know much about gdb).

The most interesting thing I could find in this log is the last few lines:

----player thread: breaking read loop - Exiting
---player thread: tryagain = 0
----player thread: playNode returned = 0
----player thread: close done
----player thread: transitioning to next item
----player thread: entering loop
----player thread: looking for node to play
----player thread: nothing on the list to play
----player thread: playing url: http://...

This suggests as though it's attempting to replay the clip after it's finished
playing it, and after there's nothing on the list to play, so perhaps this is
where the problem lies?  I don't know if this kind of basic debugging is of any
use, but I'll be happy to test out anything else people would like me to try...
Comment 20 Jeff 2004-05-05 16:59:42 UTC
Same results here too:

firefox debug info:
For video/mpeg found plugin /opt/netscape/plugins/mplayerplug-in.so
LoadPlugin() /opt/netscape/plugins/mplayerplug-in.so returned 8a289a0
checking toolkit
toolkitOk? mozilla = 2, plugin = 2
nsPluginNativeWindowGtk2: NPPVpluginNeedsXEmbed=0
nsPluginNativeWindowGtk2: call SetWindow with xid=0xa008c2
About to create new ws_info...
About to create new xtbin of 1021 X 582 from 0x8871468...
About to show xtbin(0x8a36c98)...
completed gtk_widget_show(0x8a36c98)
nsPluginNativeWindowGtk2: NPPVpluginNeedsXEmbed=0
nsPluginNativeWindowGtk2: call SetWindow with xid=0xc00001
nsPluginNativeWindowGtk2: NPPVpluginNeedsXEmbed=0
nsPluginNativeWindowGtk2: call SetWindow with xid=0xa008c2

(firefox-bin:12761): Gtk-CRITICAL **: file gtkwidget.c: line 5635 (gtk_widget_se
t_events): assertion `!GTK_WIDGET_REALIZED (widget)' failed

Program /usr/lib/MozillaFirefox/firefox-bin (pid = 12761) received signal 11.
Stack:
nsProfileLock::FatalSignalHandler(int)+0x00000052 [/usr/lib/MozillaFirefox/compo
nents/libprofile.so +0x00033652]
Sleeping for 5 minutes.
Type 'gdb /usr/lib/MozillaFirefox/firefox-bin 12761' to attach your debugger to 
this thread.

backtrace:
(gdb) backtrace
#0  0xffffe410 in ?? ()
#1  0xbffff258 in ?? ()
#2  0x00000018 in ?? ()
#3  0x00000003 in ?? ()
#4  0x408e73f4 in poll () from /lib/libc.so.6
#5  0x406fd0f3 in g_main_loop_get_context () from /usr/lib/libglib-2.0.so.0
#6  0x087fb1f0 in ?? ()
#7  0x00000003 in ?? ()
#8  0x00000018 in ?? ()
#9  0x40758a40 in g_thread_use_default_impl () from /usr/lib/libglib-2.0.so.0
#10 0x7fffffff in ?? ()
#11 0x00000000 in ?? ()
#12 0x40758dc0 in _g_debug_flags () from /usr/lib/libglib-2.0.so.0
#13 0x407581a8 in ?? () from /usr/lib/libglib-2.0.so.0
#14 0x00000003 in ?? ()
#15 0x0808c968 in ?? ()
#16 0x087fb1f0 in ?? ()
#17 0x406fecfb in g_idle_remove_by_data () from /usr/lib/libglib-2.0.so.0
#18 0x0808c968 in ?? ()
#19 0x00000018 in ?? ()
#20 0x7fffffff in ?? ()
#21 0x087fb1f0 in ?? ()
#22 0x00000003 in ?? ()
#23 0x00000000 in ?? ()
#24 0x00000000 in ?? ()
#25 0x406fb8cd in g_main_context_acquire () from /usr/lib/libglib-2.0.so.0
#26 0xbffff2c4 in ?? ()
#27 0x40758a40 in g_thread_use_default_impl () from /usr/lib/libglib-2.0.so.0
#28 0x40758a20 in glib_mem_profiler_table () from /usr/lib/libglib-2.0.so.0
#29 0x40758dc0 in _g_debug_flags () from /usr/lib/libglib-2.0.so.0
#30 0x00000018 in ?? ()
#31 0x7fffffff in ?? ()
#32 0x407581a8 in ?? () from /usr/lib/libglib-2.0.so.0
#33 0x08204bf8 in ?? ()
#34 0x00000000 in ?? ()
#35 0x08204c00 in ?? ()
#36 0x406fcc52 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#37 0x406d9e84 in ?? () from /usr/lib/libglib-2.0.so.0
#38 0x40593f98 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#39 0x0810cae4 in ?? ()
#40 0x00000000 in ?? ()
#41 0x00000000 in ?? ()
#42 0x4000af20 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2
#43 0x403dc851 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#44 0x0810cae4 in ?? ()
#45 0x0810cad8 in ?? ()
#46 0xbffff358 in ?? ()
#47 0x42462b3d in nsAppShell::Run ()
   from /usr/lib/MozillaFirefox/components/libwidget_gtk2.so

Just in response to Mike-the only way I can get any useful output from gdb is to recompile firefox with debugging support (have to modify ebuild) then attach gdb to process when it crashes. I tried just doing:
gdb /usr/lib/MozillaFirefox/firefox-bin (you have to link to binary not startup script)
set args -g
run

but can't get any useful debugging info at all, when it crashes backtrace just gives me no stack (I'm assuming because firefox has already closed). Also was looking at firefox startup script and it mentions -x option for debugging, tried that with no luck either. BTW, I know very little about gdb-there must be a way to halt the program when it crashes so you can do a backtrace without recompiling it with debugging support. Thank god for ccache, only takes about 13min to recompile firefox.
Comment 21 Joel Martin (RETIRED) gentoo-dev 2004-05-06 14:08:04 UTC
Okay, I installed non-binary version of firefox with gtk2 enabled, and I can't 
replicate the problems being seen with the cvs version I posted.

Also, could people post the versions of gtk+ they are using?

thanks for working on this everyone. We'll get this thing stable yet.
Comment 22 Jeff 2004-05-06 19:26:26 UTC
GTK+2.4.1-just upgraded to this version a couple of days ago so was still having the problem with 2.4.0-r1.
Comment 23 Mike Auty (RETIRED) gentoo-dev 2004-05-06 20:21:58 UTC
Similarly:

Firefox CVS (Currently Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8a) Gecko/20040503 Firefox/0.8.0+)
GTK+-2.4.1, bug found on GTK+-2.4.0 also
Mplayer 1.0pre4-r1

Tried the latest CVS of mplayerplug-in again today, still crashes at the precise end of the clip.  Dies for any trailer on apple.com (well, dies on just about anything).  Still haven't got gdb debugging working (haven't recompiled with debug options yet either though)...
Comment 24 Joel Martin (RETIRED) gentoo-dev 2004-05-07 07:01:24 UTC
I upgraded my version of gtk and still can't reproduce this particular crash 
that people are seeing at the end of the video.

Here is how to get debugging working. First make sure you have gdb:
gdb --version

Then run firefox like this:
/usr/lib/MozillaFirefox/firefox -g -d gdb

This will start firefox from within gdb. Then type "run" to start firefox running.
When it crashes, type "bt" into gdb. This will give you a backtrace. Post that
here along with the output messages that led up to that. If you add "debug=1"
to your /etc/mplayerplug-in.conf that would be good too.
Comment 25 Mike Auty (RETIRED) gentoo-dev 2004-05-07 18:06:15 UTC
Well, I've been having difficulty getting the firefox-cvs to debug properly.  I've compiled it with --enable-debug on, and then followed your debugging instructions.  After typing run, several debug messages appear (many saying no debugging symbols found) then several seemingly about chrome startup and then:

++WEBSHELL == 3
++DOMWINDOW == 3
 
Program terminated with signal SIGTRAP, Trace/breakpoint trap.
The program no longer exists.
(gdb)

leaving me at the gdb prompt.  Doing bt at this points returns "No stack.".  No firefox window ever appeared, and I've haven't been able to get any further with it.  As to the output from mplayerplug-in with debug=1 set, that's in my previous comment #19, and the associated attachment.  If anyone can help with the debug problems or has anything else they'd like me to try, I'll give it a go...
Comment 26 Jeff 2004-05-08 09:47:28 UTC
Sigh....

Joel, for some reason my firefox will not display debugging info unless it's compiled in. I tried your way and here is what I get:

jeff@Luna jeff $ /usr/lib/MozillaFirefox/firefox -g -d gdb
/usr/lib/MozillaFirefox/run-mozilla.sh -g -d gdb /usr/lib/MozillaFirefox/firefox
-bin
MOZILLA_FIVE_HOME=/usr/lib/MozillaFirefox
  LD_LIBRARY_PATH=/usr/lib/MozillaFirefox:/usr/lib/MozillaFirefox/plugins:/usr/l
ib/mre/mre-1.6
DISPLAY=:0.0
DYLD_LIBRARY_PATH=/usr/lib/MozillaFirefox:/usr/lib/mre/mre-1.6
     LIBRARY_PATH=/usr/lib/MozillaFirefox:/usr/lib/MozillaFirefox/components:/us
r/lib/mre/mre-1.6
       SHLIB_PATH=/usr/lib/MozillaFirefox:/usr/lib/mre/mre-1.6
          LIBPATH=/usr/lib/MozillaFirefox:/usr/lib/mre/mre-1.6
       ADDON_PATH=/usr/lib/MozillaFirefox
      MOZ_PROGRAM=/usr/lib/MozillaFirefox/firefox-bin
      MOZ_TOOLKIT=
        moz_debug=1
     moz_debugger=gdb
/usr/bin/gdb /usr/lib/MozillaFirefox/firefox-bin -x /tmp/mozargs11549
GNU gdb 6.1
Copyright 2004 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 "i686-pc-linux-gnu"...(no debugging symbols found)...
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/lib/MozillaFirefox/firefox-bin 
warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.
(no debugging symbols found)...(no debugging symbols found)...(no debugging symb
ols found)...(no debugging symbols found)...(no debugging symbols found)...(no d
ebugging symbols found)...(no debugging symbols found)...(no debugging symbols f
ound)...(no debugging symbols found)...(no debugging symbols found)...(no debugg
ing symbols found)...(no debugging symbols found)...(no debugging symbols found)
...(no debugging symbols found)...(no debugging symbols found)...(no debugging s
ymbols found)...(no debugging symbols found)...(no debugging symbols found)...(n
o debugging symbols found)...checking toolkit
toolkitOk? mozilla = 2, plugin = 2

(firefox-bin:11556): Gtk-CRITICAL **: file gtkwidget.c: line 5635 (gtk_widget_se
t_events): assertion `!GTK_WIDGET_REALIZED (widget)' failed

Program exited with code 013.
(gdb) bt
No stack.

After looking thru this it's pretty much the same thing as doing
gdb /usr/lib/MozillaFirefox/firefox-bin
set args -x
run

Anyway, I assume it's giving me the no stack because firefox has already exited.
When running firefox with debugging compiled in it sleeps for 5min when the crash occurs and gives you a chance to attach gdb to the process.

2 attachments:
mplayerplug-in-cvs-1.log: mplayerplug-in debug log of crash

The second one is a little different-I noticed that if you stop or pause a movie before it ends no crash occurs. So mplayerplug-in-cvs-2.log is a normal shutdown of mplayerplug-in.
Comment 27 Jeff 2004-05-08 09:48:48 UTC
Created attachment 31004 [details]
mplayerplug-in-cvs-1.log
Comment 28 Jeff 2004-05-08 09:49:23 UTC
Created attachment 31005 [details]
mplayerplug-in-cvs-2.log
Comment 29 Patrick Kursawe (RETIRED) gentoo-dev 2004-05-10 00:02:15 UTC
*** Bug 50507 has been marked as a duplicate of this bug. ***
Comment 30 Collins Richey 2004-05-10 05:21:20 UTC
50507 has been declared a duplicate, but it is for playing an mp3 stream only, no video. Maybe the url attached is a simpler way to create the (same?) problem.
Comment 31 Joel Martin (RETIRED) gentoo-dev 2004-05-10 14:10:23 UTC
The link from the duplicate bug is:
http://168.103.84.5:8000/file/von_bingen/instrumental_piece.mp3
I don't seem to have any special problems with it more than hangs once in a while which I'm working on trying to get a backtrace from.

In terms of debugging. I don't have my browser compiled with debugging. I simply
run it via gdb as I stated above:
/usr/lib/MozillaFirefox/firefox -g -d gdb
This puts me into a gdb prompt from which I can then run the browser.

Also, I don't think this message:
(firefox-bin:11556): Gtk-CRITICAL **: file gtkwidget.c: line 5635 (gtk_widget_se
t_events): assertion `!GTK_WIDGET_REALIZED (widget)' failed

or ones like it are a particular big problem. I think they are normal.

Comment 32 Joel Martin (RETIRED) gentoo-dev 2004-05-13 14:54:03 UTC
Well, I still haven't been able to replicate the crash at end of a video clip.
It's apparently not the version of mplayerplug-in, or version of mozilla/firefox.
Or even the version of gtk. Hmm. I think if I could replicate it locally, I could
probably debug this, so why don't we go that route. I know at least Mike and Jeff
can reproduce this. And you guys are getting this every time right?

Mike, can you post emerge info. Can you both tell me again what version and also
what use flags they were built with for the following:
mplayer
mplayerplug-in
<browser>
gtk+
gcc
gcc-config

Thanks guys.



Comment 33 Mike Auty (RETIRED) gentoo-dev 2004-05-13 19:32:16 UTC
Right,
  I can indeed reproduce this every single time (trust me, I wish I couldn't).  If we're getting down to the gcc level, could this be because I'm using glibc with nptl enabled?  I don't know much about this, a friend just told me it was "threading from the gods" so I set the use flag whenever I see it.  5:)  Here's the information you asked for:

  Firefox
  Version: CVS 20040508 (from BMG)
  USE: +gnome +gtk2 -ipv6 +java -moznoxft +truetype -xinerama

  Mplayer
  Version: 1.0_pre4-r1
  USE: -3dfx -3dnow +X +aalib +alsa -arts -debug -dga +directfb -dvb +dvd +encode -esd -fbcon -ggi +gif +gnome +gtk -ipv6 -joystick +jpeg -lirc -live -matroska -matrox +oggvorbis +opengl +oss -samba +sdl -sse +svga -theora +truetype -v4l -v4l2 +xmms +xv

  Mplayerplug-in
  Version: CVS Fri May  7 04:27:55 2004 BST
  USE:

  gtk+
  Version: 2.4.1 (and also 1.2.10-r11)
  USE: -doc +jpeg -tiff

  gcc 
  Version: 3.3.3
  USE: +X -bootstrap -build -f77 -gcj -hardened +java -multilib +nls -objc -static -uclibc

  gcc-config 
  Version: 1.3.4
  USE:

  glibc
  Version: 2.3.2-r9
  USE: -build +nls +nptl -pic

and my emerge info is as follows:

Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.2-r9, 2.6.6)
=================================================================
System uname: 2.6.6 i686 AMD Athlon(tm) processor
Gentoo Base System version 1.4.10
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=i686 -funroll-loops -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=i686 -funroll-loops -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox sfperms"
GENTOO_MIRRORS="http://212.219.247.13/sites/www.ibiblio.org/gentoo/ http://212.219.247.14/sites/www.ibiblio.org/gentoo/ http://212.219.247.18/sites/www.ibiblio.org/gentoo/ http://212.219.247.19/sites/www.ibiblio.org/gentoo/ http://212.219.247.21/sites/www.ibiblio.org/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/overlays/bmg-overlay /usr/local/overlays/freedesktop"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X aalib alsa apm avi berkdb cdr crypt cups directfb divx4linux dvd encode foomaticdb gdbm gif gnome gpm gtk gtk2 guile ieee1394 imlib java jpeg ldap libg++ libwww mad mikmod motif mozilla mpeg ncurses nls nptl oggvorbis opengl oss pam pda pdflib perl png postgres python quicktime readline sdl slang spell ssl svga tcltk tcpd tetex truetype x86 xml2 xmms xv xvid zlib"
Comment 34 Jeff 2004-05-16 00:19:22 UTC
Everytime unfortunately. I'm not sure if it has any significance but I am also using nptl threading.

* net-www/mozilla-firefox-0.8-r3
   Install date: Wed May  5 22:16:34 2004
   USE="java gtk2 truetype -xinerama -moznoxft -ipv6 -gnome"

* media-video/mplayer-1.0_pre4-r1
   Install date: Fri Apr 30 13:40:49 2004
   USE="xmms jpeg sse sdl X svga oggvorbis 3dnow xv opengl truetype dvd gtk gif encode alsa -matroska -dga -oss -live -v4l2 -3dfx -v4l -matrox -ipv6 -theora -joystick -ggi -debug -aalib -gnome -lirc -samba -dvb -arts -directfb -esd -fbcon"

* mplayerplug-in-cvs(20040505)

* x11-libs/gtk+-1.2.10-r11
   Install date: Tue Apr 13 21:45:00 2004
   USE="nls -debug"

* x11-libs/gtk+-2.4.1
   Install date:  Wed May 5 14:44:13 2004
   USE="tiff jpeg -doc"

* sys-devel/gcc-3.3.3-r3
   Install date: Mon Apr 26 13:54:54 2004
   USE="nls java X -static -uclibc -bootstrap -hardened -build -ada -multilib -g
cj -f77 -objc"

* sys-devel/gcc-config-1.3.5-r1
   Install date: Sat May  8 01:51:22 2004
   USE=""

* sys-libs/glibc-2.3.3_pre20040420
   Install date: Mon Apr 26 14:34:38 2004
   USE="nls nptl -build -pic"

root@Luna shared # emerge info
Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040420-r0, 2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.4.12
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -funroll-loops -ftracer"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer -funroll-loops -ftracer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://212.219.247.19/sites/www.ibiblio.org/gentoo/ ftp://mirrors.tds.net/gentoo http://www.gtlib.cc.gatech.edu/pub/gentoo http://mirror.clarkson.edu/pub/distributions/gentoo/ http://csociety-ftp.ecn.purdue.edu/pub/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X acpi alsa avi berkdb cdr crypt cups dvd encode flac foomaticdb gdbm gif gpm gtk gtk2 imlib java jpeg libg++ libwww mad mikmod mmx motif mozilla mpeg ncurses nls nptl oggvorbis opengl pam pdflib perl png ppds python quicktime readline sdl slang spell sse ssl svga tcpd tiff truetype usb x86 xml2 xmms xv zlib"
Comment 35 Joel Martin (RETIRED) gentoo-dev 2004-05-17 08:06:00 UTC
Okay, I'm a dope. I should have seen this earlier I suppose, but yes, I'm fairly
certain that it probably is the nptl build of glibc that is causing this problem. That seems to be the common denominator.

Anybody willing to recompile their glibc without nptl to test this theory? If not,
I understand. I'm usually fairly loathe to change my glibc without a security 
reason. I may try to reproduce on a less critical machine, but definitely not
on my main workstation :-). glibc is at the core of everything, even more than the kernel.

I will post this on the mplayerplug-in mailing list, and see if Kevin can throw
us a patch into cvs. 

Thanks for your work everyone. I'll keep you posted.
Comment 36 Collins Richey 2004-05-17 19:59:02 UTC
I, too, am a glibc-nptl user, but I've found a new twist. I just converted to xorg-x11, and now the problem is gone. I've played the listed url (and a half-dozen others) severql times, and there are no failures. Note that I am a ~x86 user. I did the following:
0. Exited from wdm to stop X and logged in as root
1. emerge -C xfree
2. emerge xorg-x11 (several pre- and co-reqs came along, but I failed to note them.
3. Copied my XF86Config and edited xorg.conf (changed the font directories)
4. ran opengl-update xorg-x11
5. started wdm again

No changes to firefox or mplayer or its plugin.

Now this problem is gone.

HTH.
Comment 37 Collins Richey 2004-05-17 20:01:50 UTC
I forgot:

4a. Ran fc-cache.
Comment 38 Mike Auty (RETIRED) gentoo-dev 2004-05-17 20:32:39 UTC
Hi,
  Well at least the nptl thing is a common link.  Perhaps it will turn out to be the problem after all.  Unfortunately I've been running xorg-x11 for a good two weeks+ (got it when it first got released ~x86) and am still experiencing the problem.  So I don't know what could be going on there.  I experienced the problems both before and after having xorg-x11.  Unless the ebuild got altered between our two builds I can't see how the xorg-x11 server on its own could solve the problem.

Any further news would be welcome.  Joel, could you please post back if a patch goes into CVS?  I've still got the CVS ebuild and am chomping at the bit to try out a fully working version of mplayerplug-in!  5:)  Thanks...
Comment 39 Jeff 2004-05-18 10:02:22 UTC
I have also been using xorg-x11 pretty much since it was released yet I still have the problem.
Comment 40 Joel Martin (RETIRED) gentoo-dev 2004-05-24 13:28:46 UTC
Okay, I'm still working on reproducing the crash. I haven't recompiled glibc with
NPTL yet because I'm still working on getting a working configuration on my test
machine.

I finally got it working. For some reason the default signal handling in gdb on 
my test machine was stopping gdb whenever a SIG32 was received. I figured out
I need to tell gdb to ignore SIG32:
(gdb) handle SIG32 nostop pass

Slowly, but surely.
Comment 41 Glenn Johnson 2004-05-29 18:16:10 UTC
Here are some data points:

I have an NPTL enabled glibc and recent versions of mplayerplug-in (post 2.45) will crash the browser (mozilla, firefox, galeon, epiphany) after playing a movie clip.

I first tried the CVS version of mplayerplug-in but that did not solve the problem.

I built glibc without NPTL and re-emerged mplayerplug-in-2.60. I then tried a movie clip at www.apple.com/trailers and the browser did not crash after playing the clip. I then rebuilt glibc with NPTL support and playing a video clip still did not cause the browser to crash. I then re-emerged mplayerplug-in-2.60 to build it against the installed NPTL glibc. With this, the problem returned. The browser crashed immediately after the movie clip finished playing.

So it seems the problem lies with building mplayerplug-in with an NPTL enabled glibc. Hopefully this information will help you track down exactly where the problem is.

In case it is useful, version 2.45 of mplayerplug-in works fine for me. Unfortunately, the ebuild for that has been removed. I have that version saved as a package. I know it was built with an NPTL enabled glibc but it may have been an older glibc version.
Comment 42 Glenn Johnson 2004-05-30 20:07:35 UTC
I rebuilt mplayerplug-in-2.45 with an NPTL-enabled glibc. That version of mplayerplug-in continues to work fine for me. Version 2.50 and 2.60 exhibit the crashing browser problem when compiled against an NPTL-enabled glibc.
Comment 43 Collins Richey 2004-06-02 12:45:18 UTC
More info. My laptop (2.6.6 with glibc nptl) works just fine with mplayer-1.0_pre4-r1 and mplayerplug-in-2.40 and firefox-0.8, but my desktop system (also 2.6.6 with glibc nptl) does not work reliably with any combination. I removed mplayer and mplayerplug-in and emerged the same versions as on the laptop (I had to use a saved version of mplayerplug-in-2.40, since 2.40 has been removed from portage). Now playing trailers results in perfect execution but firefox crapout after the trailer is complete. Same results with the latest mozilla-firefox-bin. I can't think what the difference is.
Comment 44 Collins Richey 2004-06-05 09:12:08 UTC
Why have all versions earlier than mplayerplug-in earlier than 2.60 been removed from portage? <= 2.45 is the only thing that seems to work for nptl systems!
Comment 45 Collins Richey 2004-06-12 20:44:07 UTC
startling breakthru. A friend noted that firefox-0.9rc1 is now available. I downloaded it, and mplayer now works properly (mplayerplug-in-2.60 and mplayer-1.0_pre4-r4). That may not help mozilla users, however.
Comment 46 Carl Bach 2004-06-14 10:43:31 UTC
Firefox 0.9rc1 does not fix this for me. It still crashes at the end of any clip. BTW, I'm on reiser4. There were strange reiser4 problems with gstreamer (fixed now in gstreamer), so I'm just adding this.
Comment 47 Joel Martin (RETIRED) gentoo-dev 2004-06-15 10:40:30 UTC
Here is what I just posted to the mplayerplug-in mailing list:
------
I was on vacation last week so I didn't have any time to work it.
I installed Gentoo on a laptop with kernel 2.6.5, glibc with NPTL,
mplayer 1.0_pre4
mplayerplug-in cvs (from today).

With both firefox 0.8 and mozilla 1.4 I get a crash after video
completes playing. The same thing happens with both browsers running in
debug mode. However, in debug I do get the message: "Program exited with
code 013."

The video I am attempting to play is:
www.apple.com/trailers/miramax/hero/

However, it's not specific to that video.
-------

By the way, welcome to our bug Kevin ;-).
Comment 48 Kevin DeKorte 2004-06-15 11:22:06 UTC
Here are somethings we need to run down
1. in the mplayerplug-in.conf file set debug=2
	this will give very verbose info from the plugin
2. The interesting case to me is where we get this output
----player thread: nothing on the list to play
And it should break out of the while loop and the next thing printed should be
----player thread: nothing to play
And then
----player thread: callbacks complete

But it seems to be reentering the while loop or not breaking out of it. It is possible that a compiler optimization flag is optimizing out the "break"

Here is the code block

	if (local_list == NULL) {
	    if (DEBUG)
		printf("----player thread: nothing on the list to play\n");
	    break;
	}
	//we have a node to play
	if (DEBUG) {
	    printf("----player thread: chose url %s\n", local_list->url);
	}


And that block of code is within a locked mutex.
Comment 49 Joel Martin (RETIRED) gentoo-dev 2004-06-15 11:47:30 UTC
Kevin,

Here is what I get with debug=2:
---------------------------------------------
...
mediaTime = 112.400002
in sendcommand
in gtkgui_save_enable
in isMms
Save Enable called retrieved = 1
in getURLFilename
READ:

READ: Exiting... (End of file)

----player thread: breaking read loop - Exiting
---player thread: tryagain = 0
----player thread: playNode returned = 0
----player thread: close done
----player thread: transitioning to next item
----player thread: entering loop
----player thread: looking for node to play
----player thread: nothing on the list to play
----player thread: playing url:
http://movies.apple.com/movies//miramax/hero/hero_m320.mov

Program exited with code 013.
(gdb)
-------------------------
Hope that helps.

Comment 50 Carl Bach 2004-06-16 03:35:40 UTC
My output looks almost like Joels. No line with callback complete. Kevin, I compile mplayerplug-in CVS by hand, so I dont have any optimisation flags at all for it.

mediaTime = 138.300003
in sendcommand
in gtkgui_save_enable
in isMms
Save Enable called retrieved = 1
in getURLFilename
READ: Successfully enabled DPMS

in gtkgui_save_enable
in isMms
Save Enable called retrieved = 1
in getURLFilename
READ:

READ: Exiting... (End of file)

----player thread: breaking read loop - Exiting
---player thread: tryagain = 0
----player thread: playNode returned = 0
----player thread: close done
----player thread: transitioning to next item
----player thread: entering loop
----player thread: looking for node to play
----player thread: nothing on the list to play
----player thread: playing url: http://movies.apple.com/movies/fox/avp/avp-trailer3_m240.mov
Comment 51 Carl Bach 2004-06-16 05:26:51 UTC
BTW, epiphany also crashes at the end of any clip :-)

And some debugging output from firefox 0.9 (compiled with debug info)
(...)
----player thread: playing url: http://movies.apple.com/movies/fox/avp/avp_int_exclusive_m240.mov

Program /usr/lib/MozillaFirefox/firefox-bin (pid = 22336) received signal 11.
Stack:
in gtkgui_save_enable
in drawMediaProgress method
_ZN13nsProfileLock18FatalSignalHandlerEi+0x0000005D [/usr/lib/MozillaFirefox/fir efox-bin +0x0002A59D]
UNKNOWN 0xffffe420
_Z12playPlaylistPv+0x0000054E [/usr/lib/nsbrowser/plugins/mplayerplug-in.so +0x0 001E77E]
UNKNOWN [/lib/libpthread.so.0 +0x00005ACC]

#0  0xffffe410 in ?? ()
#1  0xbfffee58 in ?? ()
#2  0x00000018 in ?? ()
#3  0x00000009 in ?? ()
#4  0x4090f534 in poll () from /lib/libc.so.6
#5  0x40660f66 in g_main_loop_get_context () from /usr/lib/libglib-2.0.so.0
#6  0x406629ce in g_idle_remove_by_data () from /usr/lib/libglib-2.0.so.0
#7  0x40660a93 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#8  0x4037b263 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#9  0x42c65982 in nsAppShell::ReleaseGlobals ()
   from /usr/lib/MozillaFirefox/components/libwidget_gtk2.so
#10 0x423ca47a in nsAppShellService::AttemptingQuit ()
   from /usr/lib/MozillaFirefox/components/libnsappshell.so
#11 0x0805f419 in xre_main ()
#12 0x08059fc3 in main ()
Comment 52 Serge Matveev 2004-06-17 23:50:10 UTC
oops, sorry
Comment 53 Mike Auty (RETIRED) gentoo-dev 2004-06-18 14:23:22 UTC
Created attachment 33533 [details, diff]
Patch for locked mutex problem with mplayerplug-in under NPTL systems

Ok,

I *think* I may finally have tracked this one down.  Thanks to Kevin's comments
and a bit of checking through the source I discovered that the compiler does
not optimize out the break.  The procedure locks a mutex (not that I know what
that means) early on, it then checks if there's anything to play and if not it
breaks out of the main loop.  It does *NOT* unlock the mutex before doing so. 
I'm *fairly* sure this is a bad thing(tm) and that fixing this will fix the
problem.

I've attached a patch, which I've tried and seems to solve the problem for me. 
It's a really bad hack, and basically uses a flag to delay leaving the loop
until after the mutex has been unlocked.  I didn't want to refer to local_list
outside of the mutex lock, because I haven't got a clue what those mutex locks
are doing and didn't want to disturb anything.	Hopefully a better fix can be
written (trying to unlock next to the break causes compiler errors, so I think
the cleanup_pop function is in fact a macro of some kind), but this should
work.

If people could test this out for me, or someone add it into the official
ebuild that would be absolutely fantastic.  Hope this is it...

Mike  5:)
Comment 54 Kevin DeKorte 2004-06-18 14:40:43 UTC
Actually, it might be much simpler

Change

	if (local_list == NULL) {
	    if (DEBUG)
		printf("----player thread: nothing on the list to play\n");
	    break;
	}

to (basically add the unlock and see if that does it).

	if (local_list == NULL) {
	    if (DEBUG)
		printf("----player thread: nothing on the list to play\n");
	    pthread_mutex_unlock(&(local_td->instance->playlist_mutex));
	    break;
	}

Let me know if this works and if so I'll merge into the main code.
Comment 55 Mike Auty (RETIRED) gentoo-dev 2004-06-18 16:46:20 UTC
Thanks for the suggestion,

Sadly I had already tried that (once I had parse errors with the cleanup_pop code) but it didn't work (still crashes reliably) hence the reshuffling to get the cleanup_pop code in there as well.  I can try out any other bits of test code, would it be alright to refer to the local_list variable after unlocking the mutex?  If that's the case then you can simply move the check below the unlocking and it should all be fine (just a 5 line code move, no real changes).  I don't really know what I'm locking which is why I went for the overly cautious fix...

Mike  5:)
Comment 56 Collins Richey 2004-06-18 17:55:49 UTC
Just curious. Has anybody contacted the author upstream rather than guessing about the purpose of the mutex? According to another list, the author of mplayerplug-in is quite responsive to suggestions.
Comment 57 Kevin DeKorte 2004-06-18 19:53:16 UTC
Ok, I committed a change to the mplayerplug-in tree that is very similar to Mike's patch. I basically renamed a couple of variables and fixed up a couple of things to my style. It should be available in a couple of hours from Source Forge. 

Collins yes, I have been contacted. :) 
Comment 58 Kevin DeKorte 2004-06-18 19:58:17 UTC
Mike,

The patch you wrote really is not a bad hack pthread_cleanup_[push|pop] are macros and that is why they give the compiler so much grief when they are not at the same level. When that code was first merged in, I fought with it alot. What you did is perfectly valid for this case. Gold Star for doing the debug work.

Kevin 
Comment 59 Jeff 2004-06-19 01:28:24 UTC
Thank you Kevin & Mike, works here.
Comment 60 Mike Auty (RETIRED) gentoo-dev 2004-06-19 02:13:10 UTC
Thanks for merging that in Kevin,

Code from CVS seems to work perfectly, I think this thing can finally be marked as resolved!  5:)

Shame we just missed the 2.65 release by a day!  Ahh well, least it'll be fixed in the next one...
Comment 61 Kevin DeKorte 2004-06-19 07:16:05 UTC
mplayerplug-in 2.66 has been released with this fix in it
Comment 62 Martin Holzer (RETIRED) gentoo-dev 2004-06-21 04:31:17 UTC
2.66 is in cvs