Hello,
I was running through a demo trying to create a tutorial of how to use
Subclipse for merging in SVN 1.5, and I've run into a problem: Subclipse
appears to be throwing an exception trying to create the conflict resolution
dialog; the merge never completes, and Eclipse pegs the CPU until it is
killed.
The demo setup is:
trunk/ -> branches/demo-branch-1
-> branches/demo-branch-2
demo-branch-1 has changes in files A and B; demo-branch-2 has changes in files
A and C. The changes in A are designed to introduce conflicts.
After all changes are made and committed, the project is switched back to
trunk/. Reintegrating of demo-branch-1 procedes quickly and cleanly; however,
any attempt to reintegrate demo-branch-2 results in a SVN merge progress
dialog that never increments. That is to say, I go through the wizard, choose
my merge branch, choose "Prompt" for both text and binaries and leave Allow
unversioned obstructions unchecked, and then click "Finish" -- the progress
dialog appears, and then sticks at 0%.
At this point, Eclipse isn't hung, exactly, but the dialog can not be closed,
and "Cancel" appears to be ignored. strace on the Eclipse process shows a
bunch of poll, writev, and reads, but nothing particularly interesting.
Server logs show a single GET on file A, and then nothing -- so Subclipse
isn't pulling anything from the server. During all of this, the CPU is pegged
at 100%. I've let this run for about 4 hours before seg-killing Eclipse,
which is the only way to exit Eclipse once it gets in this state.
There are no exceptions being thrown to the console, although I do get this
in the .log file:
!ENTRY org.eclipse.ui 4 0 2008-07-01 04:53:15.920
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
at org.eclipse.swt.SWT.error(SWT.java:3563)
at org.eclipse.swt.SWT.error(SWT.java:3481)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
Caused by: java.lang.NullPointerException
at com.collabnet.subversion.merge.wizards.ConflictHandlingWizardPage.createControl(ConflictHandlingWizardPage.java:62)
at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:170)
at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:669)
at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:543)
at org.eclipse.jface.window.Window.create(Window.java:426)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1081)
at org.eclipse.jface.window.Window.open(Window.java:785)
at com.collabnet.subversion.merge.SVNConflictResolver$1.run(SVNConflictResolver.java:113)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
... 22 more
As useless as it may be, I've attached a screen shot of where it is hung up.
OS: Linux (Kubuntu Hardy)
Eclipse: 3.3.1.1
Subclipse:
Subversion: 1.2.0
Subversion Merge Client: 1.0.15
Client adapter (I don't know which of these Subclipse uses):
SVN client adapter: 1.5.0
SVNKit client adapter: 1.5.0
SVN team provider UI: 1.4.0
SVN JavaHL: 1.5.0
SVN team provider core: 1.4.0
TMate SVNKit: 1.2.0.4389
Protocol: http
Subversion: 1.5.0 (built from the recently released tarball, not the
repository)
Thanks!
--- SER
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subclipse.tigris.org
For additional commands, e-mail: users-help_at_subclipse.tigris.org
Received on 2008-07-01 11:03:30 CEST