﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
14341	Cannot get MBTiles plugin to work	peytoncoles@…	iandees	"==== What steps will reproduce the problem?
1. Load MBTiles Plugin
2. Try to open a .mbtiles file using ""Open a file""

==== What is the expected result?
Load a locally stored MBTiles db
==== What happens instead?
1. Message: ""An unexpected error occured that may have come from the 'mbtiles' plugin""
2. Press ""update"" button produces message: ""JOSM cound not find information about the following plugin: 'mbtiles' - plugin not going to be loaded""

==== Please provide any additional information below. Attach a screenshot if possible.
I found discussion of similar problems on dev's github site noting this might have something to do with Java or a change in the .mbtiles format, but it's dated: https://github.com/iandees/josm-mbtiles/issues/6

I've tried a reinstall of latest JOSM (11526)

Attached are 3 mbtiles I tried using. 'QMetaTiles_2.mbtiles' exported using qmetatiles plugin from qgis, 'countries.mbtiles' from demo file at https://github.com/klokantech/vector-tiles-sample, and 'countries-raster.mbtiles' from demo at  https://gitlab.com/IvanSanchez/Leaflet.TileLayer.MBTiles/blob/master/demo/countries-raster.mbtiles 


{{{
URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2017-02-02 01:22:52 +0100 (Thu, 02 Feb 2017)
Build-Date:2017-02-02 02:33:28
Revision:11526
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11526 en) Windows Server 2008 R2 64-Bit
Memory Usage: 423 MB / 910 MB (294 MB allocated, but free)
Java version: 1.8.0_121-b13, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1368x912
Maximum Screen Size: 1368x912

Plugins:
+ mbtiles (v2.0-4-g1006305)

Last errors/warnings:
- E: Handled by bug report queue: java.lang.reflect.InvocationTargetException. Cause: java.lang.AbstractMethodError: org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.getTileSource()Lorg/openstreetmap/gui/jmapviewer/tilesources/AbstractTMSTileSource;
- W: Warning - <html>JOSM could not find information about the following plugin:<ul><li>mbtiles</li></ul>The plugin is not going to be loaded.</html>


=== REPORTED CRASH DATA ===
GuiHelper#runInEDTAndWaitWithException:
 - task: org.openstreetmap.josm.gui.layer.LayerManager$$Lambda$148/624658884@26975ddc

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: main-worker-0 (52) of main
java.lang.reflect.InvocationTargetException
	at java.awt.EventQueue.invokeAndWait(Unknown Source)
	at java.awt.EventQueue.invokeAndWait(Unknown Source)
	at javax.swing.SwingUtilities.invokeAndWait(Unknown Source)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:141)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:189)
	at org.openstreetmap.josm.plugins.mbtiles.MbtilesFileImporter.importData(MbtilesFileImporter.java:28)
	at org.openstreetmap.josm.io.FileImporter.importDataHandleExceptions(FileImporter.java:90)
	at org.openstreetmap.josm.actions.OpenFileAction$OpenFileTask.importData(OpenFileAction.java:349)
	at org.openstreetmap.josm.actions.OpenFileAction$OpenFileTask.realRun(OpenFileAction.java:302)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:93)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:141)
	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.AbstractMethodError: org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.getTileSource()Lorg/openstreetmap/gui/jmapviewer/tilesources/AbstractTMSTileSource;
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initializeIfRequired(AbstractTileSourceLayer.java:685)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.attachToMapView(AbstractTileSourceLayer.java:667)
	at org.openstreetmap.josm.gui.MapView.layerAdded(MapView.java:325)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:405)
	at org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:200)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:251)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:189)
	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.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:194)
	at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:60)
	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)

=== RUNNING THREADS ===
Thread: File Watcher (13) 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.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:114)
org.openstreetmap.josm.io.FileWatcher$$Lambda$4/596512129.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: main-worker-0 (52) of main
Stacktrace see above.

Thread: AWT-EventQueue-0 (20) of main
java.lang.System.identityHashCode(Native Method)
java.util.IdentityHashMap.hash(Unknown Source)
java.util.IdentityHashMap.get(Unknown Source)
javax.swing.RepaintManager.extendDirtyRegion(Unknown Source)
javax.swing.RepaintManager.addDirtyRegion0(Unknown Source)
javax.swing.RepaintManager.addDirtyRegion(Unknown Source)
javax.swing.JComponent.repaint(Unknown Source)
java.awt.Component.repaint(Unknown Source)
java.awt.Component.repaintParentIfNeeded(Unknown Source)
java.awt.Component.reshape(Unknown Source)
javax.swing.JComponent.reshape(Unknown Source)
java.awt.Component.setBounds(Unknown Source)
java.awt.BorderLayout.layoutContainer(Unknown Source)
java.awt.Container.layout(Unknown Source)
java.awt.Container.doLayout(Unknown Source)
java.awt.Container.validateTree(Unknown Source)
java.awt.Container.validateTree(Unknown Source)
java.awt.Container.validateTree(Unknown Source)
java.awt.Container.validateTree(Unknown Source)
java.awt.Container.validate(Unknown Source)
javax.swing.RepaintManager$3.run(Unknown Source)
javax.swing.RepaintManager$3.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
java.awt.event.InvocationEvent.dispatch(Unknown Source)
java.awt.EventQueue.dispatchEventImpl(Unknown Source)
java.awt.EventQueue.access$500(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue.dispatchEvent(Unknown Source)
java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.awt.WaitDispatchSupport$2.run(Unknown Source)
java.awt.WaitDispatchSupport$4.run(Unknown Source)
java.awt.WaitDispatchSupport$4.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.awt.WaitDispatchSupport.enter(Unknown Source)
java.awt.Dialog.show(Unknown Source)
java.awt.Component.show(Unknown Source)
java.awt.Component.setVisible(Unknown Source)
java.awt.Window.setVisible(Unknown Source)
java.awt.Dialog.setVisible(Unknown Source)
org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:194)
org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$$Lambda$141/828849293.run(Unknown Source)
org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:60)
org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$$Lambda$142/1067504849.run(Unknown Source)
java.awt.event.InvocationEvent.dispatch(Unknown Source)
java.awt.EventQueue.dispatchEventImpl(Unknown Source)
java.awt.EventQueue.access$500(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.awt.EventQueue$3.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.awt.EventQueue.dispatchEvent(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: Swing-Shell (46) 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: Timer-1 (53) of main
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: AWT-Shutdown (15) 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: 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-Windows (16) of system
sun.awt.windows.WToolkit.eventLoop(Native Method)
sun.awt.windows.WToolkit.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Signal Dispatcher (4) of system

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 (22) of system
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: Map Status Collector (54) 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.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:399)
java.lang.Thread.run(Unknown Source)

Thread: Attach Listener (5) of system

Thread: Thread-1 (12) of main
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: Java2D Disposer (14) 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: Image Fetcher 0 (44)
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: DestroyJavaVM (38) of main

Thread: JCS-ElementEventQueue-Thread-7 (36) 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.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: Timer-0 (39) of main
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)
}}}
"	defect	closed	normal		Plugin mbtiles		duplicate	template_report	
