Project: Birt
Bug 123966 BIRT designer became very slow/hang after opening a report which included non-existed library
Reported: 2006-01-16 10:04:36 | Status: closed fixed

Delele the library that has binded the report, reopen the report, throws exception Steps: 1.Create a library 2.Create a report, use the library 3.Close the report 4.Delete the library 5.Reopen the report Actual Results: 1.System throws exception 2.Switch outline view, click Library, system can block. java.lang.NumberFormatException: I OIoEaEeO at org.eclipse.birt.report.designer.util.FixTableLayoutCalculator.getIntColWidth(FixTableLayoutCalculator.java:308) at org.eclipse.birt.report.designer.internal.ui.layout.TableLayoutHelper.calculateColumnWidth(TableLayoutHelper.java:37) at org.eclipse.birt.report.designer.internal.ui.layout.TableLayout.caleLayoutData(TableLayout.java:596) at org.eclipse.birt.report.designer.internal.ui.layout.TableLayout.layout(TableLayout.java:157) at org.eclipse.draw2d.Figure.layout(Figure.java:928) at org.eclipse.draw2d.Figure.validate(Figure.java:1604) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.FreeformLayeredPane.validate(FreeformLayeredPane.java:122) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.FreeformLayeredPane.validate(FreeformLayeredPane.java:122) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.Viewport.validate(Viewport.java:357) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.FreeformLayeredPane.validate(FreeformLayeredPane.java:122) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.FreeformLayeredPane.validate(FreeformLayeredPane.java:122) at org.eclipse.draw2d.Figure.validate(Figure.java:1606) at org.eclipse.draw2d.FreeformLayeredPane.validate(FreeformLayeredPane.java:122) at org.eclipse.draw2d.FreeformViewport$FreeformViewportLayout.calculatePreferredSize(FreeformViewport.java:28) at org.eclipse.draw2d.AbstractLayout.getPreferredSize(AbstractLayout.java:93) at org.eclipse.draw2d.AbstractHintLayout.getPreferredSize(AbstractHintLayout.java:86) at org.eclipse.draw2d.Figure.getPreferredSize(Figure.java:648) at org.eclipse.draw2d.ScrollPaneSolver.solve(ScrollPaneSolver.java:75) at org.eclipse.draw2d.FigureCanvas.layoutViewport(FigureCanvas.java:222) at org.eclipse.draw2d.FigureCanvas.access$4(FigureCanvas.java:220) at org.eclipse.draw2d.FigureCanvas$3.notifyValidating(FigureCanvas.java:185) at org.eclipse.draw2d.UpdateManager.fireValidating(UpdateManager.java:93) at org.eclipse.draw2d.DeferredUpdateManager.validateFigures(DeferredUpdateManager.java:233) at org.eclipse.draw2d.DeferredUpdateManager.performUpdate(DeferredUpdateManager.java:137) at org.eclipse.birt.report.designer.internal.ui.editors.notification.ReportDeferredUpdateManager.performUpdate(ReportDeferredUpdateManager.java:33) at org.eclipse.draw2d.LightweightSystem.controlResized(LightweightSystem.java:146) at org.eclipse.draw2d.LightweightSystem$3.controlResized(LightweightSystem.java:122) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:148) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:801) at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:4171) at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:312) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:875) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1044) at org.eclipse.swt.widgets.Control.forceResize(Control.java:630) at org.eclipse.swt.widgets.Control.getLocation(Control.java:825) at org.eclipse.birt.report.designer.internal.ui.editors.rulers.EditorRulerComposite.doLayout(EditorRulerComposite.java:323) at org.eclipse.birt.report.designer.internal.ui.editors.rulers.EditorRulerComposite.layout(EditorRulerComposite.java:506) at org.eclipse.birt.report.designer.internal.ui.editors.rulers.EditorRulerComposite$5.handleEvent(EditorRulerComposite.java:553) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:801) at org.eclipse.swt.widgets.Control.WM_SIZE(Control.java:4171) at org.eclipse.swt.widgets.Scrollable.WM_SIZE(Scrollable.java:312) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:875) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:432) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:398) at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:499) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:887) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1882) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1861) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:148) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:884) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:432) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:398) at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:499) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:887) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1882) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1861) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:148) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:884) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:432) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:398) at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:499) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:887) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1882) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1861) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:148) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:884) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1882) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1861) at org.eclipse.swt.layout.FillLayout.layout(FillLayout.java:148) at org.eclipse.swt.widgets.Composite.WM_SIZE(Composite.java:884) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3037) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1468) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3050) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3338) at org.eclipse.swt.internal.win32.OS.SetWindowPos(Native Method) at org.eclipse.swt.widgets.Widget.SetWindowPos(Widget.java:1044) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1882) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1861) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1926) at org.eclipse.ui.internal.LayoutPart.setBounds(LayoutPart.java:290) at org.eclipse.ui.internal.presentations.PresentablePart.setBounds(PresentablePart.java:115) at org.eclipse.ui.internal.presentations.DefaultPartPresentation.layout(DefaultPartPresentation.java:723) at org.eclipse.ui.internal.presentations.DefaultPartPresentation.setControlSize(DefaultPartPresentation.java:733) at org.eclipse.ui.internal.presentations.DefaultPartPresentation.selectPart(DefaultPartPresentation.java:1128) at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:946) at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:921) at org.eclipse.ui.internal.EditorStack.setSelection(EditorStack.java:196) at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1020) at org.eclipse.ui.internal.PartStack.add(PartStack.java:290) at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:121) at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:59) at org.eclipse.ui.internal.EditorAreaHelper.openEditor(EditorAreaHelper.java:266) at org.eclipse.ui.internal.EditorManager$4.run(EditorManager.java:694) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:683) at org.eclipse.ui.internal.EditorManager.openInternalEditor(EditorManager.java:779) at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:582) at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:570) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2244) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2177) at org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2169) at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2156) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2151) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:299) at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:96) at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:94) at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:111) at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:293) at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:624) at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:388) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:429) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:616) at org.eclipse.core.runtime.Platform.run(Platform.java:747) at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:427) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:635) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:731) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:211) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:206) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:238) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2772) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 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:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:704) at org.eclipse.core.launcher.Main.main(Main.java:688)

Files changed in fix:
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/editors/ReportColorConstants.java UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/editors/schematic/editparts/DestroyEditPart.java UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/internal/ui/editors/schematic/editparts/GraphicalPartFactory.java