#11155 closed defect (fixed)
Had a fatal error this morning while trying to start up the nightly build
Reported by: | hjart | Owned by: | team |
---|---|---|---|
Priority: | blocker | Milestone: | 15.02 |
Component: | Core | Version: | latest |
Keywords: | Cc: |
Description
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2015-02-23 02:31:11 Last Changed Author: stoecker Revision: 8100 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Relative URL: ^/trunk URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2015-02-22 23:58:28 +0100 (Sun, 22 Feb 2015) Last Changed Rev: 8100 Identification: JOSM/1.5 (8100 da) Linux openSUSE 13.2 (Harlequin) (x86_64) Memory Usage: 463 MB / 1328 MB (265 MB allocated, but free) Java version: 1.7.0_75, Oracle Corporation, OpenJDK 64-Bit Server VM Java package: openjdk-7-jre:pakken openjdk-7-jre er ikke installeret Plugins: - DirectUpload - InfoMode - ShapeTools - SimplifyArea - buildings_tools - geochat - graphview - junctionchecking - mirrored_download - reverter - scoutsigns - tagging-preset-tester - todo - undelete - utilsplugin2 - wikipedia Last errors/warnings: - E: Kunne ikke finde billedet "maxspeed_icon.svg" - W: Mappaint style "standard" (Maxspeed) icon "maxspeed_icon.svg" not found. - E: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Fatalt: Kunne ikke finde billede 'pencil.???'. Dette er et alvorligt konfigurationsproblem. JOSM vil holde op med at virke.. Årsag: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Fatalt: Kunne ikke finde billede 'pencil.???'. Dette er et alvorligt konfigurationsproblem. JOSM vil holde op med at virke.. Årsag: java.lang.RuntimeException: Fatalt: Kunne ikke finde billede 'pencil.???'. Dette er et alvorligt konfigurationsproblem. JOSM vil holde op med at virke. java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Fatalt: Kunne ikke finde billede 'pencil.???'. Dette er et alvorligt konfigurationsproblem. JOSM vil holde op med at virke. at org.openstreetmap.josm.Main.<init>(Main.java:622) at org.openstreetmap.josm.gui.MainApplication.<init>(MainApplication.java:86) at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:431) Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Fatalt: Kunne ikke finde billede 'pencil.???'. Dette er et alvorligt konfigurationsproblem. JOSM vil holde op med at virke. at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.openstreetmap.josm.Main.<init>(Main.java:619) ... 2 more Caused by: java.lang.RuntimeException: Fatalt: Kunne ikke finde billede 'pencil.???'. Dette er et alvorligt konfigurationsproblem. JOSM vil holde op med at virke. at org.openstreetmap.josm.tools.ImageProvider.getResource(ImageProvider.java:541) at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:115) at org.openstreetmap.josm.gui.mappaint.MapPaintMenu$MapPaintAction.<init>(MapPaintMenu.java:36) at org.openstreetmap.josm.gui.mappaint.MapPaintMenu.mapPaintStylesUpdated(MapPaintMenu.java:99) at org.openstreetmap.josm.gui.mappaint.MapPaintStyles.fireMapPaintSylesUpdated(MapPaintStyles.java:471) at org.openstreetmap.josm.gui.mappaint.MapPaintStyles.readFromPreferences(MapPaintStyles.java:254) at org.openstreetmap.josm.gui.preferences.map.MapPaintPreference.initialize(MapPaintPreference.java:183) at org.openstreetmap.josm.Main$4.initialize(Main.java:604) at org.openstreetmap.josm.Main$InitializationTask.call(Main.java:696) at org.openstreetmap.josm.Main$InitializationTask.call(Main.java:680) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
Attachments (0)
Change History (21)
comment:1 by , 10 years ago
follow-up: 15 comment:2 by , 10 years ago
Milestone: | → 15.02 |
---|
comment:3 by , 10 years ago
Please add your config, especially which mappaint styles you have activated.
comment:4 by , 10 years ago
Note to devs: Probable reason - Mappaint style icon loading does not handle image loading as optional due to rework (i.e. setOptional() missing somewhere).
comment:5 by , 10 years ago
Same problem here. Are more information required? I think it's about this icon.
comment:8 by , 10 years ago
Yes. I still need an config showing this error. Didn't happen on my system, as otherwise I'd seen something so obvious.
comment:9 by , 10 years ago
In my case, on a fresh install, I could reproduce it by adding the Sidewalks plugin and opening the MapPaint panel. The problem in this case seems to be that this plugin does not provide an icon, so Josm falls back to the default pencil.png
icon, which cannot be loaded. So in order to reproduce, a fresh JOSM install running from the .jar
(it did not happen when running from within Eclipse when I tried it) with the Sidewalks plugin and enabled MapPaint style panel was sufficient for me. With the patch I included in #11158, the exception does not happen on my systems anymore, and the panel including the default icon from JOSM for the Sidewalks style gets displayed.
comment:12 by , 10 years ago
I don't know if this (old bug) is related: sometimes when a local mappaint style does an autoreload (due to a external change and file save) the mappaint style looses its icon and instead displays the default pencil icon.
follow-up: 16 comment:14 by , 10 years ago
Can you release @8102 early? I planned to do some mapping today, updated JOSM (it was very old "latest") and failed to start it.
comment:15 by , 10 years ago
Replying to Don-vip:
Not sure how to add my config. Didn't have the Mappaint panel open since a long time. When I open it (in tested) I see the default activated/checked + the Potlatch 2, HDM, Surface and Maxspeed options.
comment:16 by , 10 years ago
comment:17 by , 10 years ago
Replying to stoecker:
In 8102/josm:
I think this might primarily be caused by the changes in StyleSource
in r8097: Before, the ImageIcon
object of the default icon was stored in a static field, now it is an ImageProvider
which is stored, and the changed getIcon()
method calls its get()
method each time it is called itself (which seems to happen on repaints of the UI) to get the ImageIcon
. In the static ImageProvider
object with the default icon, get()
in turn eventually calls the getIfAvailableImpl()
method, which did not happen that way (i.e. multiple times on the same ImageProvider
instance) before as it otherwise would have exposed this small side-effect earlier.
So I guess this does probably not indicate another, more subtle but relevant bug (but maybe some potential for a small optimization), just some changed behavior. However, it's the first time I looked at the code, so take this with a grain of salt ;).
comment:19 by , 10 years ago
@mstock:
What you say is clear. What's unclear is why it triggers that bug. Multiple get() calls should have been possible also before, especially as the whole caching idea relies on this. Why I'm curious is why we didn't get this somewhere else much earlier. But I also have no time to really investigate this. Seems the whole caching infrastructure is a bit sub-optimal. e.g. the overlay stuff is also not cached. :-)
I just update my josm :(