Bug 135939 - Expanding folders in Navigator tree may hang the platform if file types are missing
Summary: Expanding folders in Navigator tree may hang the platform if file types are m...
Status: RESOLVED WORKSFORME
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.2   Edit
Hardware: PC Linux-GTK
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Bogdan Gheorghe CLA
QA Contact:
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2006-04-10 13:59 EDT by Jason Madden CLA
Modified: 2018-06-15 15:21 EDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason Madden CLA 2006-04-10 13:59:22 EDT
I have a project with a folder containing Oracle source files. These files have extensions of .pks, .pkb and .sql. Until I added explicit Eclipse file associations for each of these, attempting to expand the folder (in the Navigator view) containing these files would hang the entire UI. (Other files seem to have a similar problem). Associations set in the Gnome file manager don't seem to make a difference, only Eclipse associations. 

Here's a stack trace from 3.2-M6 running on Gnome 2.12.0. Filed under SWT because of the top stack frames:

 - org.eclipse.swt.internal.gnome.GNOME._gnome_vfs_mime_get_default_application(byte[]) @bci=0 (Interpreted frame)
 - org.eclipse.swt.internal.gnome.GNOME.gnome_vfs_mime_get_default_application(byte[]) @bci=8, line=173 (Interpreted frame)
 - org.eclipse.swt.program.Program.gnome_getProgram(org.eclipse.swt.widgets.Display, java.lang.String) @bci=10, line=488 (Interpreted frame)
 - org.eclipse.swt.program.Program.findProgram(org.eclipse.swt.widgets.Display, java.lang.String) @bci=130, line=568 (Interpreted frame)
 - org.eclipse.swt.program.Program.findProgram(java.lang.String) @bci=4, line=546 (Interpreted frame)
 - org.eclipse.ui.internal.registry.EditorRegistry.getSystemExternalEditorImageDescriptor(java.lang.String) @bci=18, line=1229 (Interpreted frame)
 - org.eclipse.ui.internal.registry.EditorRegistry.getImageDescriptor(java.lang.String, org.eclipse.core.runtime.content.IContentType) @bci=207, line=1388 (Interpreted frame)
 - org.eclipse.ui.internal.ide.model.WorkbenchFile.getBaseImage(org.eclipse.core.resources.IResource) @bci=32, line=38 (Interpreted frame)
 - org.eclipse.ui.internal.ide.model.WorkbenchResource.getImageDescriptor(java.lang.Object) @bci=16, line=42 (Interpreted frame)
 - org.eclipse.ui.model.WorkbenchLabelProvider.getImage(java.lang.Object) @bci=14, line=155 (Interpreted frame)
 - org.eclipse.jface.viewers.DecoratingLabelProvider.getImage(java.lang.Object) @bci=5, line=85 (Interpreted frame)
 - org.eclipse.jface.viewers.DecoratingLabelProvider.updateLabel(org.eclipse.jface.viewers.ViewerLabel, org.eclipse.jface.viewers.TreePath) @bci=192, line=355 (Interpreted frame)
 - org.eclipse.jface.viewers.StructuredViewer.buildLabel(org.eclipse.jface.viewers.ViewerLabel, org.eclipse.jface.viewers.TreePath, org.eclipse.jface.viewers.ITreePathLabelProvider) @bci=3, line=2023 (Interpreted frame)
 - org.eclipse.jface.viewers.TreeViewer.doUpdateItem(org.eclipse.swt.widgets.Item, java.lang.Object) @bci=163, line=247 (Interpreted frame)
 - org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run() @bci=12, line=88 (Interpreted frame)
 - org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) @bci=5, line=37 (Interpreted frame)
 - org.eclipse.core.runtime.Platform.run(org.eclipse.core.runtime.ISafeRunnable) @bci=1, line=816 (Interpreted frame)
 - org.eclipse.ui.internal.JFaceUtil$1.run(org.eclipse.core.runtime.ISafeRunnable) @bci=1, line=44 (Interpreted frame)
 - org.eclipse.jface.util.SafeRunnable.run(org.eclipse.core.runtime.ISafeRunnable) @bci=4, line=149 (Interpreted frame)
 - org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(org.eclipse.swt.widgets.Widget, java.lang.Object, boolean) @bci=71, line=833 (Interpreted frame)
 - org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run() @bci=16, line=464 (Interpreted frame)
 - org.eclipse.core.runtime.SafeRunner.run(org.eclipse.core.runtime.ISafeRunnable) @bci=5, line=37 (Interpreted frame)
 - org.eclipse.core.runtime.Platform.run(org.eclipse.core.runtime.ISafeRunnable) @bci=1, line=816 (Interpreted frame)
 - org.eclipse.ui.internal.JFaceUtil$1.run(org.eclipse.core.runtime.ISafeRunnable) @bci=1, line=44 (Interpreted frame)
 - org.eclipse.jface.util.SafeRunnable.run(org.eclipse.core.runtime.ISafeRunnable) @bci=4, line=149 (Interpreted frame)
 - org.eclipse.jface.viewers.StructuredViewer.updateItem(org.eclipse.swt.widgets.Widget, java.lang.Object) @bci=11, line=1901 (Interpreted frame)
 - org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(org.eclipse.swt.widgets.Widget, java.lang.Object, int) @bci=13, line=737 (Interpreted frame)
 - org.eclipse.jface.viewers.AbstractTreeViewer$1.run() @bci=172, line=715 (Interpreted frame)
 - org.eclipse.swt.custom.BusyIndicator.showWhile(org.eclipse.swt.widgets.Display, java.lang.Runnable) @bci=116, line=69 (Interpreted frame)
 - org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(org.eclipse.swt.widgets.Widget) @bci=41, line=689 (Interpreted frame)
 - org.eclipse.jface.viewers.TreeViewer.createChildren(org.eclipse.swt.widgets.Widget) @bci=156, line=869 (Interpreted frame)
 - org.eclipse.jface.viewers.AbstractTreeViewer.handleTreeExpand(org.eclipse.swt.events.TreeEvent) @bci=15, line=1202 (Interpreted frame)
 - org.eclipse.jface.viewers.AbstractTreeViewer$4.treeExpanded(org.eclipse.swt.events.TreeEvent) @bci=5, line=1214 (Interpreted frame)
 - org.eclipse.swt.widgets.TypedListener.handleEvent(org.eclipse.swt.widgets.Event) @bci=720, line=181 (Interpreted frame)
 - org.eclipse.swt.widgets.EventTable.sendEvent(org.eclipse.swt.widgets.Event) @bci=71, line=66 (Compiled frame)
 - org.eclipse.swt.widgets.Widget.sendEvent(org.eclipse.swt.widgets.Event) @bci=25, line=1074 (Interpreted frame)
 - org.eclipse.swt.widgets.Widget.sendEvent(int, org.eclipse.swt.widgets.Event, boolean) @bci=73, line=1098 (Interpreted frame)
 - org.eclipse.swt.widgets.Widget.sendEvent(int, org.eclipse.swt.widgets.Event) @bci=4, line=1083 (Interpreted frame)
 - org.eclipse.swt.widgets.Tree.gtk_test_expand_row(int, int, int) @bci=60, line=1777 (Interpreted frame)
 - org.eclipse.swt.widgets.Widget.windowProc(int, int, int, int) @bci=120, line=1451 (Interpreted frame)
 - org.eclipse.swt.widgets.Display.windowProc(int, int, int, int) @bci=21, line=3796 (Interpreted frame)
 - org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(int) @bci=0 (Interpreted frame)
 - org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(int) @bci=8, line=5233 (Interpreted frame)
 - org.eclipse.swt.widgets.Display.eventProc(int, int) @bci=291, line=1128 (Interpreted frame)
 - org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(int, boolean) @bci=0 (Interpreted frame)
 - org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(int, boolean) @bci=9, line=1415 (Interpreted frame)
 - org.eclipse.swt.widgets.Display.readAndDispatch() @bci=23, line=2836 (Interpreted frame)
 - org.eclipse.ui.internal.Workbench.runEventLoop(org.eclipse.jface.window.Window$IExceptionHandler, org.eclipse.swt.widgets.Display) @bci=9, line=1914 (Interpreted frame)
 - org.eclipse.ui.internal.Workbench.runUI() @bci=222, line=1878 (Interpreted frame)
 - org.eclipse.ui.internal.Workbench.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) @bci=11, line=419 (Interpreted frame)
 - org.eclipse.ui.PlatformUI.createAndRunWorkbench(org.eclipse.swt.widgets.Display, org.eclipse.ui.application.WorkbenchAdvisor) @bci=2, line=143 (Interpreted frame)
 - org.eclipse.ui.internal.ide.IDEApplication.run(java.lang.Object) @bci=76, line=95 (Interpreted frame)
 - org.eclipse.core.internal.runtime.PlatformActivator$1.run(java.lang.Object) @bci=219, line=78 (Interpreted frame)
 - org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(java.lang.Object) @bci=103, line=92 (Interpreted frame)
 - org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(java.lang.Object) @bci=29, line=68 (Interpreted frame)
 - org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.Object) @bci=135, line=376 (Interpreted frame)
 - org.eclipse.core.runtime.adaptor.EclipseStarter.run(java.lang.String[], java.lang.Runnable) @bci=60, line=169 (Interpreted frame)
 - sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) @bci=0 (Interpreted frame)
 - sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=87, line=39 (Interpreted frame)
 - sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) @bci=6, line=25 (Interpreted frame)
 - java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object[]) @bci=111, line=585 (Interpreted frame)
 - org.eclipse.core.launcher.Main.invokeFramework(java.lang.String[], java.net.URL[]) @bci=181, line=336 (Interpreted frame)
 - org.eclipse.core.launcher.Main.basicRun(java.lang.String[]) @bci=107, line=280 (Interpreted frame)
 - org.eclipse.core.launcher.Main.run(java.lang.String[]) @bci=4, line=977 (Interpreted frame)
 - org.eclipse.core.launcher.Main.main(java.lang.String[]) @bci=10, line=952 (Interpreted frame)
Comment 1 Billy Biggs CLA 2006-04-10 23:22:52 EDT
If that GNOME call is hanging I am very tempted to say there is
something fundamentally wrong with your GNOME setup. What
happens when you browse to that folder in nautilus? What
distribution are you using?
Comment 2 Jason Madden CLA 2006-04-11 08:52:44 EDT
(In reply to comment #1)
> If that GNOME call is hanging I am very tempted to say there is
> something fundamentally wrong with your GNOME setup. What
> happens when you browse to that folder in nautilus? What
> distribution are you using?

That's what my first throught was, too, but I'm unable to find anything wrong. Opening the folders in Nautilus happens instantly, and the files all have reasonable icons. All three of those file extensions are associated with vim, though I tried changing Nautilus associations during the course of tracking this down (Other options Nautilus presents are "Text Editor" and "Word Processor" IIRC). 

This is on Gentoo. 
Comment 3 Alexander Kurtakov CLA 2015-04-20 07:40:29 EDT
Is this still reproducible in Mars?
Comment 4 Eric Williams CLA 2018-06-15 15:21:58 EDT
(In reply to Alexander Kurtakov from comment #3)
> Is this still reproducible in Mars?

No response in awhile, closing this ticket now. The stacktrace isn't even reachable anymore as GNOME code is gone.