Closed
Bug 397992
Opened 18 years ago
Closed 18 years ago
Gtk-CRITICAL assertion `GTK_IS_WIDGET (widget)' failed at exit Firefox
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: ginnchen+exoracle, Assigned: ginnchen+exoracle)
Details
Attachments
(1 file)
1.13 KB,
patch
|
roc
:
review+
roc
:
superreview+
roc
:
approval1.9+
|
Details | Diff | Splinter Review |
Download latest Flash 9 plugin beta at labs.adobe.com
It is an Xembed plugin now.
Start Firefox from a console.
Go to www.youtube.com, click a movie, quit Firefox.
You may see following warning in console.
(Gecko:7667): Gtk-CRITICAL **: file gtkwidget.c: line 2166: assertion `GTK_IS_WIDGET (widget)' failed
I think the cause is,
mGtkSocket may be destroyed when nsWindow is destroyed.
Because gtk_container_destroy will destroy any GtkWidget inside.
Stack here:
=>[2] moz_container_forall(container = 0x13c380, include_internals = 0, callback = 0xfe9c7594 = >k_widget_destroy(), callback_data = (nil)), line 413 in "mozcontainer.c"
[3] gtk_container_destroy(0x0, 0x3400, 0x2c37b8, 0xffbfcb60, 0x4aac8,
0x13c380), at 0xfe7f6da8
[4] g_closure_invoke(0x1, 0x0, 0x1, 0xffbfcb60, 0xffbfc9f4, 0x4aac8), at 0xfe4af544
[5] signal_emit_unlocked_R(0x0, 0x0, 0xfe4f0ef8, 0x7, 0xfe5ba408, 0xfe5ba3f8), at 0xfe4c8744
[6] g_signal_emit_valist(0x13c380, 0x7, 0xffbfcb78, 0xffbfcd90, 0x4b840, 0xfe4f0ef8), at 0xfe4c6ff4
[7] g_signal_emit(0x13c380, 0x7, 0x0, 0x13c380, 0x2c32ec, 0xac00), at 0xfe4c7338
[8] gtk_object_dispose(0x13c380, 0xb400, 0xeb1d0, 0xfeaba50c, 0x202168, 0x13c380), at 0xfe8b83e8
[9] g_object_run_dispose(0x13c380, 0x15000, 0xfe9c7594, 0xfe9cf338, 0x3e2f0, 0x3f4300), at 0xfe4b1e90
[10] gtk_container_destroy(0x0, 0x3e00, 0x2c37b8, 0xfeaba50c, 0xe2d3c, 0x149b48), at 0xfe7f6da8
[11] g_closure_invoke(0x0, 0x0, 0x1, 0xffbfd0f0, 0xffbfcf84, 0x4aac8), at 0xfe4af518
[12] signal_emit_unlocked_R(0x0, 0x1, 0xfe4f0ef8, 0x7, 0xfe5ba408, 0xfe5ba3f8), at 0xfe4c8744
[13] g_signal_emit_valist(0x149b48, 0x7, 0xffbfd108, 0xffbfd320, 0x4b840, 0xfe4f0ef8), at 0xfe4c6ff4
[14] g_signal_emit(0x149b48, 0x7, 0x0, 0x39a1c, 0x6, 0x149b4c), at 0xfe4c7338
[15] gtk_object_dispose(0x149b48, 0xb400, 0xeb1d0, 0xfeaba50c, 0x202168, 0x149b48), at 0xfe8b83e8
[16] g_object_run_dispose(0x149b48, 0x15000, 0x0, 0xfe9d4650, 0x3e2f0, 0x145a10), at 0xfe4b1e90
[17] nsWindow::Destroy(this = 0x56a8f0), line 481 in "nsWindow.cpp"
[18] nsWindow::~nsWindow(this = 0x56a8f0), line 365 in "nsWindow.cpp"
But mGtkSocket still holds the pointer in this case.
So we will have a problem.
Stack:
[1] g_logv(0xfea3b574, 0x8, 0xfea3b578, 0xffbfd298, 0xfeaba50c, 0x0), at 0xfe5472b8
[2] g_log(0xfea3b574, 0x8, 0xfea3b578, 0xfea3c754, 0x876, 0xfea3c760), at 0xfe547768
=>[3] nsPluginNativeWindowGtk2::~nsPluginNativeWindowGtk2(this = 0x2493bb0), line 97 in "nsPluginNativeWindowGtk2.cpp"
[4] __SLIP.DELETER__A(0x2493bb0, 0x1, 0xffbfd368, 0xb859, 0x1, 0xff262a00), at 0xf90221a0
[5] PLUG_DeletePluginNativeWindow(aPluginNativeWindow = 0x2493bb0), line 113 in "nsPluginNativeWindowGtk2.cpp"
[6] nsPluginHostImpl::DeletePluginNativeWindow(this = 0xf301a0, aPluginNativeWindow = 0x2493bb0), line 6822 in "nsPluginHostImpl.cpp"
[7] nsPluginInstanceOwner::~nsPluginInstanceOwner(this = 0x1f80c08), line 1692 in "nsObjectFrame.cpp"
[8] __SLIP.DELETER__C(0x1f80c08, 0x1, 0xf88bd5ef, 0xff385c80, 0xc, 0xff262a0c), at 0xf79af7b0
[9] nsPluginInstanceOwner::Release(this = 0x1f80c08), line 1702 in "nsObjectFrame.cpp"
[10] nsPluginInstancePeerImpl::~nsPluginInstancePeerImpl(this = 0x2493ef0), line 78 in "nsPluginInstancePeer.cpp"
Status: NEW → ASSIGNED
Attachment #282818 -
Flags: review?(roc)
Attachment #282818 -
Flags: superreview+
Attachment #282818 -
Flags: review?(roc)
Attachment #282818 -
Flags: review+
Attachment #282818 -
Flags: approval1.9+
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Updated•3 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•