Community
Participate
Working Groups
Created attachment 277770 [details] Ecore_sample Using the diagram functionality "Export as image" in BMP format with max resolution causes Eclipse to freeze. Step to reproduce: - Import the project from the attached ecore_sample.zip - Open the diagram - Trigger the Export Diagram as image - On the popup set the format to BMP and the resolution to MAX -> Eclipse should not freeze When paused during the freeze, the Eclipse main thread is stuck at: Thread [main] (Suspended) owns: ExportAction (id=114) WinBMPFileFormat.unloadDataNoCompression(ImageData, byte[], OutputStream) line: 683 WinBMPFileFormat.unloadData(ImageData, byte[], OutputStream, int) line: 613 WinBMPFileFormat.unloadIntoByteStream(ImageLoader) line: 742 WinBMPFileFormat(FileFormat).unloadIntoStream(ImageLoader, LEDataOutputStream) line: 124 FileFormat.save(OutputStream, int, ImageLoader) line: 112 ImageLoader.save(OutputStream, int) line: 218 DiagramEditPartService.saveToOutputStream(OutputStream, Image, ImageFileFormat, IProgressMonitor) line: 444 DiagramEditPartService.saveToFile(IPath, Image, ImageFileFormat, IProgressMonitor) line: 408 DiagramEditPartService.copyToImage(DiagramGenerator, List, Rectangle, IPath, ImageFileFormat, IProgressMonitor) line: 381 DiagramEditPartService(CopyToImageUtil).copyToImage(DiagramEditPart, IPath, ImageFileFormat, IProgressMonitor) line: 300 DiagramEditPartService.copyToImage(DiagramEditPart, IPath, ImageFileFormat, IProgressMonitor) line: 264 DiagramDialectUIServices.exportWithResult(DRepresentation, Session, IPath, ExportFormat, IProgressMonitor, boolean) line: 458 DiagramDialectUIServices(DialectUIServices).export(DRepresentation, Session, IPath, ExportFormat, IProgressMonitor, boolean) line: 252 DialectUIManagerImpl.export(DRepresentation, Session, IPath, ExportFormat, IProgressMonitor, boolean) line: 269 ExportAction.createImageFiles(IProgressMonitor) line: 219 ExportAction.execute(IProgressMonitor) line: 140 ExportAction(WorkspaceModifyOperation).lambda$0(InvocationTargetException[], IProgressMonitor) line: 107 1298196309.run(IProgressMonitor) line: not available Workspace.run(ICoreRunnable, ISchedulingRule, int, IProgressMonitor) line: 2240 Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 2267 ExportAction(WorkspaceModifyOperation).run(IProgressMonitor) line: 128 ModalContext.runInCurrentThread(IRunnableWithProgress, IProgressMonitor) line: 437 ModalContext.run(IRunnableWithProgress, boolean, IProgressMonitor, Display) line: 353 ProgressMonitorDialog.run(boolean, boolean, IRunnableWithProgress) line: 483 SaveAsImageFileAction(AbstractExportRepresentationsAction).exportRepresentation(IPath, Iterable<DRepresentationDescriptor>, Session) line: 148 SaveAsImageFileAction(AbstractExportRepresentationsAction).run() line: 93 SaveAsImageFileAction(Action).runWithEvent(Event) line: 473 AbstractContributionItemProvider$PluginActionContributionItem(ActionContributionItem).handleWidgetSelection(Event, boolean) line: 565 AbstractContributionItemProvider$PluginActionContributionItem(ActionContributionItem).lambda$4(Event) line: 397 334337848.handleEvent(Event) line: not available EventTable.sendEvent(Event) line: 86 Display.sendEvent(EventTable, Event) line: 4428 MenuItem(Widget).sendEvent(Event) line: 1079 Display.runDeferredEvents() line: 4238 Display.readAndDispatch() line: 3817 PartRenderingEngine$5.run() line: 1150 Realm.runWithDefault(Realm, Runnable) line: 336 PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 1039 E4Workbench.createAndRunUI(MApplicationElement) line: 153 Workbench.lambda$3(Display, WorkbenchAdvisor, int[]) line: 680 247576438.run() line: not available Realm.runWithDefault(Realm, Runnable) line: 336 Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 594 PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 148 IDEApplication.start(IApplicationContext) line: 151 EclipseAppHandle.run(Object) line: 196 EclipseAppLauncher.runApplication(Object) line: 134 EclipseAppLauncher.start(Object) line: 104 EclipseStarter.run(Object) line: 388 EclipseStarter.run(String[], Runnable) line: 243 NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method] NativeMethodAccessorImpl.invoke(Object, Object[]) line: 62 DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 Method.invoke(Object, Object...) line: 498 Main.invokeFramework(String[], URL[]) line: 653 Main.basicRun(String[]) line: 590 Main.run(String[]) line: 1499 Main.main(String[]) line: 1472
To add 1 thing, to reproduce it's necessary to select the Design viewpoint and create a new Representation. After this action you must to drop all elements from semantic model to representation.
I think it is because you tested on an environment with EcoreTools. I used the org.eclipse.sirius.sample.ecore.design for this sample.
Seems to be duplicate of https://bugs.eclipse.org/bugs/show_bug.cgi?id=527514