Opened 6 months ago
Last modified 4 days ago
#23913 reopened defect
"Error: Attribution is not loaded yet" on using Bing imagery
Reported by: | anonymous | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | External imagery source | Version: | |
Keywords: | template_report, bing | Cc: | stoecker, chriswhy |
Description
What steps will reproduce the problem?
- Zoom into any area, download data from OSM
- Choose "Bing aerial imagery"
- See every tile with "Error: Attribution is not loaded yet" red error message
What is the expected result?
Bing imagery tiles are loaded
What happens instead?
Every tile with "Error: Attribution is not loaded yet" red error message
Please provide any additional information below. Attach a screenshot if possible.
Windows 11 v19207. Happens consistently on using Bing imagery. Did not happen yesterday, reboot does not solve issue, no networking problems, updated to latest version available.
Revision:19207 Build-Date:2024-09-03 10:31:55 Identification: JOSM/1.5 (19207 en_GB) Windows 11 64-Bit OS Build number: Windows 10 Pro 21H2 (22000) Memory Usage: 528 MB / 12272 MB (130 MB allocated, but free) Java version: 21.0.4+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel Screen: \Display0 2160x3840x32bpp@30Hz (scaling 1.50×1.50) \Display1 3840x2160x32bpp@60Hz (scaling 1.50×1.50) \Display2 2160x3840x32bpp@60Hz (scaling 1.50×1.50) Maximum Screen Size: 3840×3840 Best cursor sizes: 16×16→48×48, 32×32→48×48 System property file.encoding: UTF-8 System property sun.jnu.encoding: Cp1252 Locale info: en_GB Numbers with default locale: 1234567890 -> 1234567890 VM arguments: [-Djpackage.app-version=1.5.19207, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=%UserProfile%\AppData\Local\JOSM\JOSM.exe] Dataset consistency test: No problems found Plugins: + FastDraw (36226) + apache-commons (36282) + apache-http (36273) + buildings_tools (36226) + fastdriveway (v1.0.1) + fhrsPlugin (0.2) + http2 (36256) + jackson (36273) + javafx (36282) + jna (36273) + log4j (36273) + reverter (36320) + terracer (36298) + utilsplugin2 (36298) + wikipedia (418) Tagging presets: + %UserProfile%\Documents\openstreetmap\Openreach-exchange-preset.xml + https://josm.openstreetmap.de/josmfile?page=Presets/Post_box_UK&zip=1 + %UserProfile%\Documents\openstreetmap\village-sign.xml Map paint styles: + https://josm.openstreetmap.de/josmfile?page=Styles/HiDPISupport&zip=1 Validator rules: + https://josm.openstreetmap.de/josmfile?page=Rules/OSMLint&zip=1 + https://josm.openstreetmap.de/josmfile?page=Rules/SuspiciousSwimming_Pool&zip=1 + https://josm.openstreetmap.de/josmfile?page=Rules/NotCheck&zip=1 + https://josm.openstreetmap.de/josmfile?page=Rules/InvalidWebsiteProtocol&zip=1 + https://josm.openstreetmap.de/josmfile?page=Rules/Geology&zip=1 Last errors/warnings: - 00065.784 W: java.io.IOException: Attribution is not loaded yet - 00065.785 W: java.io.IOException: Attribution is not loaded yet - 00065.785 W: java.io.IOException: Attribution is not loaded yet - 00065.785 W: java.io.IOException: Attribution is not loaded yet - 00065.786 W: java.io.IOException: Attribution is not loaded yet - 00065.786 W: java.io.IOException: Attribution is not loaded yet - 00065.787 W: java.io.IOException: Attribution is not loaded yet - 00065.787 W: java.io.IOException: Attribution is not loaded yet - 00065.788 W: java.io.IOException: Attribution is not loaded yet - 00065.788 W: java.io.IOException: Attribution is not loaded yet
Attachments (6)
Change History (70)
by , 6 months ago
Attachment: | Screenshot 2024-09-10 235640.png added |
---|
comment:1 by , 6 months ago
Cc: | added |
---|---|
Component: | Core → External imagery source |
Keywords: | bing added |
Yesterday when I looked into this, it looked like our API key had been revoked. That doesn't seem to be the case now though.
Possibly related: https://community.openstreetmap.org/t/discontinued-services-bing-maps-rest-services/117308
comment:2 by , 6 months ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Seems to be working today, nothing has changed on my machine, and indeed even the machine hasn't been restarted. A bit strange, but closing as working well now.
comment:3 by , 4 months ago
I am seeing this same issue today using JOSM 19253, with Java 21.0.5, on MacOS 14.7
by , 4 months ago
Attachment: | Screenshot 2024-11-11 at 2.58.01 PM.jpg added |
---|
comment:6 by , 4 months ago
FTR, here is the API response from Microsoft for the endpoint we are supposed to hit prior to making calls to get the background imagery.
See ImagerySource.js#L338 and compare that to BingAerialTileSource.java#L154.
<?xml version="1.0" encoding="utf-8" standalone="no"?> <Response xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Copyright>Copyright © 2024 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.</Copyright> <BrandLogoUri>https://dev.virtualearth.net/Branding/logo_powered_by.png</BrandLogoUri> <StatusCode>403</StatusCode> <StatusDescription>Forbidden</StatusDescription> <AuthenticationResultCode>DeniedCredentials</AuthenticationResultCode> <ErrorDetails>The request was forbidden. Your credentials may be denied or suspended.</ErrorDetails> <TraceId>8dd361fade0ae15d5a5a2ffb964bf641</TraceId> <ResourceSets/> </Response>
Note: I had this as draft form overnight. I thought I posted it.
comment:11 by , 4 months ago
It seems the JOSM API key is not working but the iD API key is working. And the problem seems to be intermittent. Are we hitting a limit on the number of tiles served per day?
comment:12 by , 3 months ago
It working back again. Thank microsoft and all aerial imagery provider.
it should a short-term malfunctions and now repaired.
comment:13 by , 3 months ago
Same problem happen again
"The request was forbidden. Your credentials may be denied or suspended."
follow-up: 16 comment:14 by , 3 months ago
And the problem seems to be intermittent. Are we hitting a limit on the number of tiles served per day?
No; AFAIK, once we have the metadata, there is no "tracker" for the tiles.
The limit is most likely on the https://dev.virtualearth.net/REST/v1/Imagery/Metadata/AerialOSM endpoint we call, which is something we need to call in order to follow the ToS for MS Bing. For a long time iD was not following that flow, but now they are.
In any case, we should probably investigate getting a new API key. I'll poke some people to see if we can get a new API key.
comment:16 by , 6 weeks ago
Replying to taylor.smock:
In any case, we should probably investigate getting a new API key. I'll poke some people to see if we can get a new API key.
If we got a new API key it did not take long to appear again otherwise getting a new key might still be an option to try.
comment:17 by , 5 weeks ago
15:20 hrs UTC 21/01/2025 RAytoun
I am still getting the Error: Attribution is not loaded yet when I try to load Bing imagery on JOSM.
I was using tested jar 19265 opening with Zulu platform.
I have now tried the latest version tested jar 19277 opening with Zulu platform with the same result.
I am on an Acer Travelmate laptop with Windows 10 professional.
comment:18 by , 5 weeks ago
Cc: | added |
---|---|
Resolution: | fixed |
Status: | closed → reopened |
comment:20 by , 5 weeks ago
I am also having trouble loading Bing Imagery on JOSM 19277 on Mac operating system. The problem began yesterday and persists today. Receiving the red error message.
comment:21 by , 5 weeks ago
I've had the same issue last few days with 19277. Any requests to the endpoints are returned with 401 "InvalidCredentials" "Access was denied. You may have entered your credentials incorrectly, or you might not have access to the requested resource or operation."
Just a side note, I would recommend adding some check on the returned status code to give more useful error messages in situations like this "Attribution is not loaded yet" is not very useful or accurate in this situation since the request failed, it will never be loaded.
comment:22 by , 5 weeks ago
I having this same trouble too, same error message while loading Bing Aerial Images on this version (19277).
comment:23 by , 5 weeks ago
Have had this off and on the last few weeks, yesterday afternoon the situation not recovering, slowly the Bing image tiles disappearing, some turning black with the red warning, some replaced by ESRI/Clarify imagery taking filling in to the point that only ESRI can be seen and Bing is all black. Esri very sub quality for my regular mapping area, detail accurate mapping not possible.
What's puzzling to me is when then checking then in the web browser Rapid / ID Editor, the Bing imagery is properly available, sharp as ever, and I clean out the browser cache daily.
Since I map long periods in the same larger area, I would not mind to have a persistent imagery/tile cache on drive with an option to be able to set the size and then when full, the oldest tiles being purged. If that is agreeable to the usage license I do not know. Think it will cut bandwidth traffic considerable at that, certainly for me. Might even make Bing/MS happy.
comment:24 by , 5 weeks ago
It seems that someone needs to contact Microsoft/Bing and either try get the JOSM id fixed or get a new id.
Someone needs to step up and do this. I don't know who did this last time and I also have no idea who needs to be contacted, ...
comment:25 by , 5 weeks ago
I don't know who to contact either. I've poked someone on GH that is at least peripherally involved on the MS side (they were involved in a discussion for iD, but they haven't responded. I might ask Ben Clark (Rapid dev) if he can poke the MS guys on overture.
My guess is that there are a few things going on:
- Our key has been public via source code for a long time (like 10+ years, and it was originally for Potlatch2). Someone may be abusing it.
- Technically speaking, our "defense" against scraping API keys isn't very secure, but it raises the bar to a targeted attack.
- iD and Rapid do something to avoid making it easy to get their keys as well, although it is still trivial if you watch network logs.
- MS has deprecated the "old" way of getting map tiles. This may be a brownout to raise awareness, but (from what I understand), iD uses the same method we do. I don't know if Rapid is still getting tiles the "wrong" way or not.
- I thought we had until mid 2025 or mid 2028, which is why I'm thinking this could be a brownout for awareness.
- I've been kind of leery about trying to do the work to get the new API working, since I don't know if our key will work for it.
@SekeRob: We do have a cache for imagery. The problem here arises when we try to get the required metadata. If we fail to do that, we refuse to show the imagery. I'll note that iD/Rapid may being doing the wrong thing here -- it looks like iD has a hardcoded fallback for when there are issues. With that said, it looks like their API key is working.
follow-up: 35 comment:26 by , 5 weeks ago
Same issue here with Bing imagery, red text "Error: Attribution is not loaded yet". Version is current (19277) on windows 11. First started with my HOTosm background not loading, I thought it was just the area but it seems to be everywhere after trying a few different continents in JOSM. Other imagery sources seem to be fine for me (Esri, esri clarity tested). Really strange since I can still get bing imagery in the iD editor through the hotOSM tasking manager as well.
follow-up: 30 comment:28 by , 5 weeks ago
I need to investigate why id
is populated from ImageryInfo#getUrl
instead of ImageryInfo#getId
. My guess is Bing. But it could also be for custom imagery.
comment:29 by , 5 weeks ago
FYI, I replaced the API key it with my own under Advanced Preferences and got the same attribution error.
comment:30 by , 5 weeks ago
Can't really believe that we forgot Bing in the apikey transition...
Replying to taylor.smock:
I need to investigate why
id
is populated fromImageryInfo#getUrl
instead ofImageryInfo#getId
. My guess is Bing. But it could also be for custom imagery.
osm/applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/tilesources/AbstractTMSTileSource.java#L46
Shouldn't that be getId()?
by , 5 weeks ago
Attachment: | 23913.2.patch added |
---|
Change this.id = info.getUrl()
to this.id = info.getId()
. Custom and non-custom imagery worked.
comment:32 by , 5 weeks ago
And I just saw your comment. Oops.
I was just testing to see if there were any side effects of changing it to getId
from getUrl
.
EDIT: I was specifically checking to see if the two different map viewers worked properly.
comment:34 by , 5 weeks ago
Fair point. It should be returned earlier in that case. This is my bad -- I originally had this in getAttributionUrl
, but then extracted it.
by , 5 weeks ago
Attachment: | 23913.3.patch added |
---|
Rewrite getKey
to have multiple return
points instead of assigning to a variable that is later returned
by , 5 weeks ago
Attachment: | 23913.4.patch added |
---|
Update TileSourceRule
in core to add id
to ImageryInfo
objects
comment:35 by , 5 weeks ago
Replying to beefstewies:
Same issue here with Bing imagery, red text "Error: Attribution is not loaded yet". Version is current (19277) on windows 11. First started with my HOTosm background not loading, I thought it was just the area but it seems to be everywhere after trying a few different continents in JOSM. Other imagery sources seem to be fine for me (Esri, esri clarity tested). Really strange since I can still get bing imagery in the iD editor through the hotOSM tasking manager as well.
just so you know im having some issues with esri unloading when i zoom way in, but before it would just say there aren't any tiles at that zoom, and i would just use the previous zoom level tile, and this is not happening to every tile too
comment:36 by , 5 weeks ago
Just tried opening bing maps aerial again and it seems like the map tlles are being loaded again. Tried two projects on HotOSM, one in taiwan, one in mozambique, with both working. Starting to think if this is a rate limit on the API perhaps? I had been mapping multiple tasks when the attribution not loaded error appeared.
comment:37 by , 5 weeks ago
Why not?
String key = FeatureAdapter.getSetting(API_KEY_SETTING, API_KEY); if (API_KEY.equals(key)) { try { key = FeatureAdapter.retrieveApiKey(this.getId()); } catch (IOException ioException) { FeatureAdapter.getLogger(this.getClass()).log(Level.WARNING, "Failed to retrieve api key", ioException); } } return key;
Only one return and shorter.
comment:38 by , 5 weeks ago
I kind of wrote mine to match my comments as to what should be returned. Yours also works, although I think it takes a little longer to figure out how it works with the comments.
It doesn't really matter for a function that short though.
comment:39 by , 5 weeks ago
Got an All Black experience again with red text overlay, since about 20:00 CET. Which JOSM release will have the code fix or is it build independent? If it is, I'm only using stable, so that would be early Feb with the monthly release.
comment:40 by , 5 weeks ago
Taylor's fix will be included soon (I'd assume Monday Taylor will do the check in), but that will NOT immediately fix the issue. We're working behind the scenes to check what's necessary to get Microsoft imagery working in JOSM again.
comment:41 by , 5 weeks ago
As stoecker said, my fix will be going in to JMapViewer today, and I'll probably do a generic dependency update for JOSM at the same time.
I am inclined to push the next stable out a week -- I'm hoping that the changes to JMapViewer will be enough along with the background discussions to get a working API for Bing, but there may be some additional changes needed. It depends upon whether or not Microsoft wants us to migrate to their new API now, or if we can put it off another year or two. If Microsoft wants us to migrate to their new API, I'll have to spend a few days on the migration plus a few days of code stabilization (AKA: do people find bugs I didn't).
comment:45 by , 5 weeks ago
Seems you have bad luck ATM. The equalsverifier update breaks another test ;-)
comment:46 by , 5 weeks ago
I saw that. I was hoping it was due to some bad interactions for newer Java versions on my machine.
I think all I have to do is rename a field though -- there is a private Object data
field in both the failing class and a superclass.
comment:47 by , 5 weeks ago
Ah, now I know why I forgot to save the file. It was not finished yet... ;-)
comment:49 by , 3 weeks ago
Bing problem again, same error, attribute is not loaded yet. Using the java web launcher.
comment:50 by , 3 weeks ago
Until now nothing really changed. We're still working on it, but as this is no longer a technical issue it may take time...
comment:51 by , 3 weeks ago
Same here, as of today BING is not loading. JOSM Revision:19307, Java:21.0.6, Win_11
comment:54 by , 3 weeks ago
I can confirm that today morning Bing was working but it's gone again, same issue persist.
comment:55 by , 3 weeks ago
There is no need to tell individual state. ATM it will work sometimes and sometimes not until the licensing issue is solved.
comment:56 by , 3 weeks ago
Works again for me:
2025-02-09 19:48:13.060 WARNUNG: java.io.IOException: Attribution is not loaded yet 2025-02-09 19:48:13.110 INFORMATION: GET https://josm.openstreetmap.de/mapkey/Bing -> HTTP/1.1 200 (103 ms; 65 B) 2025-02-09 19:48:13.327 INFORMATION: GET https://dev.virtualearth.net/REST/v1/Imagery/Metadata/AerialOSM?include=ImageryProviders&output=xml&key=...stripped... -> HTTP/1.1 200 (115 ms) 2025-02-09 19:48:13.328 INFORMATION: Successfully loaded Bing attribution data.
comment:57 by , 2 weeks ago
I have this in the startup logs (v19307). Relevant?
2025-02-12 12:39:33.923 INFO: Successfully loaded Bing attribution data.
2025-02-12 12:39:34.035 SEVERE: Could not parse Bing aerials attribution metadata.
java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:675)
at java.base/java.lang.Integer.parseInt(Integer.java:781)
at org.openstreetmap.gui.jmapviewer.tilesources.BingAerialTileSource.parseAttributionText(BingAerialTileSource.java:181)
at org.openstreetmap.josm.data.imagery.CachedAttributionBingAerialTileSource.access$200(CachedAttributionBingAerialTileSource.java:37)
at org.openstreetmap.josm.data.imagery.CachedAttributionBingAerialTileSource$AttributionTimerTask.run(CachedAttributionBingAerialTileSource.java:146)
at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
at java.base/java.util.TimerThread.run(Timer.java:516)
comment:58 by , 2 weeks ago
We could probably parse it better, but essentially the reason is that Bing rejects the request (overusage?).
As said above, we're in the process to fix it. I need to wait for a response.
comment:59 by , 2 weeks ago
Following a comment at the community forum on the bing.attribution.xml file https://community.openstreetmap.org/t/bing-imagery-glitch-in-josm-error-attribution-is-not-loaded-yet-and-blank-tiles/125454/3 got it to work again by using a backup file from 2023, yes really, whenever a JOSM restart results in a black hole. Don't even have to restart JOSM when so, just remove the Bing layer, copy backup file over the one in the cache folder and attach the bing layer again. Might even write a little startup .bat script... until this PTF starts failing too.
comment:60 by , 2 weeks ago
Well, that's violating the Terms and conditions of API access, but I wont tell anybody ;-)
comment:61 by , 2 weeks ago
I am also having this issue. Esri imagery is low quality and often severely outdated in my country, so I would appreciate a fix as soon as possible.
comment:62 by , 2 weeks ago
In another twist, this morning deleted the bing.attribution.xml file in the cache folder, attached the Bing layer and a new one was created with a date created stamp of yesterday the 14th at 5:03Pm. The revision time as 8:16Am of the 15th, which is when I first started JOSM this morning. Now keeping hands off, restarted JOSM 5:20Pm and Bing showed up fine, but the time stamp is still that of this morning. At a loss where these dates/times stamps come from and what feeds them. The new file and backup is 1.2kb, the old file copy and backup is 3.04kb.
Next step, removed bing layer from JOSM, deleted the cache and backup\cache bing.attribution.xml files. Attached bing and voilà, a new one appears with the 5:38PM date created timestamp.
Riddled, got bing showing fine when till before the copy trick, a later afternoon would lead to a pitch black with read warning text. Maybe the simple reality is maybe the usage is individualized. Today went slow, lots of detail landscaping, ways, but in a relative small area.
TBC
comment:64 by , 4 days ago
See relevant thread post on OSM community forum: https://community.openstreetmap.org/t/bing-imagery-glitch-in-josm-error-attribution-is-not-loaded-yet-and-blank-tiles/125454/22
mikelmaron
We do have a coordinated communication with Microsoft. Two weeks ago we asked if ok for all OSM editors to uses the key used by iD, as that account has a a different limit, and should be good until 2028. They have not yet responded. I just pinged on the thread now to see if we can make that move.
Screenshot of problem with errored tiles