[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

[Subclipse-users] Bug?: Crash when viewing history as compressed folders

From: Tom Walter <walter.tom_at_gmail.com>
Date: 2006-12-14 03:54:21 CET

Hi, I've come across what I think is a bug, so I'm posting here as per
the instructions on the site before submitting as an official bug report.

*Steps to reproduce:*
1. View history of a file on a revision with a very large number of
affected paths (in my case, it is over 6000)
2. Turn on 'Show affected paths'
3. Change view to 'Compressed Folders'
4. Subclipse will start trying to redraw the affected paths view as
folders, it gets some of the way through and all of a sudden eclipse
crashes to desktop.

*The crash does NOT occur if *
- Show affected paths is not switched on
- 'Flat' view of affected paths is used
- There is not a large number of affected paths

Horizontal or vertical layout of the history panes does not seem to make
any difference.

*My setup:*
OS: Windows XP Pro 2002 SP2
Eclipse: 3.2.0
Subclipse: 1.1.9
Adapter: JavaHL
Protocol: HTTP

*--------------------- ERROR LOG --------------------- *

!ENTRY org.eclipse.ui 4 4 2006-12-14 13:17:18.904
!MESSAGE Unhandled event loop exception

!ENTRY org.eclipse.ui 4 0 2006-12-14 13:17:18.904
!MESSAGE No more handles
!STACK 0
org.eclipse.swt.SWTError: No more handles
    at org.eclipse.swt.SWT.error(SWT.java:3400)
    at org.eclipse.swt.SWT.error(SWT.java:3297)
    at org.eclipse.swt.SWT.error(SWT.java:3268)
    at org.eclipse.swt.graphics.Image.init(Image.java:1776)
    at org.eclipse.swt.graphics.Image.init(Image.java:1901)
    at org.eclipse.swt.graphics.Image.<init>(Image.java:490)
    at
org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:295)
    at
org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:233)
    at
org.eclipse.jface.resource.ImageDescriptor.createImage(ImageDescriptor.java:211)
    at
org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer$ChangePathLabelProvider.getImage(ChangePathsTreeViewer.java:147)
    at
org.eclipse.jface.viewers.StructuredViewer.buildLabel(StructuredViewer.java:2103)
    at
org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:258)
    at
org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:95)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.runtime.Platform.run(Platform.java:843)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:849)
    at
org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:465)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.runtime.Platform.run(Platform.java:843)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
    at
org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1955)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:753)
    at
org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:731)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:705)
    at
org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:892)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1497)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1507)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:886)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:869)
    at
org.eclipse.jface.viewers.AbstractTreeViewer.expandAll(AbstractTreeViewer.java:858)
    at
org.tigris.subversion.subclipse.ui.history.ChangePathsTreeViewer.inputChanged(ChangePathsTreeViewer.java:76)
    at
org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:250)
    at
org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1542)
    at
org.tigris.subversion.subclipse.ui.history.SVNHistoryPage.updatePanels(SVNHistoryPage.java:787)
    at
org.tigris.subversion.subclipse.ui.history.SVNHistoryPage$10.selectionChanged(SVNHistoryPage.java:438)
    at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
    at org.eclipse.core.runtime.Platform.run(Platform.java:843)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
    at
org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
    at
org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:1976)
    at
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1577)
    at
org.eclipse.jface.viewers.TableViewer.setSelection(TableViewer.java:1114)
    at
org.tigris.subversion.subclipse.ui.history.SVNHistoryPage.selectRevision(SVNHistoryPage.java:847)
    at
org.tigris.subversion.subclipse.ui.history.SVNHistoryPage$1.run(SVNHistoryPage.java:1535)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
    at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
    at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
    at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
    at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
    at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
    at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
    at org.eclipse.core.launcher.Main.run(Main.java:977)
    at org.eclipse.core.launcher.Main.main(Main.java:952)
Received on Thu Dec 14 04:18:27 2006

This is an archived mail posted to the Subclipse Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.