osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.67k stars 1.02k forks source link

[Edit plugin] Failed to upload local edits (randomly reproduced) #9707

Open nyqvist opened 4 years ago

nyqvist commented 4 years ago

Hi,

I have used the edit plugin quite much, but it recently started to fail when trying to upload my edits to the OSM server. It fails every time I upload, with the message: "Sending node... failed: Unauthorized".

My changeset is still somehow sent to osm server but does not contain any edits, only the label "created_by=OsmAnd~ 3.7.4". The changeset is still open after the upload.

photo_2020-08-26_21-27-27 photo_2020-08-26_21-27-33

OsmAnd version: Osmand~ 3.7.4 (installed from F-droid). Phone: Samsung Galaxy Note 9 Android version: 10

NotSoImportant commented 4 years ago

I have the same issue :-( I have re-entered credentials, but did not solve it. Under https://www.openstreetmap.org/user/USERNAME/history I cannot see an empty changeset like described by nyqvist (maybe there is a bad open changeset in my older history then?)

nyqvist commented 4 years ago

I saw my empty changeset on http://hdyc.neis-one.org (looking at: "Your latest changeset..."). But now I cannot see that changeset anymore. It was probably removed automatically when no real changes were made(?). I think the open changesets are closed automatically after one hour.

programmin1 commented 4 years ago

This is not great, I saw the same issue I think, with the toast message "Committing node... failed : Unauthorized". But my login still works on the web.

NotSoImportant commented 4 years ago

@vshcherb: I am blocked from uploading a lot of new/updated POIs. Any idea how this can be solved?

vshcherb commented 4 years ago

Looks like OSM API has changed cause seemingly OsmAnd Update was not involved. We will need to investigate it.

vshcherb commented 4 years ago

Meanwhile you can export osmc file and upload with JOSM for example

NotSoImportant commented 4 years ago

Meanwhile you can export osmc file and upload with JOSM for example

Thanks. I will try this for now.

FlorianLudwig commented 4 years ago

@vshcherb @NotSoImportant Did you get it working via export? I could not find any docs on how to export as osmc, do you have any pointers? thanks.

NotSoImportant commented 4 years ago

In OsmAnd "my places" - "osm edits"

In josm menu - "file"

NotSoImportant commented 4 years ago

However somehow OsmAnd upload seems to work again!

FlorianLudwig commented 4 years ago

@NotSoImportant Still not working for me

NotSoImportant commented 4 years ago

@NotSoImportant Still not working for me

For me it now mostly works, but also in the between the issue appeared again. Is this really due to changed interface or probably an overload/loadbalancer issue on server side? @FlorianLudwig have you tried at different times?

FlorianLudwig commented 4 years ago

@NotSoImportant yes, tried several times and getting the same error consistently. To be honest I don't know much about OSM infrastructure nor api. Guessing from the error message it does not look like an overload error but changes to authentication/authorization for the API. @vshcherb mentioned a possible API change, maybe he knows more?

vshcherb commented 4 years ago

Well unfortunately we don't use OAuth and we need to move to it. We use Basic:Authroization - it is a secured way cause osm uses HTTPS. Though it requires a trust to OsmAnd program, so it doesn't leak its password, it's an old approach and we need to switch one day to OAuth though we are running short on human resources to make this switch :-(

vshcherb commented 4 years ago

Not reproducible any more

chris-ca commented 4 years ago

Still very much an issue for me.

Screenshot_20200918-142923.png

Just double checked I have the right password saved, which seems to be the case.

vshcherb commented 4 years ago

Can you please collect from Development plugin - Logcat and share it as a file.

chris-ca commented 4 years ago

GitHub app doesn't allow text file upload...? Hope I got the relevant part:

09-18 22:55:14.532 22231 22287 I net.osmand:native: Detailed coastlines = 0, basemap coastlines 0, ocean tile 0.000000. Detailed added 0, basemap processed 1, basemap added 0.
09-18 22:55:14.533 22231 22287 I net.osmand:native: Search : tree - read( 2463), accept( 196), objs - visit( 4120), accept(1936), in result(1921) 
09-18 22:55:14.542 22231 22287 I net.osmand: MapRenderRepositories BLat=61.73454284667969, TLat=61.94004440307617, LLong=8.435360145568847, RLong=8.701938438415528, zoom=12
09-18 22:55:14.542 22231 22287 I net.osmand: MapRenderRepositories Native search: 304 ms 
09-18 22:55:14.544 22231 22287 I net.osmand:native: Creating SkBitmap in native w:1200 h:2156 s:4800 f:1!
09-18 22:55:14.544 22231 22287 I net.osmand:native: Row bytes for RGBA_8888 is 4800
09-18 22:55:14.544 22231 22287 I net.osmand:native: Locked 10348800 bytes at 0x7c7968a300
09-18 22:55:14.545 22231 22287 I net.osmand:native: Initializing rendering
09-18 22:55:14.545 22231 22287 I net.osmand:native: Rendering image
09-18 22:55:14.598 22231 22287 I net.osmand:native: Native ok (rendering 47, text 9 ms) 
09-18 22:55:14.598 22231 22287 I net.osmand:native:  (4637 points, 2768 points inside, 411 of 2001 objects visible)
09-18 22:55:14.599 22231 22287 I net.osmand:native: End Rendering image
09-18 22:55:14.599 22231 22287 I net.osmand:native: Native ok (init 0, rendering 47) 
09-18 22:55:14.599 22231 22287 I net.osmand: MapRenderRepositories true
09-18 22:55:16.713 22231 27240 I net.osmand: OpenstreetmapRemoteUtil Sending request https://api.openstreetmap.org/api/0.6/changeset/create/
09-18 22:55:16.714 22231 22291 D OpenGLRenderer: endAllActiveAnimators on 0x7cc4a8d000 (RippleDrawable) with handle 0x7c5a807b60
09-18 22:55:17.232 22231 27240 I net.osmand: OpenstreetmapRemoteUtil Response : OK
09-18 22:55:17.234 22231 27240 I net.osmand: OpenstreetmapRemoteUtil Sending request https://api.openstreetmap.org/api/0.6/changeset/91132274/upload
09-18 22:55:17.353 22231 27240 E net.osmand: OpenstreetmapRemoteUtil Committing node… failed : Unauthorized
09-18 22:55:17.353 22231 27240 D net.osmand: OpenstreetmapRemoteUtil null
09-18 22:55:20.848 22231 22231 W InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
09-18 22:55:24.697 22231 22231 D net.osmand: Disable sensor
09-18 22:55:24.703 22231 22231 I net.osmand: MapRenderRepositories RENDER MAP: Interrupt rendering map
09-18 22:55:24.714 22231 22231 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@3d8b35a
09-18 22:55:28.939 22231 22231 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@ae08b0e
09-18 22:55:29.031 22231 22231 E memtrack: Couldn't load memtrack module
09-18 22:55:29.031 22231 22231 W android.os.Debug: failed to get memory consumption info: -1
09-18 22:55:29.234 22231 22291 D OpenGLRenderer: endAllActiveAnimators on 0x7cc4578c00 (MenuPopupWindow$MenuDropDownListView) with handle 0x7c5a807a60
09-18 22:55:32.667 22231 22231 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@427ebd8
09-18 22:56:15.609 22231 22231 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@5017ca0
09-18 22:56:15.900 22231 22291 D OpenGLRenderer: endAllActiveAnimators on 0x7c5aa2e700 (MenuPopupWindow$MenuDropDownListView) with handle 0x7c5a8843c0
09-18 22:56:16.868 22231 22231 W ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@f6ddb45
09-18 22:56:18.492 22231 22231 D net.osmand: SQLiteTileSource closeDB
09-18 22:56:18.492 22231 22231 I chatty  : uid=10166(net.osmand.plus) identical 1 line
09-18 22:56:18.493 22231 22231 D net.osmand: SQLiteTileSource closeDB
09-18 22:56:18.649 22231 22288 I net.osmand: MapRenderRepositories RENDER MAP: update due to tile box
09-18 22:56:18.649 22231 22288 I net.osmand: MapRenderRepositories RENDER MAP: Interrupt rendering map
09-18 22:56:18.650 22231 22288 D net.osmand: SQLiteTileSource Open /storage/3337-3131/Android/data/net.osmand.plus/files/tiles/Hillshade Norway europe.sqlitedb
09-18 22:56:18.655 22231 22288 D net.osmand: SQLiteTileSource Checking tile existance x = 2233 y = 1129 z = 12 for 0
vshcherb commented 4 years ago

We need to contact OSM-Team and check if they block specific changes on their site. I see that changeset is created so the problem is not related to credentials.

09-18 22:55:17.234 22231 27240 I net.osmand: OpenstreetmapRemoteUtil Sending request https://api.openstreetmap.org/api/0.6/changeset/91132274/upload
chris-ca commented 3 years ago

This now works again for me!

Note that I reinstalled OSMand a few weeks ago for unrelated reasons, so it may have been solved by that...?

Cwpute commented 3 months ago

I have to report the same issue. I can provide the problematic list of POIs if something can be gathered from them. I tried uploading each POI one by one but it didn't work… maybe a connexion/login issue ?

Cwpute commented 1 month ago

My problem was fixed by disconnecting and reconnecting my OSM account, as suggested in issue #19557 Maybe this can help other contributors here ?