Modify

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#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 Changed 8 years ago by anonymous

I just update my josm :(

Caused by: java.lang.RuntimeException: Fatal: failed to locate image 'pencil.???'. This is a serious configuration problem. JOSM will stop working.

comment:2 Changed 8 years ago by Don-vip

Milestone: 15.02

comment:3 Changed 8 years ago by stoecker

Please add your config, especially which mappaint styles you have activated.

comment:4 Changed 8 years ago by stoecker

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 Changed 8 years ago by Klumbumbus

Same problem here. Are more information required? I think it's about this icon.

comment:6 Changed 8 years ago by Klumbumbus

see also #11158

comment:7 Changed 8 years ago by stoecker

Ticket #11158 has been marked as a duplicate of this ticket.

comment:8 Changed 8 years ago by stoecker

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 Changed 8 years ago by mstock

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:10 Changed 8 years ago by stoecker

Resolution: fixed
Status: newclosed

In 8102/josm:

fix #11155 - don't add subdir slash multiple times - why do the recent changes trigger that bug?

comment:11 Changed 8 years ago by Zverikk

Ticket #11159 has been marked as a duplicate of this ticket.

comment:12 Changed 8 years ago by Klumbumbus

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.

comment:13 Changed 8 years ago by stoecker

Could be. You will see if it gone :-)

comment:14 Changed 8 years ago by Zverikk

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 in reply to:  2 Changed 8 years ago by hjart

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.

Last edited 8 years ago by hjart (previous) (diff)

comment:16 in reply to:  14 Changed 8 years ago by Klumbumbus

Replying to Zverikk:

Can you release @8102 early? I planned to do some mapping today, updated JOSM (it was very old "latest") and failed to start it.

you can also use josm tested or 8090 from download

comment:17 in reply to:  10 Changed 8 years ago by mstock

Replying to stoecker:

In 8102/josm:

fix #11155 - don't add subdir slash multiple times - why do the recent changes trigger that bug?

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:18 Changed 8 years ago by Klumbumbus

Ticket #11160 has been marked as a duplicate of this ticket.

comment:19 Changed 8 years ago by stoecker

@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. :-)

comment:20 Changed 8 years ago by anonymous

Ticket #11161 has been marked as a duplicate of this ticket.

comment:21 Changed 8 years ago by hjart

latest works for me today. Thank you

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.