Bug 88715 - [Browser] dispose inside VisibilityWindowListener#show() crashes Mozilla
Summary: [Browser] dispose inside VisibilityWindowListener#show() crashes Mozilla
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.1   Edit
Hardware: PC Linux-GTK
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Grant Gayed CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-22 04:17 EST by Benjamin Pasero CLA
Modified: 2006-04-05 17:25 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Pasero CLA 2005-03-22 04:17:43 EST
A user posted the following message:

When running rssowl_linux_1_1_2005_03_12_bin, clicking
anywhere, on any page, in the internal browser, causes
rssowl to crash with an error like this:

#
# An unexpected error has been detected by HotSpot Virtual Machine:
#
# SIGSEGV (0xb) at pc=0x0829ade9, pid=24325, tid=16384
#
# Java VM: Java HotSpot(TM) Client VM (1.5.0_01-b08 mixed mode, sharing)
# Problematic frame:
# C 0x0829ade9
#
# An error report file with more information is saved as hs_err_pid24325.log
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
#
./run.sh: line 2: 24325 Aborted java
-Xmx134217728 -jar -Djava.library.path=. rssowl.jar

This is using mozilla-1.7.6-0.cvs.20050309 on Fedora
Core 4 test 1.

The external browser (same version of mozilla) does not
exhibit this bug.

Note that this RSSOwl version is using the latest SWT.

Ben
Comment 1 Robin Green CLA 2005-03-22 08:28:42 EST
Same problem occurs with the mozilla-1.7.3-xft-gtk2, mozilla 1.7-xft-gtk2 and
mozilla 1.6-xft-gtk2 builds from mozilla.org - even though the FAQ implies that
1.6 should definitely work!

This is with libswt-mozilla-gtk-3123.so.
Comment 2 Christophe Cornu CLA 2005-03-22 14:36:50 EST
Robin: can you try these GTK2 builds from the Mozilla XFT website
http://www.braindrain.be/mozilla/

In particular:
http://www.braindrain.be/mozilla/tar/mozilla-1.6-xft-gtk2-pc-linux.tar.bz2

Or this 1.7 build one:
http://www.braindrain.be/mozilla/tar/mozilla-1.7-xft-gtk2-pc-linux-gnu.tar.bz2

We suspect there are intermittent crashes with the GTK2 builds contributed by 
Mozilla.org, but not with the ones from Mozilla XFT (bug 84053).

Please let us know if these builds are 'fixing' the crashes for you.

*** This bug has been marked as a duplicate of 84053 ***
Comment 3 Robin Green CLA 2005-03-22 21:31:43 EST
The same bug occurs with _both_ of those.

I believe this is a new issue.
Comment 4 Christophe Cornu CLA 2005-03-23 18:29:25 EST
We have not tested Fedora Core 4 test 1 yet. The Browser seemed to work fine 
in Red Hat EL4 (Mozilla 1.7.3 and Firefox 1.0).
Comment 5 Robin Green CLA 2005-03-24 21:04:45 EST
The same bug occurs on Fedora Core 3, with RSSOwl 1.1 final, so it is not a
Fedora-4-specific issue.
Comment 6 Robin Green CLA 2005-04-02 22:24:34 EST
valgrind --tool=addrcheck shows the following errors after the user clicks, and
after these errors the program segfaults:

==29483== Invalid read of size 4
==29483==    at 0x381C5F43: ??? (nsDocShellTreeOwner.cpp:186)
==29483==    by 0x373D5071: nsGetInterface::operator()(nsID const&, void**)
const (nsIInterfaceRequestorUtils.cpp:53)
==29483==    by 0x373D39AA: nsCOMPtr_base::assign_from_helper(nsCOMPtr_helper
const&, nsID const&) (nsCOMPtr.cpp:114)
==29483==    by 0x386D99FC: ??? (nsCOMPtr.h:588)
==29483==    by 0x386D5E88: ??? (nsGlobalWindow.cpp:2702)
==29483==    by 0x385B7427: ??? (nsEventStateManager.cpp:747)
==29483==    by 0x3845FBC9: ??? (nsPresShell.cpp:6053)
==29483==    by 0x3846067F: ??? (nsPresShell.cpp:5921)
==29483==    by 0x386BBBD0: ??? (nsViewManager.cpp:2278)
==29483==    by 0x386BEC40: ??? (nsViewManager.cpp:2066)
==29483==    by 0x386B6A57: ??? (nsView.cpp:74)
==29483==    by 0x3818D397: ??? (nsCommonWidget.cpp:215)
==29483==  Address 0x36C26600 is 0 bytes inside a block of size 4 free'd
==29483==    at 0x3414F7B3: free (vg_replace_malloc.c:152)
==29483==    by 0x3642FD4: PR_Free (in /usr/lib/libnspr4.so)
==29483==    by 0x372D96DC: Java_org_eclipse_swt_internal_mozilla_XPCOM_PR_1Free
(in /usr/lib/eclipse/libswt-mozilla-gtk-3123.so)
==29483==    by 0x372B07EB:
org::eclipse::swt::internal::mozilla::XPCOM::PR_Free(int) (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt-mozilla.jar.so)
==29483==    by 0x363B7708:
org::eclipse::swt::internal::mozilla::XPCOMObject::dispose() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x3630665C:
org::eclipse::swt::browser::Browser::disposeCOMInterfaces() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)         
==29483==    by 0x36308D68: org::eclipse::swt::browser::Browser::Release() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x36307110: org::eclipse::swt::browser::Browser::onDispose() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x36302CD2:
org::eclipse::swt::browser::Browser$1::handleEvent(org::eclipse::swt::widgets::Event*)
(in /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x363E7455:
org::eclipse::swt::widgets::EventTable::sendEvent(org::eclipse::swt::widgets::Event*)
(in /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x36425213:
org::eclipse::swt::widgets::Widget::sendEvent(org::eclipse::swt::widgets::Event*)
(in /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x3642530F: org::eclipse::swt::widgets::Widget::sendEvent(int,
org::eclipse::swt::widgets::Event*, bool) (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==
==29483== Invalid read of size 4
==29483==    at 0x381C5F4A: ??? (nsDocShellTreeOwner.cpp:186)
==29483==    by 0x373D5071: nsGetInterface::operator()(nsID const&, void**)
const (nsIInterfaceRequestorUtils.cpp:53)
==29483==    by 0x373D39AA: nsCOMPtr_base::assign_from_helper(nsCOMPtr_helper
const&, nsID const&) (nsCOMPtr.cpp:114)
==29483==    by 0x386D99FC: ??? (nsCOMPtr.h:588)
==29483==    by 0x386D5E88: ??? (nsGlobalWindow.cpp:2702)
==29483==    by 0x385B7427: ??? (nsEventStateManager.cpp:747)
==29483==    by 0x3845FBC9: ??? (nsPresShell.cpp:6053)
==29483==    by 0x3846067F: ??? (nsPresShell.cpp:5921)
==29483==    by 0x386BBBD0: ??? (nsViewManager.cpp:2278)
==29483==    by 0x386BEC40: ??? (nsViewManager.cpp:2066)
==29483==    by 0x386B6A57: ??? (nsView.cpp:74)
==29483==    by 0x3818D397: ??? (nsCommonWidget.cpp:215)
==29483==  Address 0x36F11084 is 12 bytes inside a block of size 16 free'd
==29483==    at 0x3414F7B3: free (vg_replace_malloc.c:152)
==29483==    by 0x3642FD4: PR_Free (in /usr/lib/libnspr4.so)
==29483==    by 0x372D96DC: Java_org_eclipse_swt_internal_mozilla_XPCOM_PR_1Free
(in /usr/lib/eclipse/libswt-mozilla-gtk-3123.so)
==29483==    by 0x372B07EB:
org::eclipse::swt::internal::mozilla::XPCOM::PR_Free(int) (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt-mozilla.jar.so)
==29483==    by 0x363B76F9:
org::eclipse::swt::internal::mozilla::XPCOMObject::dispose() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x3630665C:
org::eclipse::swt::browser::Browser::disposeCOMInterfaces() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x36308D68: org::eclipse::swt::browser::Browser::Release() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x36307110: org::eclipse::swt::browser::Browser::onDispose() (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x36302CD2:
org::eclipse::swt::browser::Browser$1::handleEvent(org::eclipse::swt::widgets::Event*)
(in /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x363E7455:
org::eclipse::swt::widgets::EventTable::sendEvent(org::eclipse::swt::widgets::Event*)
(in /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x36425213:
org::eclipse::swt::widgets::Widget::sendEvent(org::eclipse::swt::widgets::Event*)
(in /usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==    by 0x3642530F: org::eclipse::swt::widgets::Widget::sendEvent(int,
org::eclipse::swt::widgets::Event*, bool) (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt.jar.so)
==29483==
==29483== Invalid read of size 4
==29483==    at 0x3818B0CD: ??? (nsCOMPtr.h:553)
==29483==    by 0x3818845B: ??? (nsWindow.cpp:1410)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x623E6A: g_signal_emit_valist (in
/usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x62446A: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0xA3B7E2: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95E5D6: gtk_propagate_event (in
/usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95EA3B: gtk_main_do_event (in /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x368A1AF8:
Java_org_eclipse_swt_internal_gtk_OS__1gtk_1main_1do_1event (in
/usr/lib/eclipse/libswt-pi-gtk-3123.so)
==29483==  Address 0x38BF15C8 is 0 bytes inside a block of size 220 free'd
==29483==    at 0x3414F93F: operator delete(void*) (vg_replace_malloc.c:155)
==29483==    by 0x38187DA0: ??? (nsWindow.cpp:3921)
==29483==    by 0x38198329: ??? (nsBaseWidget.cpp:63)
==29483==    by 0x3818324E: ??? (nsWindow.cpp:298)
==29483==    by 0x3818D3C1: ??? (nsCommonWidget.cpp:221)
==29483==    by 0x3818D748: ??? (nsCommonWidget.cpp:178)
==29483==    by 0x381881FC: ??? (nsWindow.cpp:3881)
==29483==    by 0x38188407: ??? (nsWindow.cpp:1392)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==
==29483==
==29483== Invalid read of size 4
==29483==    at 0x3818C082: ??? (nsISupportsImpl.h:86)
==29483==    by 0x3818B0D2: ??? (nsCOMPtr.h:553)
==29483==    by 0x3818845B: ??? (nsWindow.cpp:1410)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x623E6A: g_signal_emit_valist (in
/usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x62446A: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0xA3B7E2: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95E5D6: gtk_propagate_event (in
/usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95EA3B: gtk_main_do_event (in /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==  Address 0x38BF15CC is 4 bytes inside a block of size 220 free'd
==29483==    at 0x3414F93F: operator delete(void*) (vg_replace_malloc.c:155)
==29483==    by 0x38187DA0: ??? (nsWindow.cpp:3921)
==29483==    by 0x38198329: ??? (nsBaseWidget.cpp:63)
==29483==    by 0x3818324E: ??? (nsWindow.cpp:298)
==29483==    by 0x3818D3C1: ??? (nsCommonWidget.cpp:221)
==29483==    by 0x3818D748: ??? (nsCommonWidget.cpp:178)
==29483==    by 0x381881FC: ??? (nsWindow.cpp:3881)
==29483==    by 0x38188407: ??? (nsWindow.cpp:1392)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==
==29483== Invalid write of size 4
==29483==    at 0x3818C085: ??? (nsISupportsImpl.h:86)
==29483==    by 0x3818B0D2: ??? (nsCOMPtr.h:553)
==29483==    by 0x3818845B: ??? (nsWindow.cpp:1410)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x623E6A: g_signal_emit_valist (in
/usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x62446A: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0xA3B7E2: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95E5D6: gtk_propagate_event (in
/usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95EA3B: gtk_main_do_event (in /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==  Address 0x38BF15CC is 4 bytes inside a block of size 220 free'd
==29483==    at 0x3414F93F: operator delete(void*) (vg_replace_malloc.c:155)
==29483==    by 0x38187DA0: ??? (nsWindow.cpp:3921)
==29483==    by 0x38198329: ??? (nsBaseWidget.cpp:63)
==29483==    by 0x3818324E: ??? (nsWindow.cpp:298)
==29483==    by 0x3818D3C1: ??? (nsCommonWidget.cpp:221)
==29483==    by 0x3818D748: ??? (nsCommonWidget.cpp:178)
==29483==    by 0x381881FC: ??? (nsWindow.cpp:3881)
==29483==    by 0x38188407: ??? (nsWindow.cpp:1392)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==
==29483== ---- Attach to debugger ? --- [Return/N/n/Y/y/C/c] ---- N
==29483==
==29483== Invalid read of size 4
==29483==    at 0x3819803A: ??? (nsBaseWidget.cpp:63)
==29483==    by 0x3818B0D2: ??? (nsCOMPtr.h:553)
==29483==    by 0x3818845B: ??? (nsWindow.cpp:1410)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x623E6A: g_signal_emit_valist (in
/usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x62446A: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0xA3B7E2: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95E5D6: gtk_propagate_event (in
/usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95EA3B: gtk_main_do_event (in /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==  Address 0x38BF15CC is 4 bytes inside a block of size 220 free'd
==29483==    at 0x3414F93F: operator delete(void*) (vg_replace_malloc.c:155)
==29483==    by 0x38187DA0: ??? (nsWindow.cpp:3921)                          
==29483==    by 0x38198329: ??? (nsBaseWidget.cpp:63)
==29483==    by 0x3818324E: ??? (nsWindow.cpp:298)
==29483==    by 0x3818D3C1: ??? (nsCommonWidget.cpp:221)
==29483==    by 0x3818D748: ??? (nsCommonWidget.cpp:178)
==29483==    by 0x381881FC: ??? (nsWindow.cpp:3881)
==29483==    by 0x38188407: ??? (nsWindow.cpp:1392)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==
==29483==
==29483== Invalid read of size 4
==29483==    at 0x3818847D: ??? (nsWindow.cpp:1415)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x623E6A: g_signal_emit_valist (in
/usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x62446A: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0xA3B7E2: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95E5D6: gtk_propagate_event (in
/usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x95EA3B: gtk_main_do_event (in /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x368A1AF8:
Java_org_eclipse_swt_internal_gtk_OS__1gtk_1main_1do_1event (in
/usr/lib/eclipse/libswt-pi-gtk-3123.so)
==29483==    by 0x366EA4C3:
org::eclipse::swt::internal::gtk::OS::_gtk_main_do_event(int) (in
/usr/lib/eclipse/plugins/org.eclipse.swt.gtk_3.1.0/ws/gtk/swt-pi.jar.so)
==29483==  Address 0x38BF15C8 is 0 bytes inside a block of size 220 free'd
==29483==    at 0x3414F93F: operator delete(void*) (vg_replace_malloc.c:155)
==29483==    by 0x38187DA0: ??? (nsWindow.cpp:3921)
==29483==    by 0x38198329: ??? (nsBaseWidget.cpp:63)
==29483==    by 0x3818324E: ??? (nsWindow.cpp:298)
==29483==    by 0x3818D3C1: ??? (nsCommonWidget.cpp:221)
==29483==    by 0x3818D748: ??? (nsCommonWidget.cpp:178)
==29483==    by 0x381881FC: ??? (nsWindow.cpp:3881)
==29483==    by 0x38188407: ??? (nsWindow.cpp:1392)
==29483==    by 0x38188541: ??? (nsWindow.cpp:3290)
==29483==    by 0x95FE71: (within /usr/lib/libgtk-x11-2.0.so.0.600.4)
==29483==    by 0x613161: g_closure_invoke (in /usr/lib/libgobject-2.0.so.0.600.3)
==29483==    by 0x6229AA: (within /usr/lib/libgobject-2.0.so.0.600.3)
==29483==
Comment 7 Benjamin Pasero CLA 2005-04-04 02:47:08 EDT
From a user:

This appears to be caused by a bug in the popup blocking
code in rssowl. Here is a suspicious stack trace captured in
jdb:

Breakpoint hit: "thread=main",
org.eclipse.swt.browser.Browser.onDispose(), line=887 bci=0

main[1] where
  [1] org.eclipse.swt.browser.Browser.onDispose
(Browser.java:887)
  [2] org.eclipse.swt.browser.Browser$1.handleEvent
(Browser.java:309)
  [3] org.eclipse.swt.widgets.EventTable.sendEvent
(EventTable.java:82)
  [4] org.eclipse.swt.widgets.Widget.sendEvent
(Widget.java:1,009)
  [5] org.eclipse.swt.widgets.Widget.sendEvent
(Widget.java:1,033)
  [6] org.eclipse.swt.widgets.Widget.sendEvent
(Widget.java:1,014)
  [7] org.eclipse.swt.widgets.Widget.releaseWidget
(Widget.java:920)
  [8] org.eclipse.swt.widgets.Control.releaseWidget
(Control.java:2,364)
  [9] org.eclipse.swt.widgets.Scrollable.releaseWidget
(Scrollable.java:277)
  [10] org.eclipse.swt.widgets.Composite.releaseWidget
(Composite.java:930)
  [11] org.eclipse.swt.widgets.Widget.dispose (Widget.java:394)
  [12]
net.sourceforge.rssowl.controller.panel.BrowserPanel.dispose
(BrowserPanel.java:149)
  [13] net.sourceforge.rssowl.model.TabItemData.dispose
(TabItemData.java:134)
  [14]
net.sourceforge.rssowl.controller.NewsTabFolder.closeTab
(NewsTabFolder.java:233)
  [15]
net.sourceforge.rssowl.controller.panel.BrowserPanel$6.show
(BrowserPanel.java:315)
  [16] org.eclipse.swt.browser.Browser.SetVisibility
(Browser.java:1,819)
  [17] org.eclipse.swt.browser.Browser$8.method7
(Browser.java:625)
  [18]
org.eclipse.swt.internal.mozilla.XPCOMObject.callback7
(XPCOMObject.java:654)
  [19] org.eclipse.swt.internal.gtk.OS._gtk_main_do_event
(native method)
  [20] org.eclipse.swt.internal.gtk.OS.gtk_main_do_event
(OS.java:4,666)
  [21] org.eclipse.swt.widgets.Display.eventProc
(Display.java:926)
  [22]
org.eclipse.swt.internal.gtk.OS._g_main_context_iteration
(native method)
  [23]
org.eclipse.swt.internal.gtk.OS.g_main_context_iteration
(OS.java:1,110)
  [24] org.eclipse.swt.widgets.Display.readAndDispatch
(Display.java:2,425)
  [25] net.sourceforge.rssowl.controller.GUI.runEventLoop
(GUI.java:577)
  [26] net.sourceforge.rssowl.controller.GUI.showGui
(GUI.java:742)
  [27] net.sourceforge.rssowl.controller.RSSOwlLoader$1.run
(RSSOwlLoader.java:111)
  [28] org.eclipse.swt.widgets.RunnableLock.run
(RunnableLock.java:35)
  [29] org.eclipse.swt.widgets.Synchronizer.runAsyncMessages
(Synchronizer.java:118)
  [30] org.eclipse.swt.widgets.Display.runAsyncMessages
(Display.java:2,705)
  [31] org.eclipse.swt.widgets.Display.readAndDispatch
(Display.java:2,430)
  [32] net.sourceforge.rssowl.controller.RSSOwlLoader.<init>
(RSSOwlLoader.java:118)
  [33] net.sourceforge.rssowl.controller.RSSOwlLoader.main
(RSSOwlLoader.java:136)

When this method is called, rssowl disposes the browser COM
interfaces, but then immediately afterwards it tries to send
an event to the browser anyway, which probably causes the
crash in native code (see my valgrind stack traces in the
eclipse bug report for details).

He checked that this bug does not occur when popup blockling
is disabled in RSSOwl.

What I am doing if popup blocking is enabled is:

Inside VisibilityWindowListener#show() I am disposing the Browser.
Looking into the Snippet that shows popup blocking, this is done
in an asyncExec. I am not doing it inside an asyncExec. May this
be the problem?

Ben
Comment 8 Christophe Cornu CLA 2005-04-04 12:38:38 EDT
>I am disposing the Browser.
>Looking into the Snippet that shows popup blocking, this is done
>in an asyncExec. I am not doing it inside an asyncExec. May this
> be the problem?

Yes. Keeping PR opened to investigate ways to not crash in that case.
Comment 9 Steve Northover CLA 2006-04-05 15:06:59 EDT
Ben, does this still happen for you?
Comment 10 Benjamin Pasero CLA 2006-04-05 16:54:17 EDT
I think not. Feel free to close. I can open new bugs if I get news from my linux users.

Ben
Comment 11 Steve Northover CLA 2006-04-05 17:25:16 EDT
Thanks