Modify ↓
Opened 5 years ago
Closed 5 years ago
#19028 closed defect (fixed)
Plugin reverter uses a more recent API that minimal requested
Reported by: | Owned by: | Upliner | |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | Plugin reverter | Version: | |
Keywords: | template_report regression | Cc: | GerdP |
Description
What steps will reproduce the problem?
- Revert a changeset fully
- Undo the revert
- Crash
What is the expected result?
What happens instead?
Please provide any additional information below. Attach a screenshot if possible.
URL:https://josm.openstreetmap.de/svn/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2020-02-26 10:50:27 +0100 (Wed, 26 Feb 2020) Build-Date:2020-02-26 09:52:41 Revision:15937 Relative:URL: ^/trunk Identification: JOSM/1.5 (15937 en_GB) Windows 10 64-Bit OS Build number: Windows 10 Home 1909 (18363) Memory Usage: 226 MB / 989 MB (74 MB allocated, but free) Java version: 1.8.0_241-b07, Oracle Corporation, Java HotSpot(TM) Client VM Screen: \Display0 1600x900, \Display1 1440x900 Maximum Screen Size: 1600x900 Dataset consistency test: No problems found Plugins: + Mapillary (1.5.20) + apache-commons (35362) + apache-http (35092) + buildings_tools (35405) + changeset-viewer (22) + jna (35092) + log4j (35092) + mapwithai (1.2.3) + photo_geotagging (35405) + reverter (35405) + routing (35405) + terracer (35327) + turnrestrictions (35405) + utilsplugin2 (35405) + waydownloader (35405) Map paint styles: + https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1 Last errors/warnings: - E: Handled by bug report queue: java.lang.NoSuchMethodError: org.openstreetmap.josm.data.osm.DataSet.update(Ljava/lang/Runnable;)V === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-0 (15) of main java.lang.NoSuchMethodError: org.openstreetmap.josm.data.osm.DataSet.update(Ljava/lang/Runnable;)V at reverter.RevertChangesetCommand.undoCommand(RevertChangesetCommand.java:41) at org.openstreetmap.josm.data.UndoRedoHandler.lambda$undo$0(UndoRedoHandler.java:380) at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWait(GuiHelper.java:217) at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:372) at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:362) at org.openstreetmap.josm.actions.UndoAction.actionPerformed(UndoAction.java:39) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.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: Nashorn AST Serializer (39) of main 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 (13) of system sun.awt.windows.WToolkit.eventLoop(Native Method) sun.awt.windows.WToolkit.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: TimerQueue (17) 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: 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: message-notifier-0 (46) of main 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: RemoteControl HTTP Server (44) of main java.net.DualStackPlainSocketImpl.accept0(Native Method) java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source) java.net.AbstractPlainSocketImpl.accept(Unknown Source) java.net.PlainSocketImpl.accept(Unknown Source) java.net.ServerSocket.implAccept(Unknown Source) java.net.ServerSocket.accept(Unknown Source) org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104) Thread: DestroyJavaVM (48) of main Thread: Image Fetcher 0 (60) 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: ForkJoinPool.commonPool-worker-1 (41) sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source) java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) Thread: File Watcher (21) 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:120) org.openstreetmap.josm.io.FileWatcher$$Lambda$118/25072797.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Signal Dispatcher (4) of system Thread: styled-map-renderer-0 (63) sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source) java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) Thread: changeset-updater-0 (47) of main 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: 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: Map Status Collector (62) 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:434) java.lang.Thread.run(Unknown Source) Thread: JCS-ElementEventQueue-Thread-7 (37) 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: Thread-5 (20) 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: Keep-Alive-Timer (54) java.lang.Thread.sleep(Native Method) sun.net.www.http.KeepAliveCache.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Java2D Disposer (10) 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: Attach Listener (5) of system Thread: ForkJoinPool.commonPool-worker-2 (57) sun.misc.Unsafe.park(Native Method) java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source) java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) Thread: RemoteControl HTTP Server (45) of main java.net.DualStackPlainSocketImpl.accept0(Native Method) java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source) java.net.AbstractPlainSocketImpl.accept(Unknown Source) java.net.PlainSocketImpl.accept(Unknown Source) java.net.ServerSocket.implAccept(Unknown Source) java.net.ServerSocket.accept(Unknown Source) org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104) Thread: Nashorn AST Serializer (40) of main 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-Shutdown (16) 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: main-worker-0 (42) 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: Weak reference cleaner (22) of main 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$149/30213579.run(Unknown Source) java.lang.Thread.run(Unknown Source) Thread: Timer-1 (59) 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: Timer-0 (53) of main java.lang.Object.wait(Native Method) java.util.TimerThread.mainLoop(Unknown Source) java.util.TimerThread.run(Unknown Source) Thread: AWT-EventQueue-0 (15) of main Stacktrace see above.
Attachments (0)
Change History (3)
comment:1 by , 5 years ago
Cc: | added |
---|---|
Component: | Core → Plugin reverter |
Owner: | changed from | to
Summary: | Undoing a revert crashes → Plugin reverter uses a more recent API that minimal requested |
comment:2 by , 5 years ago
Keywords: | regression added |
---|
comment:3 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Arg, on the same day I did it right with undelete. I've checked that old JOSM can load the plugin. Seems I did not try to actually use it :(
Fixed with [o35407:35410]
I've released both a corrected version for the older JOSM versions and the newer with corrected minimal version
Note:
See TracTickets
for help on using tickets.
@Gerd: [o35400] is incomplete. When using a new API in a JOSM plugin, you must also increment its Main-Version attribute, otherwise it is distributed to older JOSM clients, provoking this kind of errors. In this case I have added DataSet.update() only in r16187, see Javadoc. Can you please release a new version of the reverter plugin?