Bug 1730554
Summary: | I get an error dialog each time I click the Imagery menu | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Ludovic Hirlimann [:Paul-muadib] <ludovic> | ||||
Component: | josm | Assignee: | Jakub Jelen <jjelen> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | unspecified | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 30 | CC: | cedric.olivier, jjelen | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | josm-0-0.99.15238svn.fc30 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2019-08-09 01:02:45 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Interesting. I see this also happening with the updated versions [1], but not if I download the JAR file directly from josm website. Additionally, there are still the backtraces as described in bug #1700492, which look in some ways very similar but looks like they are handled more correctly and do not lead to the crash of the whole JOSM. This does not happen in the jar from josm website either. This sounds like some "packaging" issue. When comparing the images that are packaged form svn by me with the ones that I am getting in the official jar file, they are different, optimized and it looks like the svgsalamander has problems reading the original svg files. I assume that part of the (secret) build process [2] of upstream JOSM is a step that somehow optimizes the SVG images. I spent some time trying to make some SVG minimizer/optimizer locally but without any success so far. Anyway, patches and contributions are always welcomed. [1] https://bodhi.fedoraproject.org/updates/FEDORA-2019-9aeef90c65 [2] https://josm.openstreetmap.de/wiki/DevelopersGuide/CreateBuild#Creatingastandardbuild OK, I was able to compress the svg files using svgcleaner [1], but the issues persisted. After some more digging up, it turns out that they are not using the latest version of svgSalamander, but they have some more patches on top of that, which gives me two options: * update the svgSalamander with current master (the fixes for the regression in the last release are not released yet) * bundle the patched svgSalamander I am now going to try the first thing and I will keep this bug posted. [1] https://github.com/RazrFalcon/svgcleaner FEDORA-2019-7ad440f159 has been submitted as an update to Fedora 30. https://bodhi.fedoraproject.org/updates/FEDORA-2019-7ad440f159 josm-0-0.99.15238svn.fc30, svgsalamander-1.1.2-3.fc30 has been pushed to the Fedora 30 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-7ad440f159 I'm still seeing the error with the following stack trace : 2019-08-01 09:11:19.784 INFO: GET http://www.ign.fr/institut/sites/all/themes/ign_institut/logo.png -> HTTP_1 200 (10.2 kB) 2019-08-01 09:11:20.030 INFO: GET https://svn.openstreetmap.org/applications/editors/josm/plugins/cadastre-fr/images/cadastre_small.png -> HTTP_1 200 (222 B) 2019-08-01 09:11:20.045 WARNING: Could not create font Sans 2019-08-01 09:11:20.047 WARNING: Could not load SVG jar:file:/usr/share/java/josm.jar!/images/data/imagery/osmbasedmap.svg java.lang.NullPointerException at com.kitfox.svg.Tspan.appendToShape(Tspan.java:281) at com.kitfox.svg.Text.buildText(Text.java:362) at com.kitfox.svg.Text.build(Text.java:266) at com.kitfox.svg.Text.updateTime(Text.java:610) at com.kitfox.svg.Group.updateTime(Group.java:313) at com.kitfox.svg.SVGRoot.updateTime(SVGRoot.java:403) at com.kitfox.svg.SVGDiagram.updateTime(SVGDiagram.java:243) at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:616) at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:468) at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:445) at org.openstreetmap.josm.tools.ImageProvider.getIfAvailableLocalURL(ImageProvider.java:1175) at org.openstreetmap.josm.tools.ImageProvider.getIfAvailableImpl(ImageProvider.java:967) at org.openstreetmap.josm.tools.ImageProvider.getResource(ImageProvider.java:714) at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:679) at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:786) at org.openstreetmap.josm.data.imagery.ImageryInfo$ImageryCategory.lambda$getIcon$1(ImageryInfo.java:160) at java.util.Map.computeIfAbsent(Map.java:957) at java.util.Collections$SynchronizedMap.computeIfAbsent(Collections.java:2672) at org.openstreetmap.josm.data.imagery.ImageryInfo$ImageryCategory.getIcon(ImageryInfo.java:160) at org.openstreetmap.josm.gui.ImageryMenu.refreshImageryMenu(ImageryMenu.java:199) at org.openstreetmap.josm.gui.ImageryMenu$1.menuSelected(ImageryMenu.java:124) at javax.swing.JMenu.fireMenuSelected(JMenu.java:1038) at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1118) at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:349) at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:232) at javax.swing.JMenu.setSelected(JMenu.java:305) at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1187) at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:127) at javax.swing.plaf.basic.BasicMenuUI$Handler.mousePressed(BasicMenuUI.java:450) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 2019-08-01 09:11:20.054 SEVERE: Handled by bug report queue: org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'osmbasedmap.???'. This is a serious configuration problem. JOSM will stop working. org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'osmbasedmap.???'. This is a serious configuration problem. JOSM will stop working. at org.openstreetmap.josm.tools.ImageProvider.getResource(ImageProvider.java:719) at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:679) at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:786) at org.openstreetmap.josm.data.imagery.ImageryInfo$ImageryCategory.lambda$getIcon$1(ImageryInfo.java:160) at java.util.Map.computeIfAbsent(Map.java:957) at java.util.Collections$SynchronizedMap.computeIfAbsent(Collections.java:2672) at org.openstreetmap.josm.data.imagery.ImageryInfo$ImageryCategory.getIcon(ImageryInfo.java:160) at org.openstreetmap.josm.gui.ImageryMenu.refreshImageryMenu(ImageryMenu.java:199) at org.openstreetmap.josm.gui.ImageryMenu$1.menuSelected(ImageryMenu.java:124) at javax.swing.JMenu.fireMenuSelected(JMenu.java:1038) at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1118) at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:349) at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:232) at javax.swing.JMenu.setSelected(JMenu.java:305) at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1187) at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:127) at javax.swing.plaf.basic.BasicMenuUI$Handler.mousePressed(BasicMenuUI.java:450) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) 2019-08-01 09:11:20.508 INFO: GET https://josm.openstreetmap.de/tested -> HTTP_1 200 2019-08-01 09:11:29.988 INFO: Changeset updater inactive 2019-08-01 09:11:29.988 INFO: Message notifier inactive [ludovic@saraan ~]$ STR : 1) launch josm 2) select an area where you want to work and download the data 3) go to the menu. Menu loads and works fine when no data is being worked on. I updated josm with sudo dnf update josm --enablerepo=updates-testing this did not install svgsalamander-1.1.2-3.fc30. When I updated svgsalamander the issue solved itself. The actual fix is in the svgsalamander, so both of them needs to be updated (that is the reason why they are both in the one update. Thank you for verifying the fix. josm-0-0.99.15238svn.fc30, svgsalamander-1.1.2-3.fc30 has been pushed to the Fedora 30 stable repository. If problems still persist, please make note of it in this bug report. |
Created attachment 1591286 [details] screenshot of my issue Description of problem: When I want to get spatial imagery I get the attached screenshot saying a bug was encountered, telling me to update to a later version before filing a bug. Version-Release number of selected component (if applicable): [ludovic@saraan Downloads]$ rpm -qa |grep josm josm-0-0.95.15155svn.fc30.noarch [ludovic@saraan Downloads]$ How reproducible: All the time Steps to Reproduce: 1. Start Josm 2. load a zone to edit 3. click the imagery menu Actual results: See screenshot Expected results: I get the menu and can choose which imagery to get. Additional info: you can select don't show this dialog for this session - and get access to the menu when you try again. Terminal contains the following java stack trace: 2019-07-17 08:27:00.028 SEVERE: Handled by bug report queue: org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'osmbasedmap.???'. This is a serious configuration problem. JOSM will stop working. org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'osmbasedmap.???'. This is a serious configuration problem. JOSM will stop working. at org.openstreetmap.josm.tools.ImageProvider.getResource(ImageProvider.java:719) at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:679) at org.openstreetmap.josm.tools.ImageProvider.get(ImageProvider.java:786) at org.openstreetmap.josm.data.imagery.ImageryInfo$ImageryCategory.lambda$getIcon$1(ImageryInfo.java:159) at java.util.Map.computeIfAbsent(Map.java:957) at java.util.Collections$SynchronizedMap.computeIfAbsent(Collections.java:2672) at org.openstreetmap.josm.data.imagery.ImageryInfo$ImageryCategory.getIcon(ImageryInfo.java:159) at org.openstreetmap.josm.gui.ImageryMenu.refreshImageryMenu(ImageryMenu.java:199) at org.openstreetmap.josm.gui.ImageryMenu$1.menuSelected(ImageryMenu.java:124) at javax.swing.JMenu.fireMenuSelected(JMenu.java:1038) at javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1118) at javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:349) at javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:232) at javax.swing.JMenu.setSelected(JMenu.java:305) at javax.swing.JMenu.menuSelectionChanged(JMenu.java:1187) at javax.swing.MenuSelectionManager.setSelectedPath(MenuSelectionManager.java:127) at javax.swing.plaf.basic.BasicMenuUI$Handler.mousePressed(BasicMenuUI.java:450) at java.awt.Component.processMouseEvent(Component.java:6536) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6304) at java.awt.Container.processEvent(Container.java:2239) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2297) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4532) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476) at java.awt.Container.dispatchEventImpl(Container.java:2283) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84) at java.awt.EventQueue$4.run(EventQueue.java:733) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:730) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)