Modify

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#21515 closed defect (fixed)

NoSuchMethodError: 'void org.openstreetmap.josm.gui.widgets.HistoryComboBox.setPossibleItems(java.util.Collection)'

Reported by: skyper Owned by: Upliner
Priority: blocker Milestone:
Component: Plugin reverter Version:
Keywords: template_report combo box Cc:

Description (last modified by skyper)

What steps will reproduce the problem?

  1. Try to use reverter (Ctrl+Shift+T)

What is the expected result?

The reverter dialog is displayed

What happens instead?

NoSuchMethodError

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

Another plugin which needs an update. I thought we have a jenkins test for this if the core classes change.
Maybe removing the @deprecated code with this little timespane was a bit too fast.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-11-04 00:56:52 +0100 (Thu, 04 Nov 2021)
Revision:18309
Build-Date:2021-11-04 02:31:03
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18309 en) Linux Debian GNU/Linux 11 (bullseye)
Java version: 17-ea+19-Debian-1, Debian, OpenJDK 64-Bit Server VM

Plugins:
+ reverter (35732)
+ utilsplugin2 (35842)

Last errors/warnings:
- 00689.419 E: Handled by bug report queue: java.lang.NoSuchMethodError: 'void org.openstreetmap.josm.gui.widgets.HistoryComboBox.setPossibleItems(java.util.Collection)'



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (21) of main
java.lang.NoSuchMethodError: 'void org.openstreetmap.josm.gui.widgets.HistoryComboBox.setPossibleItems(java.util.Collection)'
	at reverter.ChangesetIdQuery.restoreChangesetsHistory(ChangesetIdQuery.java:164)
	at reverter.ChangesetIdQuery.<init>(ChangesetIdQuery.java:82)
	at reverter.RevertChangesetAction.actionPerformed(RevertChangesetAction.java:26)
	at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1809)
	at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2947)
	at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:311)
	at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:266)
	at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3040)
	at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3032)
	at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2909)
	at java.desktop/java.awt.Component.processEvent(Component.java:6396)
	at java.desktop/java.awt.Container.processEvent(Container.java:2267)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4995)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2325)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1950)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:878)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1145)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1015)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:843)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4876)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2325)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2775)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Attachments (0)

Change History (15)

in reply to:  description comment:1 by skyper, 3 years ago

Replying to skyper:

I thought we have a jenkins test for this if the core classes change.

Ah, JOSM-Plugins and Java-EarlyAccess-JOSM-Plugins failed.

comment:2 by GerdP, 3 years ago

Yes, would have been better to adapt the plugins first:
I think HistoryComboBox.setPossibleItems() occurs in

  • DirectUpload
  • FastDraw
  • reverter
  • utilsplugin2
  • wikipedia

comment:3 by skyper, 3 years ago

Description: modified (diff)

comment:4 by GerdP, 3 years ago

Resolution: fixed
Status: newclosed

In 35846/osm:

fix #21515: NoSuchMethodError: 'void org.openstreetmap.josm.gui.widgets.HistoryComboBox.setPossibleItems(java.util.Collection)'

  • update code to recent changes in core
  • fix javadoc

in reply to:  2 ; comment:5 by taylor.smock, 3 years ago

Replying to GerdP:

Yes, would have been better to adapt the plugins first:
I think HistoryComboBox.setPossibleItems() occurs in

  • DirectUpload
  • FastDraw
  • reverter
  • utilsplugin2
  • wikipedia

I've got a test for GitLab CI that also looks for stuff like this. But in all plugins, not just plugins in JOSM svn. I only run it when I'm looking at changing method signatures though.

comment:6 by GerdP, 3 years ago

Problem is not to find the plugins which should be changed, but what to change. Now one has to look into svn history to find out what the code did.

in reply to:  6 ; comment:7 by taylor.smock, 3 years ago

Replying to GerdP:

Problem is not to find the plugins which should be changed, but what to change. Now one has to look into svn history to find out what the code did.

Fair enough. I just went through that with areaselector. It was easier there since the original author was instantiating the AutoCompletingComboBox variables prior to calling setPossibleAcItems.

EDIT: r18173

Last edited 3 years ago by taylor.smock (previous) (diff)

in reply to:  2 comment:8 by Don-vip, 3 years ago

Replying to GerdP:

Yes, would have been better to adapt the plugins first:

Ah, sorry, I was pretty sure to have updated all plugins already. Seems I missed a few.

in reply to:  5 comment:9 by Don-vip, 3 years ago

Replying to taylor.smock:

I've got a test for GitLab CI that also looks for stuff like this. But in all plugins, not just plugins in JOSM svn. I only run it when I'm looking at changing method signatures though.

I disabled integration for external plugins for two reasons:

  • it massively improves test performance
  • 99% of authors do not respond to issues we create. Many of them don't even merge our PRs, so it's not worth wasting our Jenkins time for them

in reply to:  7 ; comment:10 by GerdP, 3 years ago

Replying to taylor.smock:

Replying to GerdP:

Problem is not to find the plugins which should be changed, but what to change. Now one has to look into svn history to find out what the code did.

Fair enough. I just went through that with areaselector. It was easier there since the original author was instantiating the AutoCompletingComboBox variables prior to calling setPossibleAcItems.

EDIT: r18173

Reg. areaselector: Any idea why I get these messages when I do svn up?

Fetching external item into 'plugins\areaselector':
Skipped 'plugins\areaselector\src' -- An obstructing working copy was found
svn: warning: W200004: Could not convert '' into a number

in reply to:  10 comment:11 by taylor.smock, 3 years ago

Replying to GerdP:

Replying to taylor.smock:

Replying to GerdP:

Problem is not to find the plugins which should be changed, but what to change. Now one has to look into svn history to find out what the code did.

Fair enough. I just went through that with areaselector. It was easier there since the original author was instantiating the AutoCompletingComboBox variables prior to calling setPossibleAcItems.

EDIT: r18173

Reg. areaselector: Any idea why I get these messages when I do svn up?

Fetching external item into 'plugins\areaselector':
Skipped 'plugins\areaselector\src' -- An obstructing working copy was found
svn: warning: W200004: Could not convert '' into a number

I've been doing some stuff with areaselector recently. Specifically, updating dependencies to work with newer versions of Java. Note: areaselector is one of the plugins in JOSM git, so it might be a git -> svn difference (I have a similar problem with svn -> git, with MicrosoftStreetside -- the gradlew.bat is constantly "different").

I'll see if I can reproduce.

comment:12 by GerdP, 3 years ago

In 35856/osm:

see #21515: NoSuchMethodError: 'void org.openstreetmap.josm.gui.widgets.HistoryComboBox.setPossibleItems(java.util.Collection)'

  • update code to recent changes in core, bump version
  • also seems to fix #18897

comment:13 by GerdP, 3 years ago

In 35858/osm:

see #21515: NoSuchMethodError: 'void org.openstreetmap.josm.gui.widgets.HistoryComboBox.setPossibleItems(java.util.Collection)'

  • update DirectUpload code to recent changes in core, bump version

comment:14 by GerdP, 3 years ago

In 35860/osm:

see #21515: NoSuchMethodError: 'void org.openstreetmap.josm.gui.widgets.HistoryComboBox.setPossibleItems(java.util.Collection)'

  • update FastDraw code to recent changes in core, bump version

comment:15 by GerdP, 3 years ago

I've modified the plugins which are in our svn. TODO: wikipedia.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Upliner.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.