You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
which can only occur if not all nodes are available.
It's SCEE, but I'm quite sure the same crash can happen in StreetComplete too, so it should be fixed here.
My suspicion is that old nodes got cleaned (more than 14 days old), but the way and at least one node was still there. As far as I understand, this can happen when both were edited and uploaded. Then the edited elements will have an updated LAST_SYNC timestamp after upload, but the non-edited nodes will keep the old timestamp.
Details leading to this idea were provided by the user:
Before the crash, the overlay was not shown, despite being active (i.e. no highlighted data)
The crash came up repeatedly until the user downloaded the same area again, so I think the issue is not connected to the map data cache
The user downloads data manually
How to Reproduce
I did not try to reproduce it, but I assume it could be reproduced as follows:
download an area
wait 7 days
edit a way and a node of that way and upload the edits
wait more than 7, but less than 14 days
edit the way again
do something that calls getMapDataWithGeometry with the edited node inside the bbox
The text was updated successfully, but these errors were encountered:
Yes, that was the idea: filter the to-be deleted nodes as proposed above, so only nodes that are not part of any way are deleted.
This requires changing deleteOlderThan a little bit, as such filtering needs to happen after deleting old ways.
related to #4980
I received a crash report for SCEE about a NullPointerException in
StreetComplete/app/src/main/java/de/westnordost/streetcomplete/data/osm/edits/MapDataWithEditsSource.kt
Line 415 in 7dbfc88
which can only occur if not all nodes are available.
It's SCEE, but I'm quite sure the same crash can happen in StreetComplete too, so it should be fixed here.
My suspicion is that old nodes got cleaned (more than 14 days old), but the way and at least one node was still there. As far as I understand, this can happen when both were edited and uploaded. Then the edited elements will have an updated
LAST_SYNC
timestamp after upload, but the non-edited nodes will keep the old timestamp.Details leading to this idea were provided by the user:
How to Reproduce
I did not try to reproduce it, but I assume it could be reproduced as follows:
getMapDataWithGeometry
with the edited node inside the bboxThe text was updated successfully, but these errors were encountered: