Modify ↓
#22522 closed defect (fixed)
RejectedExecutionException closing JOSM with open image viewer
Reported by: | skyper | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | 22.12 |
Component: | Core image mapping | Version: | latest |
Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- Open some geoimages
- Open image view
- Quit JOSM
What is the expected result?
The program closes
What happens instead?
RejectedExecutionException
Please provide any additional information below. Attach a screenshot if possible.
The geoimage layer is deleted but the program does not quit.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2022-11-22 14:37:25 +0100 (Tue, 22 Nov 2022) Revision:18603 Build-Date:2022-11-23 02:30:57 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (18603 en) Linux Debian GNU/Linux 11 (bullseye) Java version: 17.0.4+8-Debian-1deb11u1, Debian, OpenJDK 64-Bit Server VM Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel Java package: openjdk-17-jre:amd64-17.0.4+8-1~deb11u1 libcommons-compress-java: libcommons-compress-java:all-1.20-1 libcommons-logging-java: libcommons-logging-java:all-1.2-2 fonts-noto: fonts-noto:all-20201225-1 VM arguments: [-Djosm.home=<josm.pref>/] Last errors/warnings: - 00115.514 E: Handled by bug report queue: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@5b2f49a9[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@5c2d75cb[Wrapped task = org.openstreetmap.josm.gui.layer.geoimage.ImageDisplay$LoadImageRunnable@78c8a42d]] rejected from org.openstreetmap.josm.gui.progress.swing.ProgressMonitorExecutor@68def8b7[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 5] === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-0 (21) of main java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@5b2f49a9[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@5c2d75cb[Wrapped task = org.openstreetmap.josm.gui.layer.geoimage.ImageDisplay$LoadImageRunnable@78c8a42d]] rejected from org.openstreetmap.josm.gui.progress.swing.ProgressMonitorExecutor@68def8b7[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 5] at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2065) at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:833) at java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1365) at org.openstreetmap.josm.gui.progress.swing.ProgressMonitorExecutor.execute(ProgressMonitorExecutor.java:41) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123) at org.openstreetmap.josm.gui.layer.geoimage.ImageDisplay.setImage(ImageDisplay.java:638) at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.updateButtonsNonNullEntry(ImageViewerDialog.java:779) at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.displayImages(ImageViewerDialog.java:720) at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.displayImages(ImageViewerDialog.java:730) at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.displayImages(ImageViewerDialog.java:683) at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.layerRemoving(ImageViewerDialog.java:910) at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerRemoving(LayerManager.java:476) at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveSingleLayer(LayerManager.java:278) at org.openstreetmap.josm.gui.layer.MainLayerManager.realRemoveSingleLayer(MainLayerManager.java:330) at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveLayer(LayerManager.java:266) at org.openstreetmap.josm.gui.layer.LayerManager.lambda$removeLayer$1(LayerManager.java:248) at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:247) at org.openstreetmap.josm.gui.layer.LayerManager.removeLayer(LayerManager.java:248) at org.openstreetmap.josm.gui.layer.LayerManager.realResetState(LayerManager.java:515) at org.openstreetmap.josm.gui.layer.MainLayerManager.realResetState(MainLayerManager.java:516) at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:247) at org.openstreetmap.josm.gui.layer.LayerManager.resetState(LayerManager.java:506) at org.openstreetmap.josm.gui.MainTermination.run(MainTermination.java:43) at org.openstreetmap.josm.spi.lifecycle.Lifecycle.exitJosm(Lifecycle.java:121) at org.openstreetmap.josm.gui.MainApplication.exitJosm(MainApplication.java:522) at org.openstreetmap.josm.gui.MainFrame$ExitWindowAdapter.windowClosing(MainFrame.java:199) at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357) at java.desktop/java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:357) at java.desktop/java.awt.Window.processWindowEvent(Window.java:2085) at java.desktop/javax.swing.JFrame.processWindowEvent(JFrame.java:298) at java.desktop/java.awt.Window.processEvent(Window.java:2044) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746) at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Attachments (0)
Note:
See TracTickets
for help on using tickets.
I noticed this last week, and I was trying to figure out the best way to fix it.
The simplest "fix" would be something like this:
src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java
? MainApplication.worker.submit(runnable) : null;I might commit that just to get the 22.11 release out the door, but I think there might be a better place for it.