#17749 closed defect (worksforme)
kendzi3d plugin broken since josm-snapshot-15007
Reported by: | cmuelle8 | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | tested |
Keywords: | Cc: |
Description (last modified by )
Hi, removing deprecated API in changeset 15007 broke kendzi3d plugin. rev15000 still worked.
@Don-vip: It is relatively easy to reintroduce the method in question (with the deprecation warning). Can you please restore it, until kendzi3d plugin has been indeed been migrated to using ReflectionUtils#setObjectsAccessible(AccessibleObject...)
?
The component this is assigned to is core instead of plugin kendzi3d, because the missing method has been part of the core, and not of the plugin -code.
2019-05-23 14:24:19.679 SCHWERWIEGEND: org.openstreetmap.josm.plugins.PluginException: In der Erweiterung kendzi3d ist ein Fehler aufgetreten.. Ursache: java.lang.reflect.InvocationTargetException. Ursache: java.lang.NoSuchMethodError: org.openstreetmap.josm.tools.Utils.setObjectsAccessible([Ljava/lang/reflect/AccessibleObject;)V org.openstreetmap.josm.plugins.PluginException: In der Erweiterung kendzi3d ist ein Fehler aufgetreten. at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:365) at org.openstreetmap.josm.plugins.PluginHandler.loadPlugin(PluginHandler.java:804) at org.openstreetmap.josm.plugins.PluginHandler.loadPlugins(PluginHandler.java:890) at org.openstreetmap.josm.plugins.PluginHandler.loadLatePlugins(PluginHandler.java:933) at org.openstreetmap.josm.gui.MainApplication.loadLatePlugins(MainApplication.java:1143) at org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:907) at org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:277) at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:704) Caused by: java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488) at org.openstreetmap.josm.plugins.PluginInformation.load(PluginInformation.java:360) ... 7 more Caused by: java.lang.NoSuchMethodError: org.openstreetmap.josm.tools.Utils.setObjectsAccessible([Ljava/lang/reflect/AccessibleObject;)V at kendzi.josm.jogl.JoglPlugin.doAddJarsToClassLoader(JoglPlugin.java:214) at kendzi.josm.jogl.JoglPlugin.addJarsToClassLoader(JoglPlugin.java:204) at kendzi.josm.jogl.JoglPlugin.addLibraryToClassPath(JoglPlugin.java:124) at kendzi.josm.jogl.JoglPlugin.addJoglToClassPath(JoglPlugin.java:55) at kendzi.josm.kendzi3d.Kendzi3DPlugin.<init>(Kendzi3DPlugin.java:80) ... 12 more
Thanks for fixing!
Attachments (0)
Change History (9)
comment:1 by , 6 years ago
Description: | modified (diff) |
---|---|
Version: | → tested |
comment:2 by , 6 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
comment:3 by , 6 years ago
The plugin has been updated long ago. Please update your plugins instead of asking me to revert a core change.
comment:4 by , 6 years ago
I had updated plugins to 1.0.205 (!), which did and does not work, because of the removal.
@stoecker: "Lot of time" is relative. Between revisions 14977 and 15007 lie merely 30 changesets, and on a wallclock timescale, the time from introduction to the removal of deprecation had thus been from 2019-04-09T01:32:56+02:00
to 2019-04-21T02:49:30+02:00
: less than two weeks.
comment:5 by , 6 years ago
@Don-vip: https://github.com/kendzi/kendzi3d/releases - no releases since 17 Sep 2018, which was 1.0.205. Which update of the kendzi3d plugin are you refering to?
comment:6 by , 6 years ago
@Don-vip:
- with rev 15105 the plugin loads unchanged (1.0.205), but I noticed josm-jogl received an update to version 1.2.3, which was released 18 days ago: https://github.com/kendzi/josm-jogl/releases/ (previous runs clang onto cached jogl.jar, versioned 1.2.2)
- updated plugin manifest points to this version with a minimum josm requirement of 14977, so should have been downloaded with josm-tested.jar (15031) just as well ..
The plugins updater did not pick up this change here afer update to josm-tested.jar, although it should have imho. Anyway, works here now.
For anyone having the same problem: Updating list of available plugins in Preferences manually should help, evenutally removing jogl.jar and the cached plugin.txt file from plugins/
directory.
comment:7 by , 6 years ago
Resolution: | wontfix → worksforme |
---|
ensure jogl.jar is updated to version 1.2.3 (!)
Under certain conditions the plugin updater may fail to do the update from 1.2.2 automatically, if that was cached/present. There were 5 commits to josm-jogl since 1.2.2 release in Sep 2018. The relevant fix is here
follow-up: 9 comment:8 by , 6 years ago
@cmuelle8 I'm referring to this comment, and the fact our integration test passes.
comment:9 by , 6 years ago
Replying to Don-vip:
@cmuelle8 I'm referring to this comment, and the fact our integration test passes.
fair enough, thanks for the heads up.
Deprecated APIs are subject to removal. Plugins have a lot of time to be fixed before the API finally goes. There is no reason to revert such a decision.