﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
14429	NPE MapillaryLayer.paint on moving the cursor to exit	alexkemp	floscher	"==== What steps will reproduce the problem?
1. Load latest JOSM + update plugins
2. Load then upload GPS tracks; do the same for some JPEG files
3. Go to exit from the Program - Oh look! Yet another exception

==== What is the expected result?
An exception

==== What happens instead?
No, it's an exception

==== 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-02-26 23:10:22 +0100 (Sun, 26 Feb 2017)
Build-Date:2017-02-26 22:34:39
Revision:11639
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11639 en_GB) Linux Debian GNU/Linux 8.7 (jessie)
Memory Usage: 745 MB / 1636 MB (190 MB allocated, but free)
Java version: 1.8.0_121-8u121-b13-1~bpo8+1-b13, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1366x768
Maximum Screen Size: 1366x768
Java package: openjdk-8-jre:amd64-8u121-b13-1~bpo8+1
Java ATK Wrapper package: libatk-wrapper-java:all-0.30.5-1
VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ DirectUpload (32885)
+ Mapillary (v1.4.0)
+ apache-commons (32994)
+ apache-http (32699)
+ buildings_tools (33004)
+ continuosDownload (53)
+ terracer (33088)
+ waydownloader (33167)

Last errors/warnings:
- W: Update plug-ins - org.openstreetmap.josm.plugins.PluginHandler$UpdatePluginsMessagePanel[,0,0,0x0,invalid,layout=java.awt.GridBagLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
- W: Invalid jar file ''<josm.pref>/plugins/Mapillary.jar.new'' (exists: false, canRead: false)
- W: Invalid jar file ''<josm.pref>/plugins/waydownloader.jar.new'' (exists: false, canRead: false)
- E: Handled by bug report queue: java.lang.NullPointerException


=== REPORTED CRASH DATA ===
MapView#paintLayer:
 - layer: MapillaryLayer [name=Mapillary Images, associatedFile=null]

Warning issued by: MapView#paintLayer

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
java.lang.NullPointerException
	at org.openstreetmap.josm.plugins.mapillary.MapillaryLayer.paint(MapillaryLayer.java:296)
	at org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable$CompatibilityModeLayerPainter.paint(AbstractMapViewPaintable.java:27)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:441)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:522)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JSplitPane.paintChildren(JSplitPane.java:1047)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:831)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	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:80)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	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)

=== RUNNING THREADS ===
Thread: RemoteControl HTTPS Server (44) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:348)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:407)

Thread: Signal Dispatcher (4) of system

Thread: pool-2-thread-1 (80) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: File Watcher (11) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)
sun.nio.fs.AbstractWatchService.take(AbstractWatchService.java:118)
org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:114)
org.openstreetmap.josm.io.FileWatcher$$Lambda$4/812265671.run(Unknown Source)
java.lang.Thread.run(Thread.java:745)

Thread: AWT-Shutdown (19) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
java.lang.Thread.run(Thread.java:745)

Thread: Finalizer (3) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

Thread: Thread-1 (10) of main
sun.nio.fs.LinuxWatchService.poll(Native Method)
sun.nio.fs.LinuxWatchService.access$600(LinuxWatchService.java:47)
sun.nio.fs.LinuxWatchService$Poller.run(LinuxWatchService.java:314)
java.lang.Thread.run(Thread.java:745)

Thread: AWT-XAWT (14) of system
sun.awt.X11.XToolkit.waitForEvents(Native Method)
sun.awt.X11.XToolkit.run(XToolkit.java:568)
sun.awt.X11.XToolkit.run(XToolkit.java:532)
java.lang.Thread.run(Thread.java:745)

Thread: Reference Handler (2) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
java.lang.ref.Reference.tryHandlePending(Reference.java:191)
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

Thread: DestroyJavaVM (50) of main

Thread: Java2D Disposer (12) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
sun.java2d.Disposer.run(Disposer.java:148)
java.lang.Thread.run(Thread.java:745)

Thread: pool-2-thread-3 (191) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: Keep-Alive-Timer (255)
java.lang.Thread.sleep(Native Method)
sun.net.www.http.KeepAliveCache.run(KeepAliveCache.java:172)
java.lang.Thread.run(Thread.java:745)

Thread: RemoteControl HTTP Server (42) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
java.net.ServerSocket.accept(ServerSocket.java:513)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: Timer-2 (61) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
java.util.TimerThread.mainLoop(Timer.java:526)
java.util.TimerThread.run(Timer.java:505)

Thread: main-worker-0 (60) of main
java.util.WeakHashMap.expungeStaleEntries(WeakHashMap.java:319)
java.util.WeakHashMap.getTable(WeakHashMap.java:350)
java.util.WeakHashMap.get(WeakHashMap.java:397)
java.util.Collections$SynchronizedMap.get(Collections.java:2584)
javax.swing.text.StyleContext.getImmutableUniqueSet(StyleContext.java:520)
javax.swing.text.StyleContext.addAttributes(StyleContext.java:340)
javax.swing.text.html.StyleSheet.addAttributes(StyleSheet.java:595)
javax.swing.text.AbstractDocument$AbstractElement.addAttributes(AbstractDocument.java:1985)
javax.swing.text.AbstractDocument$AbstractElement.<init>(AbstractDocument.java:1777)
javax.swing.text.AbstractDocument$LeafElement.<init>(AbstractDocument.java:2502)
javax.swing.text.html.HTMLDocument$RunElement.<init>(HTMLDocument.java:4111)
javax.swing.text.html.HTMLDocument.createLeafElement(HTMLDocument.java:565)
javax.swing.text.DefaultStyledDocument$ElementBuffer.create(DefaultStyledDocument.java:1462)
javax.swing.text.DefaultStyledDocument.create(DefaultStyledDocument.java:149)
javax.swing.text.html.HTMLDocument.create(HTMLDocument.java:469)
javax.swing.text.html.HTMLDocument$HTMLReader.flushBuffer(HTMLDocument.java:3736)
javax.swing.text.html.HTMLDocument$HTMLReader.flush(HTMLDocument.java:2538)
javax.swing.text.html.HTMLEditorKit.read(HTMLEditorKit.java:262)
javax.swing.JEditorPane.setText(JEditorPane.java:1416)
org.openstreetmap.josm.plugins.mapillary.gui.imageinfo.ImageInfoPanel.selectedImageChanged(ImageInfoPanel.java:144)
org.openstreetmap.josm.plugins.mapillary.MapillaryData.lambda$fireSelectedImageChanged$4(MapillaryData.java:380)
org.openstreetmap.josm.plugins.mapillary.MapillaryData$$Lambda$279/2051389926.accept(Unknown Source)
java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
org.openstreetmap.josm.plugins.mapillary.MapillaryData.fireSelectedImageChanged(MapillaryData.java:380)
org.openstreetmap.josm.plugins.mapillary.MapillaryData.setSelectedImage(MapillaryData.java:374)
org.openstreetmap.josm.plugins.mapillary.MapillaryData.setSelectedImage(MapillaryData.java:339)
org.openstreetmap.josm.plugins.mapillary.MapillaryData.remove(MapillaryData.java:175)
org.openstreetmap.josm.plugins.mapillary.history.commands.CommandDelete.execute(CommandDelete.java:42)
org.openstreetmap.josm.plugins.mapillary.history.MapillaryRecord.addCommand(MapillaryRecord.java:76)
org.openstreetmap.josm.plugins.mapillary.oauth.UploadUtils$SequenceUploadRunnable.run(UploadUtils.java:115)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: AWT-EventQueue-0 (18) of main
Stacktrace see above.

Thread: message-notifier-0 (49) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: JCS-ElementEventQueue-Thread-6 (38) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: JCS-downloader-0 (134) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.LinkedBlockingDeque.takeFirst(LinkedBlockingDeque.java:492)
java.util.concurrent.LinkedBlockingDeque.take(LinkedBlockingDeque.java:680)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: RemoteControl HTTPS Server (45) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
sun.security.ssl.SSLServerSocketImpl.accept(SSLServerSocketImpl.java:348)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:407)

Thread: Thread-9 (79) of main
java.lang.Thread.sleep(Native Method)
org.openstreetmap.josm.plugins.mapillary.mode.AbstractMode$SemiautomaticThread.run(AbstractMode.java:99)

Thread: styled-map-renderer-3 (253)
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Thread: styled-map-renderer-2 (252)
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824)
java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693)
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Thread: CacheEventQueue.QProcessor-mapillary_BLOCK_v2Thread-110 (256)
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: pool-2-thread-2 (139) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Thread: RemoteControl HTTP Server (43) of main
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
java.net.ServerSocket.implAccept(ServerSocket.java:545)
java.net.ServerSocket.accept(ServerSocket.java:513)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: TimerQueue (21) of system
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.DelayQueue.take(DelayQueue.java:223)
javax.swing.TimerQueue.run(TimerQueue.java:174)
java.lang.Thread.run(Thread.java:745)

Thread: Map Status Collector (63) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:399)
java.lang.Thread.run(Thread.java:745)

Thread: Timer-0 (37) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
java.util.TimerThread.mainLoop(Timer.java:526)
java.util.TimerThread.run(Timer.java:505)

Thread: Timer-1 (47) of main
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:552)
java.util.TimerThread.run(Timer.java:505)
}}}
"	defect	closed	normal		Plugin mapillary	latest	fixed	template_report	floscher
