Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 419999

Summary: Eclipse hangs when trying to activate or deactivate validations in the preference dialog
Product: [WebTools] WTP Common Tools Reporter: Roberto Sanchez Herrera <shr31223>
Component: wst.validationAssignee: Roberto Sanchez Herrera <shr31223>
Status: RESOLVED FIXED QA Contact: Chuck Bridgham <cbridgha>
Severity: blocker    
Priority: P3 CC: cbridgha, daniel_megert, dkroot2, docanorak, gary, ian, javapapo, marcosgdf, martin.papy, mauromol, mike, mlippert, portletfaces, shr31223, tunkul
Version: 3.5Flags: cbridgha: review+
Target Milestone: 3.5.2   
Hardware: Macintosh   
OS: Mac OS X   
Whiteboard:
Bug Depends on: 412826    
Bug Blocks:    
Attachments:
Description Flags
Proposed fix none

Description Roberto Sanchez Herrera CLA 2013-10-21 12:18:28 EDT
Bug to backport fix to WTP 3.5.2

+++ This bug was initially created as a clone of Bug #412826 +++

I start with a fresh Eclipse Kepler JEE installation (for Mac OSX 64bit), running it with Oracle JDK 1.7.0_25.

I have a clean installation and a clean fresh workspace.
I go to Preferences -> Validation. When I click on any of the checkboxes in that table (to activate or deactivate certain validations), Eclipse hangs and I have to kill the process.

Thread dump doesn't reveal anything special:

"main" prio=5 tid=0x0000000100814000 nid=0xc07 runnable [0x00007fff5fbfb000]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:221)
	at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1101)
	at org.eclipse.swt.widgets.Table.mouseDownSuper(Table.java:1998)
	at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1093)
	at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2563)
	at org.eclipse.swt.widgets.Table.mouseDown(Table.java:1970)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5556)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:221)
	at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2104)
	at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2318)
	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5620)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
	at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5057)
	at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5206)
	at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
	at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3648)
	at org.eclipse.jface.window.Window.runEventLoop(Window.java:826)
	at org.eclipse.jface.window.Window.open(Window.java:802)
	at org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog.open(WorkbenchPreferenceDialog.java:215)
	at org.eclipse.ui.internal.handlers.ShowPreferencePageHandler.execute(ShowPreferencePageHandler.java:58)
	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290)
	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:243)
	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:224)
	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:167)
	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:200)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.runCommand(CocoaUIHandler.java:716)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.access$6(CocoaUIHandler.java:704)
	at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler$8.widgetSelected(CocoaUIHandler.java:569)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4166)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1489)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1474)
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4012)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3651)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:567)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
Comment 1 Roberto Sanchez Herrera CLA 2013-10-21 18:06:57 EDT
Created attachment 236742 [details]
Proposed fix

Same patch as in the original bug, but created using R3_5_maintenance
Comment 2 Roberto Sanchez Herrera CLA 2013-10-22 10:35:50 EDT
Committed to R3_5_maintenance for WTP 3.5.2

http://git.eclipse.org/c/webtools-common/webtools.common.git/commit/?h=R3_5_maintenance&id=9eacae57ffac99cd41eff839cdd32049fad4d528

and released using tag 	v201310221500 http://git.eclipse.org/c/webtools/webtools.maps.git/commit/?h=R3_5_maintenance&id=489e1cf960c6f9613ed65d96603e567abc2c2e69

The fix should be available in the next WTP 3.5.2 smoke driver. I will resolve after I verify the fix in that driver
Comment 3 Roberto Sanchez Herrera CLA 2013-10-25 13:47:25 EDT
Tried using WTP 

http://build.eclipse.org/webtools/committers/wtp4x-R3.5.2-M/20131024044806/M-3.5.2-20131024044806/

and did not see eclipse hanging when clicking on the check boxes. 

Resolving