#16211 closed defect (fixed)
JOSM required to update plugins to an incompatible version
Reported by: | Zverikk | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | tested |
Keywords: | Cc: | ris, floscher |
Description
A user in the telegram channel reports:
- Install some old JOSM-tested (<13000)
- Install wikipedia plugin
- Close JOSM
- Install the last JOSM-tested (13576)
- Start it and click "update plugins"
- It says it needs to update wikipedia plugin (why???)
- It updates the plugin and then says it needs JOSM 13597.
Expected result: fresh JOSM with working wikipedia plugin.
Actual result: wikipedia plugin is disabled because of incompatible version.
I experienced the same, but was too lazy to file a report. But half of plugins are disabled on my macOS because of this.
Attachments (0)
Change History (13)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Cc: | added |
---|
comment:4 by , 7 years ago
Replying to Klumbumbus:
I assume it has to do with these changes:
That was also my first reaction, sorry for any inconvenience caused by that, I was inattentive when making that release.
But in this case it is probably much simpler:
For the wikipedia plugin there is currently no published version that is compatible with the current tested
JOSM version. The wikipedia plugin requires JOSM 13597.
It seems that JOSM only falls back to an older plugin version, if the manifest references older versions that are compatible with older JOSM versions.
If there is a downloaded version of a plugin and the version available online is not compatible, JOSM should not update to that newer version.
follow-up: 6 comment:5 by , 7 years ago
Sorry you're right it shouldn't be related with your changes. I mixed up mapillary and wikipedia.
follow-up: 9 comment:6 by , 7 years ago
Replying to Klumbumbus:
Sorry you're right it shouldn't be related with your changes. I mixed up mapillary and wikipedia.
No problem, I'll probably soon work also a bit on the wikipedia plugin anyway 😉. Let's see if I can fix the current version to work also with older JOSM versions than 13597…
I just discovered that https://josm.openstreetmap.de/wiki/Plugins still lists the defect version v1.5.11+post13643
for the mapillary plugin, so there is currently also a problem with that (IOException: Stream closed). But I will release a fixed version at the latest tomorrow, so that should be fixed soon.
comment:7 by , 7 years ago
I've been looking quite heavily at the plugin installation code recently and found a number of parts of it that are somewhat ... confused. Among the failures that are possible is mismatch between the version of a plugin that gets installed and the version that JOSM *thinks* is going to be installed. JOSM fundamentally trusts its plugin list too much and mostly just assumes that whatever it receives from the plugin download URL will be whatever the plugin list says. In particular a plugin's Plugin-Mainversion
and Plugin-Canloadatruntime
don't get re-checked after the jar is received. So, ignoring any malicious intent, in the 10 minutes between the JOSM mothership's scans of jar urls, users are open to having a plugin that's no longer compatible with their JOSM version happily installed, or perhaps a version of a plugin that's not safe to load at runtime started anyway. Of course if the JOSM mothership's cron job failed for a while or the client was for some reason served a stale version over a period, this would increase the likelihood of such an issue.
I've got a *bit* of a plan of how to handle bits of this better, (parts of it probably controversial), but first I've been trying to get some reasonable test coverage for the area so that I would be able to make changes with more confidence. And in turn I've got diverted into yak shaving trying to make the test infrastructure more capable & reliable.
comment:8 by , 7 years ago
Long long ago JOSM handled version of plugins and the downloads list separately until Gubaer reworked the whole code and mangled everthing. I'd appreciate fixing this and also reintroducing the possibility to have system installed plugins (on UNIX) which cannot be updated directly, but "overwritten" with user local installs.
comment:9 by , 7 years ago
Regarding this ticket:
JOSM server does no longer know about old plugin revisions. That's why it only offers the newest one. I don't know the reason for this, but probably one of the "I'm jenkins, I fill you harddisk with crap" cases was the issue. I'll see if I can reconstruct the old plugin table.
I just discovered that https://josm.openstreetmap.de/wiki/Plugins still lists the defect version v1.5.11+post13643 for the mapillary plugin, so there is currently also a problem with that (IOException: Stream closed). But I will release a fixed version at the latest tomorrow, so that should be fixed soon.
I cleared the cache. JOSM server does not download a plugin when the file on the server is older than the local downloaded variant. Thus while links were updated the manifest was read from the local copy and this was still the 1.5.11, as you switched the link back to the older file.
comment:10 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Old version information reconstructed.
follow-up: 12 comment:11 by , 7 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Thank Dirk, but the issue was not about the Mapillary plugin, but more about old versions, like you outlined in comment 9.
comment:12 by , 7 years ago
Replying to Zverikk:
Thank Dirk, but the issue was not about the Mapillary plugin, but more about old versions, like you outlined in comment 9.
As far as I understand it, Dirk fixed both issues:
- cleared cache, so the right Mapillary plugin is downloaded
- reconstructed the list of older plugin versions, so an older version of the wikipedia plugin is chosen
I can now use the wikipedia plugin in version 34109 with JOSM version 13576.
Maybe it has something to do with #15742.