Bug 488772 (TreeDefaultSelectionOrder) - [Gtk][Tree] defaultSelection & button press events cause an exception when you create a new Java project via wizard. IAE "Path for project must have only one segment."
Summary: [Gtk][Tree] defaultSelection & button press events cause an exception when yo...
Status: REOPENED
Alias: TreeDefaultSelectionOrder
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 4.8   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-SWT-Inbox CLA
QA Contact: Leo Ufimtsev CLA
URL:
Whiteboard: stalebug
Keywords: triaged
: 493562 (view as bug list)
Depends on:
Blocks: 531051
  Show dependency tree
 
Reported: 2016-03-01 11:11 EST by Stephan Herrmann CLA
Modified: 2021-08-16 11:26 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stephan Herrmann CLA 2016-03-01 11:11:47 EST
eclipse.buildId=4.6.0.I20160223-0800

Create a new Java Project using the wizard:
- Ctrl+N
- Select "Java Project"
- Press Enter (bug doesn't occur when pressing Alt+N!)


Will throw:
java.lang.reflect.InvocationTargetException
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:396)
	at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:993)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.changeToNewProject(NewJavaProjectWizardPageTwo.java:168)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.createProvisonalProject(NewJavaProjectWizardPageTwo.java:501)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.setVisible(NewJavaProjectWizardPageTwo.java:126)
	at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1215)
	at org.eclipse.jface.wizard.WizardDialog.lambda$2(WizardDialog.java:1185)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1185)
	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:876)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:419)
	at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:618)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4495)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1339)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3833)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3444)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
	at org.eclipse.jface.window.Window.open(Window.java:794)
	at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:269)
	at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
	at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:54)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:282)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:264)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:491)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:286)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:507)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:558)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:378)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:324)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:86)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1551)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1338)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1363)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1348)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1375)
	at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:763)
	at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3363)
	at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:793)
	at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:1922)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1990)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:5747)
	at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:3664)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4731)
	at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
	at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:9485)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1226)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2477)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3442)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1118)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1019)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:150)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:692)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:605)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:138)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:670)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:609)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1516)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1489)
Caused by: java.lang.IllegalArgumentException: Path for project must have only one segment.
	at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
	at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:147)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.updateProject(NewJavaProjectWizardPageTwo.java:208)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.access$2(NewJavaProjectWizardPageTwo.java:195)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo$1UpdateRunnable.run(NewJavaProjectWizardPageTwo.java:156)
	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:67)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:107)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:128)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:118)
Root exception:
java.lang.IllegalArgumentException: Path for project must have only one segment.
	at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
	at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:147)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.updateProject(NewJavaProjectWizardPageTwo.java:208)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.access$2(NewJavaProjectWizardPageTwo.java:195)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo$1UpdateRunnable.run(NewJavaProjectWizardPageTwo.java:156)
	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:67)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:107)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2240)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2267)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:128)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:118)
Comment 1 Dani Megert CLA 2016-03-01 12:26:10 EST
I can't reproduce this on Windows.
Comment 2 Stephan Herrmann CLA 2016-03-01 12:40:07 EST
I can reproduce on three installations with different update history. 
One of them was a pristine SDK that had just been updated to 4.5.2

I'll test more tomorrow.
Comment 3 Stephan Herrmann CLA 2016-03-03 11:46:13 EST
(In reply to Dani Megert from comment #1)
> I can't reproduce this on Windows.

Interesting, I can't reproduce on Windows either, but on Linux it happens always.

Debugging this on Linux I can see that immediately after WizardDialog.updateForPage(NewJavaProjectWizardPageOne), Display.runDeferredEvents() spontaneously sends an event to the "Next" button sending us right into NewJavaProjectWizardPageTwo before a project name could be entered (or validated to be missing).

SWT bug on GTK? Happens both on GTK2 and GTK3, BTW.
Comment 4 Jonah Graham CLA 2016-05-12 13:25:41 EDT
*** Bug 493562 has been marked as a duplicate of this bug. ***
Comment 5 Jonah Graham CLA 2016-05-12 13:35:59 EDT
I can reproduce this on Mars, running Fedora 23 or Ubuntu 15.10 with GTK2 or GTK3. This does not happen in Luna.

Additionally, it happens with all wizards to a certain extent. The exception in Comment 0 is because of the skipped validation on the Java project wizard. But it happens with:

- New Plug-in project wizard, you skip the Project Name page
- Import Plug-ins and Fragments, you skip the Import From page
Comment 6 Leo Ufimtsev CLA 2018-02-14 15:46:09 EST
Doesn't reproduce as of:

Eclipse SDK
Version: Photon (4.8)
Build id: I20180213-2000
OS: Linux, v.4.14.6-300.fc27.x86_64, x86_64 / gtk 3.22.26, WebKit 2.18.3
Comment 7 Leo Ufimtsev CLA 2018-02-14 15:46:43 EST
Please re-open if you still experience issue.
Comment 8 Stephan Herrmann CLA 2018-02-14 16:25:41 EST
(In reply to Leo Ufimtsev from comment #7)
> Please re-open if you still experience issue.

Sure! :)

> Build id: I20180213-2000

So when testing you didn't have the fix for bug 521387 either?

Using

eclipse.buildId=4.8.0.I20180213-2000

the exact steps from comment 0 give me:

java.lang.reflect.InvocationTargetException
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:398)
	at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:980)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.changeToNewProject(NewJavaProjectWizardPageTwo.java:168)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.createProvisonalProject(NewJavaProjectWizardPageTwo.java:501)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.setVisible(NewJavaProjectWizardPageTwo.java:126)
	at org.eclipse.jface.wizard.WizardDialog.updateForPage(WizardDialog.java:1199)
	at org.eclipse.jface.wizard.WizardDialog.lambda$3(WizardDialog.java:1169)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.jface.wizard.WizardDialog.showPage(WizardDialog.java:1169)
	at org.eclipse.jface.wizard.WizardDialog.nextPressed(WizardDialog.java:864)
	at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:413)
	at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619)
	at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:81)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:249)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5634)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1363)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4887)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4468)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:818)
	at org.eclipse.jface.window.Window.open(Window.java:794)
	at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:269)
	at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:290)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:93)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:317)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:251)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:161)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:287)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:523)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:573)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:385)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:331)
	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:88)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1713)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1362)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1389)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1372)
	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1401)
	at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:783)
	at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3587)
	at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:766)
	at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:2170)
	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1981)
	at org.eclipse.swt.widgets.Control.windowProc(Control.java:6271)
	at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4093)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5852)
	at org.eclipse.swt.internal.gtk.GTK._gtk_main_do_event(Native Method)
	at org.eclipse.swt.internal.gtk.GTK.gtk_main_do_event(GTK.java:4021)
	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1388)
	at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
	at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1559)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4466)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:681)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:595)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:656)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:592)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1498)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1471)
Caused by: java.lang.IllegalArgumentException: Path for project must have only one segment.
	at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
	at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:147)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.updateProject(NewJavaProjectWizardPageTwo.java:208)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.access$2(NewJavaProjectWizardPageTwo.java:195)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo$1UpdateRunnable.run(NewJavaProjectWizardPageTwo.java:156)
	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:68)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:107)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2263)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2290)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:128)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Root exception:
java.lang.IllegalArgumentException: Path for project must have only one segment.
	at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
	at org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:147)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.updateProject(NewJavaProjectWizardPageTwo.java:208)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo.access$2(NewJavaProjectWizardPageTwo.java:195)
	at org.eclipse.jdt.ui.wizards.NewJavaProjectWizardPageTwo$1UpdateRunnable.run(NewJavaProjectWizardPageTwo.java:156)
	at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:68)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.lambda$0(WorkspaceModifyOperation.java:107)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2263)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2290)
	at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:128)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Comment 9 Leo Ufimtsev CLA 2018-02-15 13:04:05 EST
(In reply to Stephan Herrmann from comment #8)
> (In reply to Leo Ufimtsev from comment #7)
> > Please re-open if you still experience issue.
> 
> Sure! :)
> 
> > Build id: I20180213-2000
> 
> So when testing you didn't have the fix for bug 521387 either?
> 
> Using
> 
> eclipse.buildId=4.8.0.I20180213-2000
> 
>

Hmmm, can you go to help -> about -> right click > copy build id information.

Paste there. Should look like this:
Eclipse SDK
Version: Photon (4.8)
Build id: I20180213-2000
OS: Linux, v.4.14.6-300.fc27.x86_64, x86_64 / gtk 3.22.26

Can you remind me, what theme/desktop manager are you using?
Comment 10 Stephan Herrmann CLA 2018-02-15 13:14:36 EST
(In reply to Leo Ufimtsev from comment #9)
> (In reply to Stephan Herrmann from comment #8)
> > (In reply to Leo Ufimtsev from comment #7)
> > > Please re-open if you still experience issue.
> > 
> > Sure! :)
> > 
> > > Build id: I20180213-2000
> > 
> > So when testing you didn't have the fix for bug 521387 either?
> > 
> > Using
> > 
> > eclipse.buildId=4.8.0.I20180213-2000
> > 
> >
> 
> Hmmm, can you go to help -> about -> right click > copy build id information.
> 
> Paste there. Should look like this:
> Eclipse SDK
> Version: Photon (4.8)
> Build id: I20180213-2000
> OS: Linux, v.4.14.6-300.fc27.x86_64, x86_64 / gtk 3.22.26
> 
> Can you remind me, what theme/desktop manager are you using?


Eclipse SDK
Version: Photon (4.8)
Build id: I20180213-2000
OS: Linux, v.4.4.0-112-generic, x86_64 / gtk 3.18.9, WebKit 2.18.6

OS is Kubuntu 16.04.3 LTS, GTK Theme: Breeze (default in KDE).
Comment 11 Leo Ufimtsev CLA 2018-02-15 14:00:49 EST
(In reply to Stephan Herrmann from comment #0)
> eclipse.buildId=4.6.0.I20160223-0800
> 
> Create a new Java Project using the wizard:
> - Ctrl+N
> - Select "Java Project"
> - Press Enter (bug doesn't occur when pressing Alt+N!)

Hmm.

It appears that I failed to follow your steps-to-reproduce. (I clicked file -> new -> java project).
If I actually do Ctrl+N, then select "java project" (as described above), then I get this issue.

An error message pops up, which shows part of the trace you pasted:

> Root exception:
> java.lang.IllegalArgumentException: Path for project must have only one
> segment.

Investigation:
- Interestingly, I only get the error when I press enter, not when I click on "next" with mouse.
- For me, shift+enter, alt+enter etc.. have same result. (but have only tested with latest build Feb14).
- Doesn't occur on OSX
- Occurs on Gtk2 as well as Gtk3.

Now, I noticed it's related to sendDefaultSelection business, here somewhere.

E.g when I comment out the sendTreeDefaultSelection() like below, the issue doesn't occur and we're presented with regular dialogue.

Tree.java:2180
void keyPressDefaultSelectionHandler (long /*int*/ event, int key) {
	int keymask = gdk_event_get_state (event);
	switch (key) {
		case GDK.GDK_Return:
			// Send DefaultSelectionEvent when:
			// when    : Enter, Shift+Enter, Ctrl+Enter are pressed.
			// Not when: Alt+Enter, (Meta|Super|Hyper)+Enter, reason is stateMask is not provided on Gtk.
			// Note: alt+Enter creates a selection on GTK, but we filter it out to be a bit more consitent Win32 (521387)
			if ((keymask & (GDK.GDK_SUPER_MASK | GDK.GDK_META_MASK | GDK.GDK_HYPER_MASK | GDK.GDK_MOD1_MASK)) == 0) {
//				sendTreeDefaultSelection ();  // <<<<<<<<< COMMENT OUT.
			} 
			break;
	}
}

Theory:
- "Enter" triggers two actions. 
  It presses the next button and also sends defaultSelection(). I take it both trigger events of sorts. The order of events might differ on Win32/OSX/Gtk and thus we have some kinda failage.
  I.e: org.eclipse.jface.wizard.WizardDialog.nextPressed().

Theory on theory above:
- Maybe 'Button press' and 'default selection' order of events differ on linux/windows.

Based on submission date, I gather this issue is not directly caused by the change of selection/defaultSelection event fix:
https://git.eclipse.org/r/#/c/87090/
But is a separate issue of sort.

I can't think of a quick fix for this. It requires deeper investigation.
Comment 12 Stephan Herrmann CLA 2018-02-15 15:35:24 EST
(In reply to Leo Ufimtsev from comment #11)
> If I actually do Ctrl+N, then select "java project" (as described above),
> then I get this issue.

Great to know it reproduces now on your side ...

> Theory:
> - "Enter" triggers two actions. 

That's why I asked if you had the fix for bug 521387 installed when you tested :)
Comment 13 Leo Ufimtsev CLA 2018-02-15 15:37:39 EST
(In reply to Stephan Herrmann from comment #12)
> (In reply to Leo Ufimtsev from comment #11)
> > If I actually do Ctrl+N, then select "java project" (as described above),
> > then I get this issue.
> 
> Great to know it reproduces now on your side ...
> 
> > Theory:
> > - "Enter" triggers two actions. 
> 
> That's why I asked if you had the fix for bug 521387 installed when you
> tested :)

Yes, I tested with the alt+enter fix, the issue still occurred.
Comment 14 Eclipse Genie CLA 2020-07-20 19:59:45 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.
Comment 15 Stephan Herrmann CLA 2020-07-21 14:07:09 EDT
Bug still occurs in:

Eclipse IDE for Java Developers (includes Incubating components)
Version: 2020-06 (4.16.0)
Build id: 20200615-1200
OS: Linux, v.4.15.0-111-generic, x86_64 / gtk 3.22.30, WebKit 2.28.3
Java version: 11
Comment 16 Soraphol (Paul) Damrongpiriyapong CLA 2020-07-21 16:41:46 EDT
Hello, I have taken a look into this. The problem, as Leo mentioned, has to do with multiple events being triggered. The solution I can think of is to not pass the GDK.GDK_Return key press event after it has gone through the handler in Tree. This will stop the Next button from also receiving the Enter and creating this error + the cases where it skips screens due to Enter being passed through again. 

I have provided a Gerrit patched for this, but the only thing that worries me is if this will cause some sort of regression with shortcuts or something similar. Hopefully nothing since the "filter" is only for the Enter key.
Comment 17 Eclipse Genie CLA 2020-07-21 16:44:22 EDT
New Gerrit change created: https://git.eclipse.org/r/c/platform/eclipse.platform.swt/+/166617
Comment 19 Soraphol (Paul) Damrongpiriyapong CLA 2020-08-20 09:59:59 EDT
Verified 

Eclipse SDK
Version: 2020-09 (4.17)
Build id: I20200819-1800
OS: Linux, v.5.7.9-200.fc32.x86_64, x86_64 / gtk 3.24.20
Java version: 11.0.7
Comment 20 Thomas Singer CLA 2021-01-12 09:10:13 EST
Bug 570286 might be a regression of this issue.
Comment 21 Soraphol (Paul) Damrongpiriyapong CLA 2021-02-11 11:21:07 EST
Reopened due to regression(Bug 570286) caused by fix.