[jbosstools-issues] [JBoss JIRA] Created: (JBIDE-4391) CSS Cancel action hang Eclipse for invalid properties
Yura Zhishko (JIRA)
jira-events at lists.jboss.org
Fri May 29 11:12:56 EDT 2009
CSS Cancel action hang Eclipse for invalid properties
-----------------------------------------------------
Key: JBIDE-4391
URL: https://jira.jboss.org/jira/browse/JBIDE-4391
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: Visual Page Editor core
Affects Versions: 3.1.0.M1
Environment: WinXP sp3
JBossTools-ALL-win32-3.1.0.M1-N200905280026-H204
Reporter: Yura Zhishko
Assignee: Sergey Dzmitrovich
Priority: Blocker
1) Open any CSS file
2) Call CSS dialog (Ctrl+Shift+C)
3) Choose any styleclass and enter invalid property, for example, see screenshot-1
4) Press Cancel button
RESULT: This action hangs Eclipse with next NPE:
Unhandled event loop exception
org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:3881)
at org.eclipse.swt.SWT.error(SWT.java:3796)
at org.eclipse.swt.SWT.error(SWT.java:3767)
at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:336)
at org.eclipse.swt.widgets.Control.setEnabled(Control.java:2917)
at org.jboss.tools.jst.jsp.outline.cssdialog.CSSClassDialog.handleStatusChanged(CSSClassDialog.java:333)
at org.jboss.tools.jst.jsp.outline.cssdialog.AbstractCSSDialog$2.handleValueChange(AbstractCSSDialog.java:123)
at org.eclipse.core.databinding.observable.value.ValueChangeEvent.dispatch(ValueChangeEvent.java:62)
at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
at org.eclipse.core.databinding.observable.value.AbstractObservableValue.fireValueChange(AbstractObservableValue.java:71)
at org.eclipse.core.databinding.observable.value.ComputedValue.makeDirty(ComputedValue.java:169)
at org.eclipse.core.databinding.observable.value.ComputedValue$PrivateInterface.handleChange(ComputedValue.java:116)
at org.eclipse.core.databinding.observable.ChangeEvent.dispatch(ChangeEvent.java:41)
at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
at org.eclipse.core.databinding.observable.AbstractObservable.fireChange(AbstractObservable.java:65)
at org.eclipse.core.databinding.observable.list.ObservableList.fireListChange(ObservableList.java:71)
at org.eclipse.core.databinding.observable.list.WritableList.remove(WritableList.java:216)
at org.eclipse.core.databinding.DataBindingContext.removeValidationStatusProvider(DataBindingContext.java:479)
at org.eclipse.core.databinding.DataBindingContext.removeBinding(DataBindingContext.java:466)
at org.eclipse.core.databinding.Binding.dispose(Binding.java:127)
at org.eclipse.core.databinding.ValueBinding.dispose(ValueBinding.java:250)
at org.eclipse.core.databinding.Binding$1.handleDispose(Binding.java:67)
at org.eclipse.core.databinding.observable.DisposeEvent.dispatch(DisposeEvent.java:38)
at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
at org.eclipse.core.databinding.observable.AbstractObservable.dispose(AbstractObservable.java:86)
at org.eclipse.core.databinding.observable.DecoratingObservable.dispose(DecoratingObservable.java:123)
at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.dispose(DecoratingObservableValue.java:116)
at org.eclipse.jface.internal.databinding.swt.SWTObservableValueDecorator.dispose(SWTObservableValueDecorator.java:55)
at org.eclipse.core.databinding.observable.DecoratingObservable$1.handleDispose(DecoratingObservable.java:48)
at org.eclipse.core.databinding.observable.DisposeEvent.dispatch(DisposeEvent.java:38)
at org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
at org.eclipse.core.databinding.observable.AbstractObservable.dispose(AbstractObservable.java:86)
at org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.dispose(SimplePropertyObservableValue.java:151)
at org.eclipse.core.databinding.observable.DecoratingObservable.dispose(DecoratingObservable.java:119)
at org.eclipse.core.databinding.observable.value.DecoratingObservableValue.dispose(DecoratingObservableValue.java:116)
at org.eclipse.jface.internal.databinding.swt.SWTObservableValueDecorator.dispose(SWTObservableValueDecorator.java:55)
at org.eclipse.jface.internal.databinding.swt.SWTObservableValueDecorator.handleEvent(SWTObservableValueDecorator.java:42)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)
at org.eclipse.swt.widgets.Widget.release(Widget.java:804)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.TabFolder.releaseChildren(TabFolder.java:569)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:754)
at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:174)
at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:772)
at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1257)
at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:441)
at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:447)
at org.eclipse.swt.widgets.Shell.dispose(Shell.java:704)
at org.eclipse.jface.window.Window.close(Window.java:335)
at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:979)
at org.eclipse.jface.dialogs.TrayDialog.close(TrayDialog.java:179)
at org.jboss.tools.jst.jsp.outline.cssdialog.AbstractCSSDialog.close(AbstractCSSDialog.java:250)
at org.jboss.tools.jst.jsp.outline.cssdialog.CSSClassDialog.close(CSSClassDialog.java:302)
at org.eclipse.jface.dialogs.Dialog.cancelPressed(Dialog.java:488)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:474)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.jboss.tools.jst.jsp.outline.cssdialog.OpenCSSDialogActionDelegate.run(OpenCSSDialogActionDelegate.java:70)
at org.eclipse.ui.internal.handlers.ActionDelegateHandlerProxy.execute(ActionDelegateHandlerProxy.java:289)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:470)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1191)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1368)
at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4047)
at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3940)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4589)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2409)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3471)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
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:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Try to reproduce on Linux -> only exception appears, Eclipse is still running.
Some another small tests case should be fixed relatively to invalid properties
1) Enter invalid property in one field
2) Set focus on another field
3) Enter a valid property
ASSERT: Apply button is still disabled
ASSERT FAILED: Apply button become enabled
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbosstools-issues
mailing list