Community
Participate
Working Groups
Created attachment 168578 [details] kill -3 dump from Linux-PPC - I20100513-1500 - observed on Linux-x86, Linux-PPC and Solaris-x86 - problem doesn't happen in 3.6M6, it happens in 3.6RC1 candidate, will try 3.6M7 shortly steps: - File > Import... - select General-File System, press Next - my home directory is mounted, I select it - choose any file in the right-side list, press Finish, hangs Linux-PPC and Solaris-x86 gave the stack below in response to kill -3 (full dump file is attached). Linux-x86 gave a slightly different stack, but the result is the same. 3XMTHREADINFO "main" (TID:0x10053900, sys_thread_t:0x10027E48, state:CW, native ID:0x00004FE8) prio=6 4XESTACKTRACE at java/io/UnixFileSystem.getBooleanAttributes0(Native Method) 4XESTACKTRACE at java/io/UnixFileSystem.getBooleanAttributes(UnixFileSystem.java:258(Compiled Code)) 4XESTACKTRACE at java/io/File.isDirectory(File.java:752(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/filesystem/FileSystemStructureProvider.isRecursiveLink(FileSystemStructureProvider.java:63(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/filesystem/FileSystemStructureProvider.getChildren(FileSystemStructureProvider.java:47(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/wizards/datatransfer/MinimizedFileSystemElement.populate(MinimizedFileSystemElement.java:76(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/wizards/datatransfer/MinimizedFileSystemElement.getFiles(MinimizedFileSystemElement.java:44(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1$13.getChildren(WizardFileSystemResourceImportPage1.java:665(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/model/BaseWorkbenchContentProvider.getElements(BaseWorkbenchContentProvider.java:73(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:411(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.findAllSelectedListElements(ResourceTreeAndListGroup.java:424) 4XESTACKTRACE at org/eclipse/ui/internal/ide/dialogs/ResourceTreeAndListGroup.getAllListItems(ResourceTreeAndListGroup.java:548) 4XESTACKTRACE at org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.allItemsAreChecked(WizardFileSystemResourceImportPage1.java:1210) 4XESTACKTRACE at org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.importResources(WizardFileSystemResourceImportPage1.java:833) 4XESTACKTRACE at org/eclipse/ui/internal/wizards/datatransfer/WizardFileSystemResourceImportPage1.finish(WizardFileSystemResourceImportPage1.java:646) 4XESTACKTRACE at org/eclipse/ui/wizards/datatransfer/FileSystemImportWizard.performFinish(FileSystemImportWizard.java:101) 4XESTACKTRACE at org/eclipse/jface/wizard/WizardDialog.finishPressed(WizardDialog.java:811) 4XESTACKTRACE at org/eclipse/jface/wizard/WizardDialog.buttonPressed(WizardDialog.java:430) 4XESTACKTRACE at org/eclipse/jface/dialogs/Dialog$2.widgetSelected(Dialog.java:624) 4XESTACKTRACE at org/eclipse/swt/widgets/TypedListener.handleEvent(TypedListener.java:234(Compiled Code)) 4XESTACKTRACE at org/eclipse/swt/widgets/EventTable.sendEvent(EventTable.java:84(Compiled Code)) 4XESTACKTRACE at org/eclipse/swt/widgets/Widget.sendEvent(Widget.java:1234(Compiled Code)) 4XESTACKTRACE at org/eclipse/swt/widgets/Display.runDeferredEvents(Display.java:3540(Compiled Code)) 4XESTACKTRACE at org/eclipse/swt/widgets/Display.readAndDispatch(Display.java:3159(Compiled Code)) 4XESTACKTRACE at org/eclipse/jface/window/Window.runEventLoop(Window.java:825) 4XESTACKTRACE at org/eclipse/jface/window/Window.open(Window.java:801) 4XESTACKTRACE at org/eclipse/ui/internal/handlers/WizardHandler$Import.executeHandler(WizardHandler.java:147) 4XESTACKTRACE at org/eclipse/ui/internal/handlers/WizardHandler.execute(WizardHandler.java:274) 4XESTACKTRACE at org/eclipse/ui/internal/handlers/HandlerProxy.execute(HandlerProxy.java:293) 4XESTACKTRACE at org/eclipse/core/commands/Command.executeWithChecks(Command.java:476) 4XESTACKTRACE at org/eclipse/core/commands/ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508) 4XESTACKTRACE at org/eclipse/ui/internal/handlers/HandlerService.executeCommand(HandlerService.java:169) 4XESTACKTRACE at org/eclipse/ui/internal/handlers/SlaveHandlerService.executeCommand(SlaveHandlerService.java:241) 4XESTACKTRACE at org/eclipse/ui/internal/actions/CommandAction.runWithEvent(CommandAction.java:157) 4XESTACKTRACE at org/eclipse/jface/action/ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) 4XESTACKTRACE at org/eclipse/jface/action/ActionContributionItem.access$2(ActionContributionItem.java:501) 4XESTACKTRACE at org/eclipse/jface/action/ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) 4XESTACKTRACE at org/eclipse/swt/widgets/EventTable.sendEvent(EventTable.java:84(Compiled Code)) 4XESTACKTRACE at org/eclipse/swt/widgets/Widget.sendEvent(Widget.java:1234(Compiled Code)) 4XESTACKTRACE at org/eclipse/swt/widgets/Display.runDeferredEvents(Display.java:3540(Compiled Code)) 4XESTACKTRACE at org/eclipse/swt/widgets/Display.readAndDispatch(Display.java:3159(Compiled Code)) 4XESTACKTRACE at org/eclipse/ui/internal/Workbench.runEventLoop(Workbench.java:2624) 4XESTACKTRACE at org/eclipse/ui/internal/Workbench.runUI(Workbench.java:2588) 4XESTACKTRACE at org/eclipse/ui/internal/Workbench.access$4(Workbench.java:2422) 4XESTACKTRACE at org/eclipse/ui/internal/Workbench$7.run(Workbench.java:670) 4XESTACKTRACE at org/eclipse/core/databinding/observable/Realm.runWithDefault(Realm.java:332) 4XESTACKTRACE at org/eclipse/ui/internal/Workbench.createAndRunWorkbench(Workbench.java:663) 4XESTACKTRACE at org/eclipse/ui/PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 4XESTACKTRACE at org/eclipse/ui/internal/ide/application/IDEApplication.start(IDEApplication.java:115) 4XESTACKTRACE at org/eclipse/equinox/internal/app/EclipseAppHandle.run(EclipseAppHandle.java:196) 4XESTACKTRACE at org/eclipse/core/runtime/internal/adaptor/EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 4XESTACKTRACE at org/eclipse/core/runtime/internal/adaptor/EclipseAppLauncher.start(EclipseAppLauncher.java:79) 4XESTACKTRACE at org/eclipse/core/runtime/adaptor/EclipseStarter.run(EclipseStarter.java:369) 4XESTACKTRACE at org/eclipse/core/runtime/adaptor/EclipseStarter.run(EclipseStarter.java:179) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method) 4XESTACKTRACE at sun/reflect/NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) 4XESTACKTRACE at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 4XESTACKTRACE at java/lang/reflect/Method.invoke(Method.java:618) 4XESTACKTRACE at org/eclipse/equinox/launcher/Main.invokeFramework(Main.java:619) 4XESTACKTRACE at org/eclipse/equinox/launcher/Main.basicRun(Main.java:574) 4XESTACKTRACE at org/eclipse/equinox/launcher/Main.run(Main.java:1407) 4XESTACKTRACE at org/eclipse/equinox/launcher/Main.main(Main.java:1383) 3XMTHREADINFO "JIT Compilation Thread" (TID:0x10053D00, sys_thread_t:0x10028368, state:CW, native ID:0x00004FEA) prio=11 3XMTHREADINFO "Signal Dispatcher" (TID:0x10054100, sys_thread_t:0x10028888, state:R, native ID:0x00004FEC) prio=5 4XESTACKTRACE at com/ibm/misc/SignalDispatcher.waitForSignal(Native Method) 4XESTACKTRACE at com/ibm/misc/SignalDispatcher.run(SignalDispatcher.java:84) 3XMTHREADINFO "Gc Slave Thread" (TID:0x1019EE00, sys_thread_t:0xDE55A648, state:CW, native ID:0x00004FEF) prio=5 3XMTHREADINFO "Gc Slave Thread" (TID:0x1019F200, sys_thread_t:0xDE55A8D8, state:CW, native ID:0x00004FF0) prio=5 3XMTHREADINFO "Gc Slave Thread" (TID:0x1019F600, sys_thread_t:0xDE55AB68, state:CW, native ID:0x00004FF1) prio=5 3XMTHREADINFO "Java indexing" (TID:0xDDEDC300, sys_thread_t:0xDE55ADF8, state:CW, native ID:0x00005001) prio=4 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:199) 4XESTACKTRACE at org/eclipse/jdt/internal/core/search/processing/JobManager.run(JobManager.java:381) 4XESTACKTRACE at java/lang/Thread.run(Thread.java:810) 3XMTHREADINFO "Framework Event Dispatcher" (TID:0xDDEDC700, sys_thread_t:0xDE55B088, state:CW, native ID:0x00004FF3) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:199(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.getNextEvent(EventManager.java:397(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.run(EventManager.java:333) 3XMTHREADINFO "Start Level Event Dispatcher" (TID:0xDDEDCB00, sys_thread_t:0xDDEF8598, state:CW, native ID:0x00004FF5) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:199(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.getNextEvent(EventManager.java:397(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.run(EventManager.java:333) 3XMTHREADINFO "Bundle File Closer" (TID:0xDDCA5D00, sys_thread_t:0xDDEF8828, state:CW, native ID:0x00004FF6) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:199(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.getNextEvent(EventManager.java:397(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.run(EventManager.java:333) 3XMTHREADINFO "Finalizer thread" (TID:0xDDCA6100, sys_thread_t:0xDDEF8AB8, state:CW, native ID:0x00004FF7) prio=5 3XMTHREADINFO "Worker-JM" (TID:0xDDCA6500, sys_thread_t:0xDDEF8D48, state:CW, native ID:0x00004FFB) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/core/internal/jobs/InternalWorker.run(InternalWorker.java:58) 3XMTHREADINFO "[Timer] - Main Queue Handler" (TID:0x10361900, sys_thread_t:0xDDEF8FD8, state:CW, native ID:0x00004FFA) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/equinox/internal/util/impl/tpt/timer/TimerImpl.run(TimerImpl.java:141) 4XESTACKTRACE at java/lang/Thread.run(Thread.java:810) 3XMTHREADINFO "Worker-28" (TID:0x10361D00, sys_thread_t:0x105AB3C0, state:CW, native ID:0x0000517E) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/core/internal/jobs/WorkerPool.sleep(WorkerPool.java:180(Compiled Code)) 4XESTACKTRACE at org/eclipse/core/internal/jobs/WorkerPool.startJob(WorkerPool.java:217(Compiled Code)) 4XESTACKTRACE at org/eclipse/core/internal/jobs/Worker.run(Worker.java:50(Compiled Code)) 3XMTHREADINFO "Provisioning Event Dispatcher" (TID:0x10362100, sys_thread_t:0x105AB130, state:CW, native ID:0x00004FFD) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:199(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.getNextEvent(EventManager.java:397(Compiled Code)) 4XESTACKTRACE at org/eclipse/osgi/framework/eventmgr/EventManager$EventThread.run(EventManager.java:333) 3XMTHREADINFO "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0xDCB11A00, sys_thread_t:0x105ABE00, state:CW, native ID:0x000050B6) prio=1 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/jface/text/reconciler/AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179) 3XMTHREADINFO "Connect thread ottcvs1 session" (TID:0xDCB11E00, sys_thread_t:0x105ABB70, state:R, native ID:0x0000503E) prio=6 4XESTACKTRACE at java/net/SocketInputStream.socketRead0(Native Method) 4XESTACKTRACE at java/net/SocketInputStream.read(SocketInputStream.java:155(Compiled Code)) 4XESTACKTRACE at com/jcraft/jsch/IO.getByte(IO.java:82(Compiled Code)) 4XESTACKTRACE at com/jcraft/jsch/Session.read(Session.java:808(Compiled Code)) 4XESTACKTRACE at com/jcraft/jsch/Session.run(Session.java:1193) 4XESTACKTRACE at java/lang/Thread.run(Thread.java:810) 3XMTHREADINFO "[ThreadPool Manager] - Idle Thread" (TID:0xDCB12200, sys_thread_t:0x105AB8E0, state:CW, native ID:0x00005000) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:199) 4XESTACKTRACE at org/eclipse/equinox/internal/util/impl/tpt/threadpool/Executor.run(Executor.java:106) 3XMTHREADINFO "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0xDB15BF00, sys_thread_t:0x1041ED40, state:CW, native ID:0x00005057) prio=1 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/jface/text/reconciler/AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179) 3XMTHREADINFO "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0xDB15C700, sys_thread_t:0xDDEF9268, state:CW, native ID:0x00005120) prio=1 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/jface/text/reconciler/AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179) 3XMTHREADINFO "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0xDAD2BB00, sys_thread_t:0x1041E820, state:CW, native ID:0x00005123) prio=1 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/jface/text/reconciler/AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179) 3XMTHREADINFO "Worker-24" (TID:0xDAD2BF00, sys_thread_t:0x1041E070, state:CW, native ID:0x000050B8) prio=5 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/core/internal/jobs/WorkerPool.sleep(WorkerPool.java:180(Compiled Code)) 4XESTACKTRACE at org/eclipse/core/internal/jobs/WorkerPool.startJob(WorkerPool.java:217(Compiled Code)) 4XESTACKTRACE at org/eclipse/core/internal/jobs/Worker.run(Worker.java:50(Compiled Code)) 3XMTHREADINFO "org.eclipse.jdt.internal.ui.text.JavaReconciler" (TID:0xD9079500, sys_thread_t:0x1041E300, state:CW, native ID:0x00005126) prio=1 4XESTACKTRACE at java/lang/Object.wait(Native Method) 4XESTACKTRACE at java/lang/Object.wait(Object.java:231(Compiled Code)) 4XESTACKTRACE at org/eclipse/jface/text/reconciler/AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
It hangs for me in 3.6M7 as well (tried Linux-x86). I should mention that I've specified mounted drive because the hang doesn't happen if I import from /opt (so assuming it works for local directories in general).
FileSystemStructureProvider was added back early in M7 PW
To enable the import of recursively linked directories, we need to perform this check. Grant, The directory & its sub-directories you are trying to import has a lot of entries? From the stack trace, it seems that while it tries to find the recursive links, you killed the app. Does Eclipse completes the operation at all after few mins?
The directory that I'm trying to import from has a lot of files, folders, etc. I tried the scenario again and left it alone this time. When I came back to it a while later it had run out of heap space.
*** Bug 320099 has been marked as a duplicate of this bug. ***
(In reply to comment #1) > I should mention that I've specified mounted drive because the hang > doesn't happen if I import from /opt (so assuming it works for local > directories in general). I don't think it matters if it is local or remote, I think what matters is how many files are reached from that location. In my case, searching from d:\ hangs, but searching from d:\some-dir\ doesn't.
It looks like a regression due to Bug#302702. The allItemsAreChecked() method is introduced in the fix for that bug, which calculates the checked state for all the elements starting from the root. The calculation is done for the entire tree, even when only one file is checked. This is a massive calculation if the selected directory contains numerous files. Serge, Can this calculation be avoided or any other workaround available?
(In reply to comment #7) > It looks like a regression due to Bug#302702. The allItemsAreChecked() method > is introduced in the fix for that bug, which calculates the checked state for > all the elements starting from the root. The calculation is done for the entire > tree, even when only one file is checked. This is a massive calculation if the > selected directory contains numerous files. > > Serge, > Can this calculation be avoided or any other workaround available? I'm looking in a workaround that would be able to see if only partial items are selected in the tree and list view without having to iterate all items.
*** Bug 316322 has been marked as a duplicate of this bug. ***
Created attachment 175701 [details] Fix Fix
Created attachment 175702 [details] Fix (minor changes)
Szymon, can you review this fix, and I'll commit to the mainline. For the 3.6.1 branch, should I create a branch too, or the UI guys will do it? Thanks
Prakash, can you review this fix please?
Now fixed on head.
We should leave the bug open till it is fixed in 3.6.1, or target this one for M1 and open a 3.6.1 bug to backport the fix.
(In reply to comment #15) > We should leave the bug open till it is fixed in 3.6.1, or target this one for > M1 and open a 3.6.1 bug to backport the fix. I suggest the latter. It's easier for bookkeeping purposes and the verification passes will be done on two separate occasions anyway.
reopening - adding Prakash review request
The fix was committed to HEAD. A separate bug was raised to backport it to 3.6.1.
>A separate bug was raised to backport it to 3.6.1. See bug 321505.
Fix on head.
Both bug 312959 (this one) and bug 321505 (the other one) is targeted for 3.6.1. I'm assuming this one is the one for 3.7 (based on comment 18, comment 19, and comment 20), please adjust the target milestone to 3.7M1 or 3.7M2, whichever is appropriate, so that it can be picked up during the verification pass.
(In reply to comment #21) > I'm assuming this one is the one for 3.7 (based on comment 18, comment 19, and > comment 20), please adjust the target milestone to 3.7M1 or 3.7M2, whichever is > appropriate, so that it can be picked up during the verification pass. This one was targeted for 3.7M1. Serge accidentally changed the target to 3.6.1. I'm fixing it now.