Closed Bug 640908 Opened 13 years ago Closed 13 years ago

Enabling and disabling IcedTea NPR Web Browser Plugin crashes Firefox when on certain websites [@ linux-gate.so@0x422 ] | ABORT: Main-thread-only object used off the main thread

Categories

(Plugins Graveyard :: Java (IcedTea), defect)

x86
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: george.carstoiu, Unassigned)

References

Details

(Keywords: crash)

Crash Data

Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0

Crash reports: 

bp-ba8be4e9-7119-410c-9ff3-32d852110311

bp-ee118c42-2e3d-4fe9-9c1e-d66132110311

When accessing: 
https://nettbank.fokus.no/html/index.html?site=FONB&secsystem=ND

and enabling and disabling IcedTea NPR Web Browser Plugin chrashes Firefox.

Steps to reproduce:
 1. Access https://nettbank.fokus.no/html/index.html?site=FONB&secsystem=ND
 2. Open Add-on manager and disable IcedTea NPR Web Browser Plugin
 3. Go back to webpage and refresh
 4. Enable plugin
 5. Go to webpage and refresh

Actual results: 
 - FF crashes

Expected results:
 - page is displayed
Probably a bug in the Plugin
Component: General → Plug-ins
Product: Firefox → Core
QA Contact: general → plugins
Summary: Enabling and disabling IcedTea NPR Web Browser Plugin crashes Firefox when on certain websites → Enabling and disabling IcedTea NPR Web Browser Plugin crashes Firefox when on certain websites [@ linux-gate.so@0x422 ]
It looks as if the icedtea plugin is causing an X expose event to be delivered on a thread other than the main thread. This is definitely bad, and almost certainly a bug in the plugin.
Signature	linux-gate.so@0x422
UUID	ba8be4e9-7119-410c-9ff3-32d852110311
Time 	2011-03-11 02:23:59.331470
Uptime	400
Last Crash	405 seconds (6.8 minutes) before submission
Install Age	542 seconds (9.0 minutes) since version was first installed.
Product	Firefox
Version	4.0
Build ID	20110303140816
Branch	2.0
OS	Linux
OS Version	0.0.0 Linux 2.6.32-30-generic #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011 i686
CPU	x86
CPU Info	GenuineIntel family 15 model 4 stepping 3
Crash Reason	SIGABRT
Crash Address	0x163e
User Comments	
App Notes 	xpcom_runtime_abort(###!!! ABORT: Main-thread-only object used off the main thread: file /builds/slave/rel-2.0-lnx-bld/build/xpcom/base/nsCycleCollector.cpp, line 1195)
Processor Notes 	
EMCheckCompatibility	False
Bugzilla - Report this Crash
Related Bugs

Crashing Thread
Frame 	Module 	Signature [Expand] 	Source
0 	linux-gate.so 	linux-gate.so@0x422 	
1 	libc-2.11.1.so 	libc-2.11.1.so@0x2da81 	
2 	libmozalloc.so 	mozalloc_abort 	mozalloc_abort.cpp:75
3 	libxul.so 	NS_DebugBreak_P 	xpcom/base/nsDebugImpl.cpp:393
4 	libxul.so 	AbortIfOffMainThreadIfCheckFast 	xpcom/base/nsCycleCollector.cpp:1195
5 	libxul.so 	nsCycleCollector::Forget2 	xpcom/base/nsCycleCollector.cpp:2404
6 	libxul.so 	NS_CycleCollectorForget2_P 	xpcom/base/nsCycleCollector.cpp:3251
7 	libxul.so 	nsDocument::AddRef 	nsISupportsImpl.h:161
8 	libxul.so 	NS_TableDrivenQI 	nsISupportsImpl.cpp:49
9 	libxul.so 	nsHTMLDocument::QueryInterface 	content/html/document/src/nsHTMLDocument.cpp:322
10 	libxul.so 	nsQueryInterface::operator 	nsCOMPtr.cpp:47
11 	libxul.so 	nsCOMPtr_base::assign_from_qi 	nsCOMPtr.cpp:96
12 	libxul.so 	nsCSSRendering::FindBackgroundStyleFrame 	nsCOMPtr.h:595
13 	libxul.so 	nsCSSRendering::FindRootFrameBackground 	layout/base/nsCSSRendering.cpp:1007
14 	libxul.so 	PresShell::UpdateCanvasBackground 	layout/base/nsPresShell.cpp:5950
15 	libxul.so 	nsDisplayListBuilder::EnterPresShell 	layout/base/nsDisplayList.cpp:266
16 	libxul.so 	nsSubDocumentFrame::BuildDisplayList 	layout/generic/nsSubDocumentFrame.cpp:370
17 	libxul.so 	nsIFrame::BuildDisplayListForStackingContext 	layout/generic/nsFrame.cpp:1455
18 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1723
19 	libxul.so 	nsStackFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsStackFrame.cpp:89
20 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
21 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
22 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
23 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
24 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
25 	libxul.so 	nsGfxScrollFrameInner::BuildDisplayList 	layout/generic/nsGfxScrollFrame.cpp:1882
26 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
27 	libxul.so 	nsDeckFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsDeckFrame.cpp:248
28 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
29 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
30 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
31 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
32 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
33 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
34 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
35 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
36 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
37 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
38 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
39 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
40 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
41 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
42 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
43 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
44 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
45 	libxul.so 	nsDeckFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsDeckFrame.cpp:248
46 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
47 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
48 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
49 	libxul.so 	nsBoxFrame::BuildDisplayList 	layout/xul/base/src/nsBoxFrame.cpp:1321
50 	libxul.so 	BuildDisplayListWithOverflowClip 	layout/generic/nsFrame.cpp:1356
51 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1704
52 	libxul.so 	nsBoxFrame::BuildDisplayListForChildren 	layout/xul/base/src/nsBoxFrame.cpp:1359
53 	libxul.so 	nsRootBoxFrame::BuildDisplayList 	layout/xul/base/src/nsRootBoxFrame.cpp:250
54 	libxul.so 	nsIFrame::BuildDisplayListForChild 	layout/generic/nsFrame.cpp:1706
55 	libxul.so 	ViewportFrame::BuildDisplayList 	layout/generic/nsViewportFrame.cpp:115
56 	libxul.so 	nsIFrame::BuildDisplayListForStackingContext 	layout/generic/nsFrame.cpp:1455
57 	libxul.so 	nsLayoutUtils::PaintFrame 	layout/base/nsLayoutUtils.cpp:1457
58 	libxul.so 	PresShell::Paint 	layout/base/nsPresShell.cpp:6203
59 	libxul.so 	nsViewManager::RenderViews 	view/src/nsViewManager.cpp:458
60 	libxul.so 	nsViewManager::Refresh 	view/src/nsViewManager.cpp:424
61 	libxul.so 	nsViewManager::DispatchEvent 	view/src/nsViewManager.cpp:925
62 	libxul.so 	HandleEvent 	view/src/nsView.cpp:161
63 	libxul.so 	nsWindow::DispatchEvent 	widget/src/gtk2/nsWindow.cpp:563
64 	libxul.so 	nsWindow::OnExposeEvent 	widget/src/gtk2/nsWindow.cpp:2252
65 	libxul.so 	expose_event_cb 	widget/src/gtk2/nsWindow.cpp:5507
66 	libgtk-x11-2.0.so.0.2000.1 	libgtk-x11-2.0.so.0.2000.1@0x13d423 	
67 	libgobject-2.0.so.0.2400.1 	libgobject-2.0.so.0.2400.1@0xb251 	
68 	libgobject-2.0.so.0.2400.1 	libgobject-2.0.so.0.2400.1@0x1f99c 	
69 	libgobject-2.0.so.0.2400.1 	libgobject-2.0.so.0.2400.1@0x20c32 	
70 	libgobject-2.0.so.0.2400.1 	libgobject-2.0.so.0.2400.1@0x21255 	
71 	libgtk-x11-2.0.so.0.2000.1 	libgtk-x11-2.0.so.0.2000.1@0x26a635 	
72 	libgtk-x11-2.0.so.0.2000.1 	libgtk-x11-2.0.so.0.2000.1@0x1370af 	
73 	libgdk-x11-2.0.so.0.2000.1 	libgdk-x11-2.0.so.0.2000.1@0x3b84a 	
74 	libgdk-x11-2.0.so.0.2000.1 	libgdk-x11-2.0.so.0.2000.1@0x64ad3 	
75 	libgdk-x11-2.0.so.0.2000.1 	libgdk-x11-2.0.so.0.2000.1@0x37fa2 	
76 	libgdk-x11-2.0.so.0.2000.1 	libgdk-x11-2.0.so.0.2000.1@0x39fbe 	
77 	libgdk-x11-2.0.so.0.2000.1 	libgdk-x11-2.0.so.0.2000.1@0x3a03a 	
78 	libgdk-x11-2.0.so.0.2000.1 	libgdk-x11-2.0.so.0.2000.1@0x16357 	
79 	libglib-2.0.so.0.2400.1 	libglib-2.0.so.0.2400.1@0x39660 	
80 	libglib-2.0.so.0.2400.1 	libglib-2.0.so.0.2400.1@0x3b5e4 	
81 	libglib-2.0.so.0.2400.1 	libglib-2.0.so.0.2400.1@0x3f2d7 	
82 	libglib-2.0.so.0.2400.1 	libglib-2.0.so.0.2400.1@0x3f4b7 	
83 	IcedTeaPlugin.so 	IcedTeaPlugin.so@0x158d9 	
84 	IcedTeaPlugin.so 	IcedTeaPlugin.so@0x16b42 	
85 	IcedTeaPlugin.so 	IcedTeaPlugin.so@0x1ff96 	
86 	IcedTeaPlugin.so 	IcedTeaPlugin.so@0x211b5 	
87 	libpthread-2.11.1.so 	libpthread-2.11.1.so@0x596d 	
88 	libc-2.11.1.so 	libc-2.11.1.so@0xcda4d
Component: Plug-ins → Java (IcedTea)
Keywords: crash
Product: Core → Plugins
Version: Trunk → unspecified
Might be running the main context event loop on the wrong thread.

Is dom.ipc.plugins.enabled at its default true value?
I wonder why IcedTea would start another thread when queried for mimetypes, version string, etc.
This is Java, it's in-process by default on all platforms because of bugs relating to window.java and various other things.
Thanks, bsmedberg.

George, can you describe the version of your IcedTea plugin, please?
This is the version of IcedTea that I am using:

IcedTea NPR Web Browser Plugin (using IcedTea6 1.9.7 (6b20-1.9.7-0ubuntu1~10.04.1))

Hope it helps.
Blocks: 642117
Blocks: 641309
Summary: Enabling and disabling IcedTea NPR Web Browser Plugin crashes Firefox when on certain websites [@ linux-gate.so@0x422 ] → Enabling and disabling IcedTea NPR Web Browser Plugin crashes Firefox when on certain websites [@ linux-gate.so@0x422 ] | ABORT: Main-thread-only object used off the main thread
This bug report, on the IcedTea side, appears relevant:

    http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=721
Plug-in threading is now fixed in IcedTea-Web as of this commit:
http://icedtea.classpath.org/hg/release/icedtea-web-1.1/rev/6ca669aa114a

The fix is available in the 1.1 release:
http://icedtea.classpath.org/download/source/icedtea-web-1.1.tar.gz
Thanks, Deepak.  I'll mark this fixed then.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Crash Signature: [@ linux-gate.so@0x422 ]
Product: Plugins → Plugins Graveyard
You need to log in before you can comment on or make changes to this bug.