Modify

Opened 8 months ago

Closed 7 months ago

#15662 closed defect (fixed)

Can't load resource from plugin *.jar when JOSM_HOME is inside a directory ending with an exclamation mark

Reported by: BaKaUma Owned by: team
Priority: normal Milestone: 18.01
Component: Core Version: latest
Keywords: template_report javabug Cc:

Description

What steps will reproduce the problem?

  1. Download plugin
  2. Restart
  3. I think that is?

What is the expected result?

Plugin show up and I can enjoy drawing the map

What happens instead?

Some file in plugin are missing and I can't use them

Please provide any additional information below. Attach a screenshot if possible.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2017-11-26 14:31:59 +0100 (Sun, 26 Nov 2017)
Build-Date:2017-11-26 13:34:54
Revision:13170
Relative:URL: ^/trunk

Identification: JOSM/1.5 (13170 en) Windows 7 64-Bit
OS Build number: Windows 7 Home Premium (7601)
Memory Usage: 733 MB / 1810 MB (162 MB allocated, but free)
Java version: 1.8.0_151-b12, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1920x1080
Maximum Screen Size: 1920x1080
VM arguments: [-Djava.security.manager, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>\bin, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\56\1ee8cfb8-6f1e0202, -Djnlpx.remove=false, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.splashport=52639, -Djnlp.application.href=https://josm.openstreetmap.de/download/josm.jnlp, -Djnlpx.jvm=<java.home>\bin\javaw.exe]
Dataset consistency test: No problems found

Plugins:
+ CustomizePublicTransportStop
+ buildings_tools
+ geochat (33796)

Last errors/warnings:
- W: javax.imageio.IIOException: Can't get input stream from URL!. Cause: java.io.FileNotFoundException: C:\Users\!! (系統找不到指定的檔案。)
- E: org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin CustomizePublicTransportStop. Cause: java.lang.reflect.InvocationTargetException. Cause: org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'bus.png'. This is a serious configuration problem. JOSM will stop working.
- W: Disable plugin - Could not load plugin CustomizePublicTransportStop. Delete from preferences?
- W: No configuration settings found.  Using hardcoded default values for all pools.
- W: javax.imageio.IIOException: Can't get input stream from URL!. Cause: java.io.FileNotFoundException: C:\Users\!! (系統找不到指定的檔案。)
- E: org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin buildings_tools. Cause: java.lang.reflect.InvocationTargetException. Cause: org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'mapmode/building.???'. This is a serious configuration problem. JOSM will stop working.
- W: Disable plugin - Could not load plugin buildings_tools. Delete from preferences?
- W: javax.imageio.IIOException: Can't get input stream from URL!. Cause: java.io.FileNotFoundException: C:\Users\!! (系統找不到指定的檔案。)
- E: Handled by bug report queue: org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin geochat. Cause: java.lang.reflect.InvocationTargetException. Cause: org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'dialogs/geochat.???'. This is a serious configuration problem. JOSM will stop working.
- W: Warning - <html>JOSM could not find information about the following plugins:<ul><li>CustomizePublicTransportStop</li><li>buildings_tools</li><li>geochat</li></ul>The plugins are not going to be loaded.</html>


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (44) of javawsApplicationThreadGroup
org.openstreetmap.josm.plugins.PluginException: An error occurred in plugin geochat
	at org.openstreetmap.josm.plugins.PluginProxy.handlePluginException(PluginProxy.java:60)
	at org.openstreetmap.josm.plugins.PluginProxy.mapFrameInitialized(PluginProxy.java:71)
	at org.openstreetmap.josm.gui.MainPanel.updateContent(MainPanel.java:81)
	at org.openstreetmap.josm.gui.MainPanel$1.beforeFirstLayerAdded(MainPanel.java:160)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:263)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:217)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:236)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:217)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:206)
	at org.openstreetmap.josm.gui.io.importexport.OsmImporter.lambda$importData$0(OsmImporter.java:104)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:256)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:114)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.openstreetmap.josm.plugins.PluginProxy.mapFrameInitialized(PluginProxy.java:66)
	... 45 more
Caused by: org.openstreetmap.josm.tools.JosmRuntimeException: Fatal: failed to locate image 'dialogs/geochat.???'. This is a serious configuration problem. JOSM will stop working.
	at org.openstreetmap.josm.tools.ImageProvider.getResource(ImageProvider.java:674)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:83)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:120)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:160)
	at org.openstreetmap.josm.gui.dialogs.ToggleDialog$ToggleDialogAction.<init>(ToggleDialog.java:290)
	at org.openstreetmap.josm.gui.dialogs.ToggleDialog$ToggleDialogAction.<init>(ToggleDialog.java:287)
	at org.openstreetmap.josm.gui.dialogs.ToggleDialog.<init>(ToggleDialog.java:244)
	at org.openstreetmap.josm.gui.dialogs.ToggleDialog.<init>(ToggleDialog.java:218)
	at geochat.GeoChatPanel.<init>(GeoChatPanel.java:67)
	at geochat.GeoChatPlugin.mapFrameInitialized(GeoChatPlugin.java:21)
	... 50 more

=== RUNNING THREADS ===
Thread: Timer-2 (86) of javawsApplicationThreadGroup
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: Keep-Alive-Timer (76)
java.lang.Thread.sleep(Native Method)
sun.net.www.http.KeepAliveCache.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Java2D Disposer (13) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
sun.java2d.Disposer.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-EventQueue-1 (46) of javawsSecurityThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.awt.EventQueue.getNextEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.run(Unknown Source)

Thread: Nashorn AST Serializer (72) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.pollFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.poll(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: JCS-ElementEventQueue-Thread-21 (69) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Nashorn AST Serializer (71) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.pollFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.poll(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: CacheCleanUpThread (24) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
com.sun.deploy.cache.CleanupThread.run(Unknown Source)

Thread: Signal Dispatcher (4) of system

Thread: File Watcher (49) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.takeFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.take(Unknown Source)
sun.nio.fs.AbstractWatchService.take(Unknown Source)
org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:135)
org.openstreetmap.josm.io.FileWatcher$$Lambda$13/1619682507.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Map Status Collector (87) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:423)
java.lang.Thread.run(Unknown Source)

Thread: Javaws Secure Thread (18) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source)

Thread: Finalizer (3) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

Thread: AWT-Shutdown (45) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
sun.awt.AWTAutoShutdown.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: CacheMemoryCleanUpThread (21) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)

Thread: Weak reference cleaner (57) of javawsApplicationThreadGroup
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:60)
org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda$106/441852487.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Attach Listener (5) of system

Thread: MemoryCache-DelayedCleanup (22) of javawsSecurityThreadGroup
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: Reference Handler (2) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.lang.ref.Reference.tryHandlePending(Unknown Source)
java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

Thread: TimerQueue (54) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.DelayQueue.take(Unknown Source)
javax.swing.TimerQueue.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Timer-1 (75) of javawsApplicationThreadGroup
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: AWT-EventQueue-2 (44) of javawsApplicationThreadGroup
Stacktrace see above.

Thread: Image Fetcher 0 (74)
java.lang.Object.wait(Native Method)
sun.awt.image.ImageFetcher.nextImage(Unknown Source)
sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
sun.awt.image.ImageFetcher.run(Unknown Source)

Thread: Nashorn AST Serializer (73) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.pollFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.poll(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-Windows (15) of system
sun.awt.windows.WToolkit.eventLoop(Native Method)
sun.awt.windows.WToolkit.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: D3D Screen Updater (56) of system
java.lang.Object.wait(Native Method)
sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Swing-Shell (79) of system
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-EventQueue-0 (52) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.awt.EventQueue.getNextEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.awt.EventDispatchThread.run(Unknown Source)

Thread: DestroyJavaVM (20) of main

Thread: message-notifier-0 (78) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Thread-15 (48) of javawsApplicationThreadGroup
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native Method)
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(Unknown Source)
sun.nio.fs.WindowsWatchService$Poller.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: main-worker-0 (85) of javawsApplicationThreadGroup
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.awt.EventQueue.invokeAndWait(Unknown Source)
java.awt.EventQueue.invokeAndWait(Unknown Source)
org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:100)
org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:143)
java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: traceMsgQueueThread (11) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
com.sun.deploy.trace.Trace$TraceMsgQueueChecker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Nashorn AST Serializer (70) of javawsApplicationThreadGroup
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.pollFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.poll(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Attachments (0)

Change History (15)

comment:1 Changed 8 months ago by Don-vip

Owner: changed from team to BaKaUma
Status: newneedinfo

It seems all you plugin jar files are corrupted somewhat.
Can you please try to delete all *.jar files in %APPDATA%\JOSM\plugins and restart JOSM? It should download them again, properly.

comment:2 Changed 8 months ago by BaKaUma

I had tried delete plugin files and reinstall JOSM, but same problem still occurred.

comment:3 Changed 8 months ago by Don-vip

Strange. Can you try to download https://josm.openstreetmap.de/josm-tested.jar and run it directly instead of Web Start?

comment:4 Changed 8 months ago by Don-vip

Resolution: needinfo
Status: needinfoclosed

comment:5 Changed 7 months ago by BaKaUma

Resolution: needinfo
Status: closedreopened

still can't use any plugin under test version of josm

comment:6 Changed 7 months ago by floscher

Could it be that it's because it's searching for the directory C:\Users\!! (系統找不到指定的檔案。) and maybe hits some encoding issues on the way. Is your Windows username really !! (系統找不到指定的檔案。)? Or if not, do you maybe have special characters in your Windows username?

comment:7 Changed 7 months ago by BaKaUma

Yes that my Windows username is "!!!"

comment:8 Changed 7 months ago by floscher

Then this is most probably this Java issue: https://bugs.java.com/view_bug.do?bug_id=4523159

When Java tries to read from a JAR file, the character sequence !/ will be used as swparator between the file path of the JAR file and the path inside the JAR file.
For Windows user John this would work C:/Users/John/path/to/jar/file.jar!/images/icon.png this works.
But for you, it would result in this path: C:/Users/!!!/path/to/jar/file.jar!/images/icon.png. So Java tries to load the file /path/to/jar/file.jar!/images/icon.png inside the directory C:/Users/!! (note the missing !) and then complains about a missing directory.

comment:9 Changed 7 months ago by floscher

Owner: changed from BaKaUma to team
Status: reopenednew
Summary: Plugin files missing ?Can't load resource from plugin *.jar when JOSM_HOME is inside a directory ending with an exclamation mark

comment:10 Changed 7 months ago by BaKaUma

For myself I have changed my window username but this problem seems need to fixed.

comment:11 Changed 7 months ago by Don-vip

Component: PluginCore

comment:12 Changed 7 months ago by Don-vip

You're right it looks like caused by javabug:4523159.
Funny that Windows allows such characters in user logins. I check if we can do something from JOSM, there's little chance to see it fixed by Oracle.

comment:13 Changed 7 months ago by Don-vip

Keywords: javabug added

comment:14 Changed 7 months ago by Don-vip

Milestone: 18.01

comment:15 Changed 7 months ago by Don-vip

Resolution: fixed
Status: newclosed

In 13356/josm:

fix #15662 - allow JOSM to open JAR URLs containing exclamation marks (workaround to https://bugs.openjdk.java.net/browse/JDK-4523159)

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.