Cgeo: Live map is missing caches sporadically

Created on 26 Jul 2020  ·  45Comments  ·  Source: cgeo/cgeo

User report from 2020.07.26-RC and also coincidentally seen by myself today while caching:

  • Open live map (in my case OSM offline), do not hide found caches
  • Have map centered to your position and keep moving (in my case riding my bike)
  • After a while I reached an area, where I know, that I found a cache there but nothing was shown on the map

  • I moved the map manually, no change.

  • I zoomed out and in again and suddenly some missing caches appear

Remark:
I am far away from sure, whether we have a problem here.
While trying to debug, I did also see communication errors towards the geocaching servers. So maybe they stil throttle requests or have load problems.

Bug Live Map New Map OSM Prio - High

All 45 comments

I can confirm this behavior. Not a big issue for me, as I often zoom in out, but I recognized that sometimes not all caches are visible bevor zooming.

Possibly related:

  • live map with some not yet found caches
  • open popup of one of these
  • close popup again
  • the icon of this cache will vanish from map, until you either ...

    • zoom out (until new caches are loaded) or

    • select some other caches until it appears again ...

  • Have map centered to your position and keep moving (in my case riding my bike)
  • After a while I reached an area, where I know, that I found a cache there but nothing was shown on the map

This weekend I observed this very same behavior in live map - but with not yet found caches:

  • was driving along (speed between 70 to 100 kmh)
  • c:geo live map showing, centered to our position
    (in order to see and click caches nearby, to decide whether to visit or not)
  • after a while I had no cache at all on display,
    but when my partner switched on her c:geo, she had ...
  • zooming out (seemingly until the number of caches to be displayed increases) brought them on my screen, too
  • same does switching display off and on again

This happens for a few weeks now. Reproducable. Most regretfully I can not exactly say till when, cause seemingly you have to be in a region where c:geo had no chance to cache the caches before ... and poss. you have to move faster than walking ... but may even be that while walking the display switches off often enough to trigger the update ...?

The scenario described above definitely worked a few weeks ago, as this is my "normal" way of using c:geo while driving ... but there probably was this problem last weekend, as I think I have observed it there, too.

So maybe they stil throttle requests

Sounds reasonable, but if this would for real be the reason, why does it work on zoom out or display off/on?

Can you enable debug log next time you are riding and remember the time when it happens? Analysing the log might gives clues here as the throttling should be visible in form of denies requests.

Of course I can, but it is possibly not necessary anymore, as I was able to reproduce while sitting at my desk:

  • activate live map
  • set zoom to 1 km
  • move map a few times into the same direction with "medium" scroll speed
    to a region where you know caches are, but which you have not visited (not even on map) the last two weeks.
  • after five to ten scrolls sideways (count possibly depends on cache density) you will suddenly get less caches ...
    perhaps you will cross check to PC's gc.com map ...
  • and on the next or the one after that, there will be no caches at all anymore.
  • now switch off screen (which seems to not always work, as I just learned) or zoom to 5 km
    (resp. until caches appear) and then back to 1 km
  • and then suddenly there will be caches on display ...

Please find attached a logcat, created with "Logcat reader 1.7.1" (as MatLog seems to have disappeared from market)

logcat_08-10-2020_01-05-18.txt

Have had this scenario on our last tour, and have recorded an "Extended Log":

  • driving along for some kilometers with map zoom set to 500 m and map centered on my position
  • after a while, there are fewer and fewer caches on map
  • compared this to my co-driver's c:geo - who had about 30 caches on display.
  • zoomed out an in ... and there they are ...
  • so activated Debug Logging and waited until the scenario described above came up again
    (which happened about 3 or 4 kilometers later)
  • then again zoomed out/in
  • and after the "missing" caches are displayed, saved the log file (Extended) and after that disabled Debug Log again.

Hopefully you can see s/th in the log ...

logcat_2020-08-13_18-51.txt

Similar here with

  • release version 2020.08.04
  • OSM map
  • also happening without "live" mode enabled, with caches already stored

Caches are shown after a zoom-in / zoom-out sequence.

Happened (resp, realized it) again, too, today, with current nightly and offline OSM map.
New: Apart from zoom-out/zoom-in (what I did in the past to force a refresh resp. download of caches around current position) disable/enable live map "helps" as well.

My theory, based on my observations:

  1. I guess, when starting live map view, c:geo loads caches around current position (500, as usual?)
  2. while moving, c:geo keeps (resp. once kept) this download circle's diameter in mind
  3. as soon as one moves away from the center of this download circle by a specific distance (e. g. half of it's radius), c:geo loads more caches with current position as new center (or, if it's clever, it may even guess the direction of the further movement, based on the previous direction, doubling it, and take this projected point as new center ;) ).

Maybe, c:geo a) forgets the old center or the distance moved, or b) just forgets to reload, once the distance has been reached.

This at least would match my observation, that the umber of caches displayed in map become less and less while moving, until there are just sporadically some (perhaps cached or whatever).

Just another random observation I made today:

Caches have been loaded on map (not sure if all...but looked crowded)
I zoomed in one level, some caches disappeared
I zoomed out again, some of the vanished caches appear others still gone.

So not yet a clear view about whats triggering the problem.

@MagpieFourtyTwo If you manage to find a reproducible case we could dive down into the problem. I failed so far, but I also guess its related to maximum loaded caches, internal buffering and updating/merging on next load from server.

Caches have been loaded on map (not sure if all...but looked crowded)
I zoomed in one level, some caches disappeared
I zoomed out again, some of the vanished caches appear others still gone.

A behaviour I also noticed (using stable releases)

@Lineflyer
Already have one, posted it (see this and the following post) and even added two logcats.

Feel free to use - and ask for more, if necessary. ;)

I have a user on support mail with similar problems:
-Opening the live map

  • Driving around in his car, let the map follow his position
  • After first loading was OK, while moving the map only shows saved caches (and their waypoints) until he manually moves the map around.
  • Then live caches are shown again and the problem starts all over if he continues moving with his car

Sys info:

--- System information ---
Device: SM-G950F (dreamltexx, samsung)
Android version: 9
Android build: PPR1.180610.011.G950FXXU9DTF1
c:geo version: 2020.08.04
Google Play services: enabled - 20.33.15 (100408-330018294)
Low power mode: inactive
Compass capabilities: yes
Rotation vector sensor: present
Orientation sensor: present
Magnetometer & Accelerometer sensor: present
Direction sensor used: rotation vector
Hide caches: -
Hide waypoints: -
HW acceleration: enabled (default state)
System language: de_DE
System date format: dd.MM.yy
Debug mode active: no
System internal c:geo dir: /data/user/0/cgeo.geocaching (10,7 GB free) internal
User storage c:geo dir: /storage/emulated/0/cgeo (10,7 GB free) external non-removable
Geocache data: /storage/emulated/0/Android/data/cgeo.geocaching/files/GeocacheData (10,7 GB free) external non-removable
Database: /data/user/0/cgeo.geocaching/databases/data (48,9 MB) on system internal storage
Fine location permission: granted
Write external storage permission: granted
Geocaching sites enabled:
geocaching.com: Logged in (Anmeldung OK) / PREMIUM
opencaching.de: Logged in (Anmeldung OK)
Geocaching.com date format: dd.MM.yyyy
Installed c:geo plugins: none
--- End of system information 

Logcat (which includes an error code 400 and an exception at the end):

--------- beginning of main
10-01 16:59:28.022 10017 10049 D cgeo    : [network--3] GCMap.searchPlayMapByViewport(N 48° 40,728' · E 011° 44,139',N 48° 43,665' · E 011° 54,830')
10-01 16:59:28.024 10017 17159 D cgeo    : [OkHttp] GET https://www.geocaching.com/api/proxy/web/search?box=48.72775%2C11.735653%2C48.678808%2C11.913835&take=500&asc=true&skip=0&sort=distance&origin=48.703279%2C11.824744&app=cgeo
10-01 16:59:28.024 10017 17165 D cgeo    : [OkHttp] GET https://www.opencaching.de/okapi/services/caches/shortcuts/search_and_retrieve?langpref=de%7Cen&oauth_consumer_key=J6M7x5rNz9YFJX38fE9n&oauth_nonce=c8a47e2f9b204933a53be658016e0ca1&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1601564368&oauth_token=UDvnPBjPKJd3TqEsQFL4&oauth_version=1.0&retr_method=services%2Fcaches%2Fgeocaches&retr_params=%7B%22fields%22%3A%20%22code%7Cname%7Clocation%7Ctype%7Cstatus%7Cdifficulty%7Cterrain%7Csize%7Csize2%7Cdate_hidden%7Ctrackables_count%7Cis_found%22%7D&search_method=services%2Fcaches%2Fsearch%2Fbbox&search_params=%7B%22bbox%22%3A%2248.678808%7C11.735653%7C48.727750%7C11.913835%22%2C%22status%22%3A%22Available%7CTemporarily%20unavailable%22%2C%22ignored_status%22%3A%22notignored_only%22%7D&wrap=true&oauth_signature=77SbaRqWjUSaFJfFWxPGM6OV1Fw%3D
10-01 16:59:28.034 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC1ABTQ A93 Elsendorf from DB
10-01 16:59:28.035 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC30KE7 Sankt Anton from DB
10-01 16:59:28.036 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC4FPY8 S(T)EIN  oder  nicht  S(T)EIN from DB
10-01 16:59:28.038 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC6MZ8P Drei ??? Bonus 06 from DB
10-01 16:59:28.039 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC6RVCF Drei ??? #86 from DB
10-01 16:59:28.040 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC6RVCG Drei ??? #85 from DB
10-01 16:59:28.041 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC8MNEA Der Wächter from DB
10-01 16:59:28.042 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading OC611C A93 Elsendorf from DB
10-01 16:59:28.046 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache GC30KE7 for id 2 added, geoEntries: 5
10-01 16:59:28.047 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache GC8MNEA for id 2 added, geoEntries: 6
10-01 16:59:28.047 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache GC1ABTQ for id 2 not added, geoEntries: 6
10-01 16:59:28.047 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache GC6MZ8P for id 2 added, geoEntries: 7
10-01 16:59:28.048 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache OC611C for id 2 not added, geoEntries: 7
10-01 16:59:28.048 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache GC6RVCG for id 2 added, geoEntries: 8
10-01 16:59:28.048 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache GC4FPY8 for id 2 not added, geoEntries: 8
10-01 16:59:28.049 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Cache GC6RVCF for id 2 added, geoEntries: 9
10-01 16:59:28.049 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 2 synced. Codes removed: 0, new codes: 5, geoEntries: 9
10-01 16:59:28.053 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 004FPY8 for id 0 added, geoEntries: 10
10-01 16:59:28.053 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 014FPY8 for id 0 added, geoEntries: 11
10-01 16:59:28.054 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 2, geoEntries: 11
10-01 16:59:28.297 10017 17165 D cgeo    : [OkHttp] 200 (273 ms) GET https://www.opencaching.de/okapi/services/caches/shortcuts/search_and_retrieve?langpref=de%7Cen&oauth_consumer_key=J6M7x5rNz9YFJX38fE9n&oauth_nonce=c8a47e2f9b204933a53be658016e0ca1&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1601564368&oauth_token=UDvnPBjPKJd3TqEsQFL4&oauth_version=1.0&retr_method=services%2Fcaches%2Fgeocaches&retr_params=%7B%22fields%22%3A%20%22code%7Cname%7Clocation%7Ctype%7Cstatus%7Cdifficulty%7Cterrain%7Csize%7Csize2%7Cdate_hidden%7Ctrackables_count%7Cis_found%22%7D&search_method=services%2Fcaches%2Fsearch%2Fbbox&search_params=%7B%22bbox%22%3A%2248.678808%7C11.735653%7C48.727750%7C11.913835%22%2C%22status%22%3A%22Available%7CTemporarily%20unavailable%22%2C%22ignored_status%22%3A%22notignored_only%22%7D&wrap=true&oauth_signature=77SbaRqWjUSaFJfFWxPGM6OV1Fw%3D (http/1.1)
10-01 16:59:28.299 10017 10102 D cgeo    : [network--8] OC returning 2 caches from search by viewport
10-01 16:59:28.377 10017 17159 D cgeo    : [OkHttp] 200 (352 ms) GET https://www.geocaching.com/api/proxy/web/search?box=48.72775%2C11.735653%2C48.678808%2C11.913835&take=500&asc=true&skip=0&sort=distance&origin=48.703279%2C11.824744&app=cgeo (http/1.1)
10-01 16:59:28.382 10017 10049 D cgeo    : [network--3] Loading GC6HN59 Drei ??? #21 from DB
10-01 16:59:28.389 10017 10049 D cgeo    : [network--3] Loading GC6HN5G Drei ??? #84 from DB
10-01 16:59:28.392 10017 10049 D cgeo    : [network--3] Loading GC6HNTY Drei ??? Bonus #02 from DB
10-01 16:59:28.394 10017 10049 D cgeo    : [network--3] Loading GC6HNV4 Drei ??? Bonus #03 from DB
10-01 16:59:28.395 10017 10049 D cgeo    : [network--3] Loading GC6HNV5 Drei ??? #83 from DB
10-01 16:59:28.398 10017 10049 D cgeo    : [network--3] Loading GC6HNV7 Drei ??? #41 from DB
10-01 16:59:28.400 10017 10049 D cgeo    : [network--3] Loading GC6HNV9 Drei ??? #40 from DB
10-01 16:59:28.402 10017 10049 D cgeo    : [network--3] Loading GC6JMXX Drei ??? #22 from DB
10-01 16:59:28.405 10017 10049 D cgeo    : [network--3] Loading GC6JMY3 Drei ??? #23 from DB
10-01 16:59:28.407 10017 10049 D cgeo    : [network--3] Loading GC6JMYY Drei ??? #37 from DB
10-01 16:59:28.408 10017 10049 D cgeo    : [network--3] Loading GC6MZ85 Drei ??? #81 from DB
10-01 16:59:28.411 10017 10049 D cgeo    : [network--3] Loading GC6MZ87 Drei ??? #82 from DB
10-01 16:59:28.412 10017 10049 D cgeo    : [network--3] Loading GC8RHKJ 01_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.415 10017 10049 D cgeo    : [network--3] Loading GC8RHMJ 02_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.417 10017 10049 D cgeo    : [network--3] Loading GC8RHNN 03_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.418 10017 10049 D cgeo    : [network--3] Loading GC8RHPG 04_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.420 10017 10049 D cgeo    : [network--3] Loading GC8RHQ6 05_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.421 10017 10049 D cgeo    : [network--3] Loading GC8RHR6 06_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.423 10017 10049 D cgeo    : [network--3] Loading GC8RHW3 11_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.425 10017 10049 D cgeo    : [network--3] Loading GC8RHZ3 12_FiniPuk´ s Baumwipfelrunde from DB
10-01 16:59:28.427 10017 10049 D cgeo    : [network--3] Loading GC8T33K Anna Kapelle from DB
10-01 16:59:28.429 10017 10049 D cgeo    : [network--3] DataStore.loadCaches([GC8WV9W]) returned no results
10-01 16:59:28.453 10017 10049 D cgeo    : [network--3] GCMap: returning 34 caches from search
10-01 16:59:28.455 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Filtering out 0 caches: []
10-01 16:59:28.456 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Live caches found: 36
10-01 16:59:28.457 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHZ3 for id 3 added, geoEntries: 12
10-01 16:59:28.457 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHMJ for id 3 added, geoEntries: 13
10-01 16:59:28.458 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6MZ85 for id 3 added, geoEntries: 14
10-01 16:59:28.458 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6HNV9 for id 3 added, geoEntries: 15
10-01 16:59:28.458 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6MZ87 for id 3 added, geoEntries: 16
10-01 16:59:28.459 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6HNV7 for id 3 added, geoEntries: 17
10-01 16:59:28.459 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6RVCG for id 3 not added, geoEntries: 17
10-01 16:59:28.459 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6HN59 for id 3 added, geoEntries: 18
10-01 16:59:28.459 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6RVCF for id 3 not added, geoEntries: 18
10-01 16:59:28.459 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC30KE7 for id 3 not added, geoEntries: 18
10-01 16:59:28.459 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6MZ8P for id 3 not added, geoEntries: 18
10-01 16:59:28.460 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8WV9W for id 3 added, geoEntries: 19
10-01 16:59:28.460 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8YY5R for id 3 added, geoEntries: 20
10-01 16:59:28.460 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6JMXX for id 3 added, geoEntries: 21
10-01 16:59:28.461 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8T33K for id 3 added, geoEntries: 22
10-01 16:59:28.461 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6HN5G for id 3 added, geoEntries: 23
10-01 16:59:28.462 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHKJ for id 3 added, geoEntries: 24
10-01 16:59:28.462 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHR6 for id 3 added, geoEntries: 25
10-01 16:59:28.462 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6JMY3 for id 3 added, geoEntries: 26
10-01 16:59:28.463 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache OC16172 for id 3 added, geoEntries: 27
10-01 16:59:28.463 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHPG for id 3 added, geoEntries: 28
10-01 16:59:28.464 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHW3 for id 3 added, geoEntries: 29
10-01 16:59:28.464 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC2ZPN3 for id 3 added, geoEntries: 30
10-01 16:59:28.464 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6HNTY for id 3 added, geoEntries: 31
10-01 16:59:28.464 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8MNEA for id 3 not added, geoEntries: 31
10-01 16:59:28.465 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8R0AB for id 3 added, geoEntries: 32
10-01 16:59:28.465 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6HNV5 for id 3 added, geoEntries: 33
10-01 16:59:28.466 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6HNV4 for id 3 added, geoEntries: 34
10-01 16:59:28.466 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC6JMYY for id 3 added, geoEntries: 35
10-01 16:59:28.466 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHNN for id 3 added, geoEntries: 36
10-01 16:59:28.467 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8YY6Q for id 3 added, geoEntries: 37
10-01 16:59:28.467 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Cache GC8RHQ6 for id 3 added, geoEntries: 38
10-01 16:59:28.468 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 3 synced. Codes removed: 0, new codes: 27, geoEntries: 38
10-01 16:59:28.469 10017 17177 D cgeo    : [RxNewThreadScheduler-14] searchByViewport: cached=false, results=36, viewport=(N 48° 41,404' · E 011° 47,546',N 48° 42,788' · E 011° 48,384')
10-01 17:00:01.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint P08R0AB for id 0 added, geoEntries: 39
10-01 17:00:01.778 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 39
10-01 17:00:01.779 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint P08R0AB for id 0 not added, geoEntries: 39
10-01 17:01:26.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 006HNV5 for id 0 added, geoEntries: 40
10-01 17:01:26.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 40
10-01 17:01:26.778 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 006HNV5 for id 0 not added, geoEntries: 40
10-01 17:01:42.768 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 4, new codes: 0, geoEntries: 36
10-01 17:02:53.777 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC1R64N Maria Hilf! from DB
10-01 17:02:53.778 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC8JQVG Train from DB
10-01 17:02:53.781 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint FN8JQVG for id 0 added, geoEntries: 37
10-01 17:02:53.781 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 021R64N for id 0 added, geoEntries: 38
10-01 17:02:53.782 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint FN8JQVG for id 0 not added, geoEntries: 38
10-01 17:02:53.782 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint P08R0AB for id 0 added, geoEntries: 39
10-01 17:02:53.783 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint P08R0AB for id 0 not added, geoEntries: 39
10-01 17:02:53.783 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 021R64N for id 0 not added, geoEntries: 39
10-01 17:02:53.784 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 018JQVG for id 0 added, geoEntries: 40
10-01 17:02:53.784 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 028JQVG for id 0 added, geoEntries: 41
10-01 17:02:53.785 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 028JQVG for id 0 not added, geoEntries: 41
10-01 17:02:53.785 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 038JQVG for id 0 added, geoEntries: 42
10-01 17:02:53.786 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 038JQVG for id 0 not added, geoEntries: 42
10-01 17:02:53.787 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 011R64N for id 0 added, geoEntries: 43
10-01 17:02:53.789 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC6MZ4R Drei ??? #51 from DB
10-01 17:02:53.789 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC6MZ4R Drei ??? #51 from DB
10-01 17:02:53.792 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 016MZ4R for id 0 added, geoEntries: 44
10-01 17:02:53.792 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 016MZ4R for id 0 not added, geoEntries: 44
10-01 17:02:53.793 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 011R64N for id 0 not added, geoEntries: 44
10-01 17:02:53.793 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 048JQVG for id 0 added, geoEntries: 45
10-01 17:02:53.794 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 048JQVG for id 0 not added, geoEntries: 45
10-01 17:02:53.794 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 018JQVG for id 0 not added, geoEntries: 45
10-01 17:02:53.795 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 3, geoEntries: 45
10-01 17:02:53.795 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 6, geoEntries: 45
10-01 17:03:06.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 44
10-01 17:03:06.780 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 44
10-01 17:03:13.790 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 006MZ4R for id 0 added, geoEntries: 45
10-01 17:03:13.791 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 45
10-01 17:03:13.792 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 006MZ4R for id 0 not added, geoEntries: 45
10-01 17:03:26.781 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 2, new codes: 0, geoEntries: 43
10-01 17:03:26.785 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 2, new codes: 0, geoEntries: 43
10-01 17:04:11.785 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC7BDD0 Siegenburg - Turnerhölzl from DB
10-01 17:04:11.789 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint P07BDD0 for id 0 added, geoEntries: 44
10-01 17:04:11.793 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint P07BDD0 for id 0 not added, geoEntries: 44
10-01 17:04:11.795 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 44
10-01 17:04:17.777 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 43
10-01 17:04:17.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 43
10-01 17:04:33.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC78Q1X Siegenburger Brücken - Bonus from DB
10-01 17:04:33.776 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC78Q1X Siegenburger Brücken - Bonus from DB
10-01 17:04:33.778 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 0178Q1X for id 0 added, geoEntries: 44
10-01 17:04:33.778 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 0178Q1X for id 0 not added, geoEntries: 44
10-01 17:04:33.779 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 44
10-01 17:04:34.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 0278Q1X for id 0 added, geoEntries: 45
10-01 17:04:34.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 1, geoEntries: 44
10-01 17:04:34.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 0278Q1X for id 0 not added, geoEntries: 44
10-01 17:04:34.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 44
10-01 17:04:39.777 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC34WQN Binnendünen Siegenburg from DB
10-01 17:04:39.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC34WQN Binnendünen Siegenburg from DB
10-01 17:04:39.779 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint P134WQN for id 0 not added, geoEntries: 45
10-01 17:04:39.779 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint P134WQN for id 0 added, geoEntries: 45
10-01 17:04:39.780 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 0378Q1X for id 0 added, geoEntries: 46
10-01 17:04:39.780 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 0378Q1X for id 0 not added, geoEntries: 46
10-01 17:04:39.780 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 1, geoEntries: 45
10-01 17:04:39.780 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 1, geoEntries: 45
10-01 17:04:40.775 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC6MZ5V Drei ??? #60 from DB
10-01 17:04:40.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC6MZ5V Drei ??? #60 from DB
10-01 17:04:40.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint PK6MZ5V for id 0 added, geoEntries: 46
10-01 17:04:40.777 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint PK6MZ5V for id 0 not added, geoEntries: 46
10-01 17:04:40.778 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 45
10-01 17:04:40.778 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 1, geoEntries: 45
10-01 17:04:41.778 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC6R2VW Siegenburg Range from DB
10-01 17:04:41.778 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC6R2VW Siegenburg Range from DB
10-01 17:04:41.781 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint P06R2VW for id 0 added, geoEntries: 46
10-01 17:04:41.781 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint P06R2VW for id 0 not added, geoEntries: 46
10-01 17:04:41.781 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 46
10-01 17:04:44.773 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 45
10-01 17:04:44.774 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 45
10-01 17:04:47.773 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 44
10-01 17:04:47.775 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 44
10-01 17:04:49.774 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 43
10-01 17:04:49.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 1, new codes: 0, geoEntries: 43
10-01 17:04:51.773 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 0478Q1X for id 0 added, geoEntries: 44
10-01 17:04:51.775 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 0478Q1X for id 0 not added, geoEntries: 44
10-01 17:04:51.776 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC4ZQGB [LP] Hitlers Autobahnrelikt - Reloaded from DB
10-01 17:04:51.776 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC4ZQGB [LP] Hitlers Autobahnrelikt - Reloaded from DB
10-01 17:04:51.779 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 004ZQGB for id 0 added, geoEntries: 45
10-01 17:04:51.779 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 004ZQGB for id 0 not added, geoEntries: 45
10-01 17:04:51.779 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 45
10-01 17:04:51.779 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 45
10-01 17:04:52.777 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint S14ZQGB for id 0 added, geoEntries: 46
10-01 17:04:52.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint S14ZQGB for id 0 not added, geoEntries: 46
10-01 17:04:52.778 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 46
10-01 17:04:53.774 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint S04ZQGB for id 0 added, geoEntries: 47
10-01 17:04:53.774 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 47
10-01 17:04:53.776 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint S04ZQGB for id 0 not added, geoEntries: 47
10-01 17:04:55.775 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint PK4ZQGB for id 0 added, geoEntries: 48
10-01 17:04:55.776 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 48
10-01 17:04:55.777 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint PK4ZQGB for id 0 not added, geoEntries: 48
10-01 17:05:05.775 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint P15XTYN for id 0 added, geoEntries: 49
10-01 17:05:05.777 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint P15XTYN for id 0 not added, geoEntries: 49
10-01 17:05:05.788 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 49
10-01 17:05:10.775 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 005XTYN for id 0 added, geoEntries: 50
10-01 17:05:10.775 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 50
10-01 17:05:10.776 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 005XTYN for id 0 not added, geoEntries: 50
10-01 17:05:12.776 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint S15XTYN for id 0 added, geoEntries: 51
10-01 17:05:12.776 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 51
10-01 17:05:12.779 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint S15XTYN for id 0 not added, geoEntries: 51
10-01 17:05:13.775 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint S25XTYN for id 0 added, geoEntries: 52
10-01 17:05:13.776 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 52
10-01 17:05:13.776 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint S25XTYN for id 0 not added, geoEntries: 52
10-01 17:05:53.787 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Loading GC2YVPM EILEn MIT verWEILEn from DB
10-01 17:05:53.787 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Loading GC2YVPM EILEn MIT verWEILEn from DB
10-01 17:05:53.791 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Waypoint 032YVPM for id 0 added, geoEntries: 53
10-01 17:05:53.793 10017 17177 D cgeo    : [RxNewThreadScheduler-14] Layers for id 0 synced. Codes removed: 0, new codes: 1, geoEntries: 53
10-01 17:05:53.796 10017 17176 D cgeo    : [RxNewThreadScheduler-13] Waypoint 032YVPM for id 0 not added, geoEntries: 53
10-01 17:06:18.229 10017 10017 D cgeo    : [main] NewMap: onPause
10-01 17:06:18.230 10017 10017 D cgeo    : [main] NewMap: onStop
10-01 17:06:18.230 10017 10017 D cgeo    : [main] AbtsractCacheOverlay: onDestroy overlay 2
10-01 17:06:18.231 10017 10038 D cgeo    : [looper callbacks] RotationProvider: unregistering listener
10-01 17:06:18.231 10017 10017 D cgeo    : [main] Layers for id 2 cleared, remaining geoEntries: 48
10-01 17:06:18.231 10017 10017 D cgeo    : [main] AbtsractCacheOverlay: onDestroy overlay 3
10-01 17:06:18.231 10017 10017 D cgeo    : [main] Layers for id 3 cleared, remaining geoEntries: 17
10-01 17:06:18.235 10017 10017 D cgeo    : [main] New map: onSaveInstanceState
10-01 17:06:18.236 10017 10017 D cgeo    : [main] NewMap: onDestroy
10-01 17:06:18.257 10017 10017 D cgeo    : [main] ResourceBitmapCacheMonitor.release
10-01 17:06:18.257 10017 10017 D cgeo    : [main] ResourceBitmapCacheMonitor.clearResourceBitmaps
10-01 17:06:18.329 10017 10017 D cgeo    : [main] NewMap: onCreate
10-01 17:06:18.329 10017 10017 D cgeo    : [main] ResourceBitmapCacheMonitor.addRef
10-01 17:06:18.350 10017 10017 D cgeo    : [main] Connecting brouter failed
10-01 17:06:18.358 10017 10017 D cgeo    : [main] NewMap: onStart
10-01 17:06:18.366 10017 10017 D cgeo    : [main] AbstractCacheOverlay: construct overlay 0
10-01 17:06:18.366 10017 10017 D cgeo    : [main] AbstractCacheOverlay: construct overlay 2
10-01 17:06:18.366 10017 10017 D cgeo    : [main] AbstractCacheOverlay: construct overlay 3
10-01 17:06:18.367 10017 10017 D cgeo    : [main] RestartLocationPermissionGrantedCallback.execute for 2225
10-01 17:06:18.367 10017 10038 D cgeo    : [looper callbacks] RotationProvider: registering listener
10-01 17:06:18.370 10017 10104 D cgeo    : [network--10] OC returning 0 caches from search by viewport
10-01 17:06:18.371 10017 10057 D cgeo    : [network--4] GCMap.searchPlayMapByViewport(N 48° 45,528' · E 011° 50,155',N 48° 45,528' · E 011° 50,155')
10-01 17:06:18.372 10017 10017 D cgeo    : [main] NewMap: onResume
10-01 17:06:18.375 10017 17843 D cgeo    : [OkHttp] GET https://www.geocaching.com/api/proxy/web/search?box=48.758792%2C11.835909%2C48.758792%2C11.835909&take=500&asc=true&skip=0&sort=distance&origin=48.758792%2C11.835909&app=cgeo
10-01 17:06:18.620 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC2TYZ1 Die schwarze Madonna von ? from DB
10-01 17:06:18.621 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC2YVPM EILEn MIT verWEILEn from DB
10-01 17:06:18.621 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC34WQN Binnendünen Siegenburg from DB
10-01 17:06:18.622 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC4AGCP Am Platz der verlornen Körner from DB
10-01 17:06:18.622 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC4F75T ADAC-Warte-Cache from DB
10-01 17:06:18.622 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC4KF7V Kapelle from DB
10-01 17:06:18.623 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC4ZABV Bonus - [LP] Hitlers Autobahnrelikt from DB
10-01 17:06:18.623 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC5XTYN RömerBOX from DB
10-01 17:06:18.624 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC6R2VW Siegenburg Range from DB
10-01 17:06:18.624 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC71ZAM Soldatengrab from DB
10-01 17:06:18.625 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC78Q1X Siegenburger Brücken - Bonus from DB
10-01 17:06:18.626 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC7BDD0 Siegenburg - Turnerhölzl from DB
10-01 17:06:18.627 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC7HHFM Licht am Ende .... from DB
10-01 17:06:18.628 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC7HHFW Schöner Ausblick from DB
10-01 17:06:18.629 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC86H55 Castor Fiber from DB
10-01 17:06:18.629 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC8HRB1 Mariensäule Siegenburg from DB
10-01 17:06:18.630 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC8JQVG Train from DB
10-01 17:06:18.631 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC8KQVG Beim Bankerl from DB
10-01 17:06:18.633 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Loading GC8YZHP Dorfblick    (2K 3) from DB
10-01 17:06:18.638 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC34WQN for id 2 added, geoEntries: 1
10-01 17:06:18.638 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC4AGCP for id 2 added, geoEntries: 2
10-01 17:06:18.639 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC4F75T for id 2 added, geoEntries: 3
10-01 17:06:18.639 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC2TYZ1 for id 2 added, geoEntries: 4
10-01 17:06:18.640 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC4ZABV for id 2 added, geoEntries: 5
10-01 17:06:18.641 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC2YVPM for id 2 added, geoEntries: 6
10-01 17:06:18.646 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC5XTYN for id 2 added, geoEntries: 7
10-01 17:06:18.647 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC78Q1X for id 2 added, geoEntries: 8
10-01 17:06:18.647 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC8YZHP for id 2 added, geoEntries: 9
10-01 17:06:18.648 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC86H55 for id 2 added, geoEntries: 10
10-01 17:06:18.648 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC8HRB1 for id 2 added, geoEntries: 11
10-01 17:06:18.649 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC8JQVG for id 2 added, geoEntries: 12
10-01 17:06:18.649 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC8KQVG for id 2 added, geoEntries: 13
10-01 17:06:18.650 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC6R2VW for id 2 added, geoEntries: 14
10-01 17:06:18.651 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC7HHFM for id 2 added, geoEntries: 15
10-01 17:06:18.652 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC7HHFW for id 2 added, geoEntries: 16
10-01 17:06:18.652 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC7BDD0 for id 2 added, geoEntries: 17
10-01 17:06:18.653 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC4KF7V for id 2 added, geoEntries: 18
10-01 17:06:18.654 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Cache GC71ZAM for id 2 added, geoEntries: 19
10-01 17:06:18.654 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Layers for id 2 synced. Codes removed: 0, new codes: 19, geoEntries: 19
10-01 17:06:18.657 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 002TYZ1 for id 0 added, geoEntries: 20
10-01 17:06:18.657 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint P15XTYN for id 0 added, geoEntries: 21
10-01 17:06:18.658 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 002YVPM for id 0 added, geoEntries: 22
10-01 17:06:18.659 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 0378Q1X for id 0 added, geoEntries: 23
10-01 17:06:18.660 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 018JQVG for id 0 added, geoEntries: 24
10-01 17:06:18.661 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 032YVPM for id 0 added, geoEntries: 25
10-01 17:06:18.661 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint ST4AGCP for id 0 added, geoEntries: 26
10-01 17:06:18.662 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 005XTYN for id 0 added, geoEntries: 27
10-01 17:06:18.662 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint S15XTYN for id 0 added, geoEntries: 28
10-01 17:06:18.663 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint PK6MZ5V for id 0 added, geoEntries: 29
10-01 17:06:18.664 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 0478Q1X for id 0 added, geoEntries: 30
10-01 17:06:18.664 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint P07BDD0 for id 0 added, geoEntries: 31
10-01 17:06:18.665 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint S25XTYN for id 0 added, geoEntries: 32
10-01 17:06:18.665 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint PK4AGCP for id 0 added, geoEntries: 33
10-01 17:06:18.666 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint P06R2VW for id 0 added, geoEntries: 34
10-01 17:06:18.666 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint P134WQN for id 0 added, geoEntries: 35
10-01 17:06:18.667 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 0178Q1X for id 0 added, geoEntries: 36
10-01 17:06:18.668 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Waypoint 0278Q1X for id 0 added, geoEntries: 37
10-01 17:06:18.668 10017 17840 D cgeo    : [RxNewThreadScheduler-15] Layers for id 0 synced. Codes removed: 0, new codes: 18, geoEntries: 37
10-01 17:06:19.450 10017 17843 D cgeo    : [OkHttp] 400 [Bad Request] (1075 ms) GET https://www.geocaching.com/api/proxy/web/search?box=48.758792%2C11.835909%2C48.758792%2C11.835909&take=500&asc=true&skip=0&sort=distance&origin=48.758792%2C11.835909&app=cgeo (http/1.1)
10-01 17:06:19.450 10017 10057 W cgeo    : [network--4] parallelCombineActive: swallowing error from connector cgeo.geocaching.connector.gc.GCConnector@67fe2bc
10-01 17:06:19.450 10017 10057 W cgeo    : java.lang.RuntimeException: java.io.IOException: request was not successful
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:94)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3645)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.connector.gc.GCWebAPI.searchMap(GCWebAPI.java:414)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.connector.gc.GCMap.searchPlayMapByViewport(GCMap.java:133)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.connector.gc.GCMap.searchByViewport(GCMap.java:105)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.connector.gc.GCConnector.searchByViewport(GCConnector.java:261)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.connector.ConnectorFactory.lambda$searchByViewport$0(ConnectorFactory.java:346)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.connector.-$$Lambda$ConnectorFactory$xlYIDnOeDkjd0u5VT0oIRtPq6Zk.apply(Unknown Source:4)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.SearchResult.lambda$null$0(SearchResult.java:327)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.-$$Lambda$SearchResult$S4Ub23vsnqWr5X8nr-1svPn50lg.call(Unknown Source:4)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:47)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5317)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:41)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:28)
10-01 17:06:19.450 10017 10057 W cgeo    :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10-01 17:06:19.450 10017 10057 W cgeo    :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
10-01 17:06:19.450 10017 10057 W cgeo    :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
10-01 17:06:19.450 10017 10057 W cgeo    :  at java.lang.Thread.run(Thread.java:764)
10-01 17:06:19.450 10017 10057 W cgeo    : Caused by: java.io.IOException: request was not successful
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.network.Network.lambda$static$6(Network.java:621)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.network.-$$Lambda$Network$S1n6XPPgWcknnAjXJlYG-giT7W4.apply(Unknown Source:2)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:77)
10-01 17:06:19.450 10017 10057 W cgeo    :  at io.reactivex.rxjava3.internal.operators.single.SingleCreate$Emitter.onSuccess(SingleCreate.java:68)
10-01 17:06:19.450 10017 10057 W cgeo    :  at cgeo.geocaching.utils.RxOkHttpUtils$1.onResponse(RxOkHttpUtils.java:48)
10-01 17:06:19.450 10017 10057 W cgeo    :  at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:504)
10-01 17:06:19.450 10017 10057 W cgeo    :  ... 3 more
10-01 17:06:19.451 10017 17841 D cgeo    : [RxNewThreadScheduler-16] Filtering out 0 caches: []
10-01 17:06:19.451 10017 17841 D cgeo    : [RxNewThreadScheduler-16] Live caches found: 0
10-01 17:06:19.453 10017 17841 D cgeo    : [RxNewThreadScheduler-16] searchByViewport: cached=false, results=0, viewport=null
10-01 17:06:19.454 10017 10100 D cgeo    : [network--7] GCMap.searchPlayMapByViewport(N 48° 42,411' · E 011° 47,373',N 48° 48,644' · E 011° 52,935')
10-01 17:06:19.455 10017 17843 D cgeo    : [OkHttp] GET https://www.geocaching.com/api/proxy/web/search?box=48.810732%2C11.789557%2C48.706848%2C11.882257&take=500&asc=true&skip=0&sort=distance&origin=48.75879%2C11.835907&app=cgeo
10-01 17:06:19.458 10017 17857 D cgeo    : [OkHttp] GET https://www.opencaching.de/okapi/services/caches/shortcuts/search_and_retrieve?langpref=de%7Cen&oauth_consumer_key=J6M7x5rNz9YFJX38fE9n&oauth_nonce=bb61e821be8f1aa1ad10aaddfb920d6b&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1601564779&oauth_token=UDvnPBjPKJd3TqEsQFL4&oauth_version=1.0&retr_method=services%2Fcaches%2Fgeocaches&retr_params=%7B%22fields%22%3A%20%22code%7Cname%7Clocation%7Ctype%7Cstatus%7Cdifficulty%7Cterrain%7Csize%7Csize2%7Cdate_hidden%7Ctrackables_count%7Cis_found%22%7D&search_method=services%2Fcaches%2Fsearch%2Fbbox&search_params=%7B%22bbox%22%3A%2248.706848%7C11.789557%7C48.810732%7C11.882257%22%2C%22status%22%3A%22Available%7CTemporarily%20unavailable%22%2C%22ignored_status%22%3A%22notignored_only%22%7D&wrap=true&oauth_signature=tN1sX%2B3TPlel9uh6Kdt6ayYUL64%3D
10-01 17:06:19.806 10017 17857 D cgeo    : [OkHttp] 200 (348 ms) GET https://www.opencaching.de/okapi/services/caches/shortcuts/search_and_retrieve?langpref=de%7Cen&oauth_consumer_key=J6M7x5rNz9YFJX38fE9n&oauth_nonce=bb61e821be8f1aa1ad10aaddfb920d6b&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1601564779&oauth_token=UDvnPBjPKJd3TqEsQFL4&oauth_version=1.0&retr_method=services%2Fcaches%2Fgeocaches&retr_params=%7B%22fields%22%3A%20%22code%7Cname%7Clocation%7Ctype%7Cstatus%7Cdifficulty%7Cterrain%7Csize%7Csize2%7Cdate_hidden%7Ctrackables_count%7Cis_found%22%7D&search_method=services%2Fcaches%2Fsearch%2Fbbox&search_params=%7B%22bbox%22%3A%2248.706848%7C11.789557%7C48.810732%7C11.882257%22%2C%22status%22%3A%22Available%7CTemporarily%20unavailable%22%2C%22ignored_status%22%3A%22notignored_only%22%7D&wrap=true&oauth_signature=tN1sX%2B3TPlel9uh6Kdt6ayYUL64%3D (http/1.1)
10-01 17:06:19.808 10017 10048 D cgeo    : [network--2] Loading OC611B A93 Siegenburg from DB
10-01 17:06:19.818 10017 10048 D cgeo    : [network--2] DataStore.loadCaches([OC14AEF]) returned no results
10-01 17:06:19.820 10017 10048 D cgeo    : [network--2] DataStore.loadCaches([OCC3E3]) returned no results
10-01 17:06:19.822 10017 10048 D cgeo    : [network--2] DataStore.loadCaches([OC137AE]) returned no results
10-01 17:06:19.824 10017 10048 D cgeo    : [network--2] DataStore.loadCaches([OC34C7]) returned no results
10-01 17:06:19.826 10017 10048 D cgeo    : [network--2] DataStore.loadCaches([OC163BA]) returned no results
10-01 17:06:19.827 10017 10048 D cgeo    : [network--2] DataStore.loadCaches([OC163B9]) returned no results
10-01 17:06:19.829 10017 10048 D cgeo    : [network--2] DataStore.loadCaches([OCC75C]) returned no results
10-01 17:06:19.831 10017 10017 D cgeo    : [main] NewMap: onPause
10-01 17:06:19.831 10017 10048 D cgeo    : [network--2] OC returning 10 caches from search by viewport
10-01 17:06:20.214 10017 10017 D cgeo    : [main] NewMap: onStop
10-01 17:06:20.214 10017 10038 D cgeo    : [looper callbacks] RotationProvider: unregistering listener
10-01 17:06:20.215 10017 10017 D cgeo    : [main] AbtsractCacheOverlay: onDestroy overlay 2
10-01 17:06:20.215 10017 10017 D cgeo    : [main] Layers for id 2 cleared, remaining geoEntries: 18
10-01 17:06:20.215 10017 10017 D cgeo    : [main] AbtsractCacheOverlay: onDestroy overlay 3
10-01 17:06:20.216 10017 10017 D cgeo    : [main] Layers for id 3 cleared, remaining geoEntries: 18
10-01 17:06:20.223 10017 10017 D cgeo    : [main] NewMap: onDestroy
10-01 17:06:20.227 10017 17843 W cgeo    : [OkHttp] Failure (772 ms) GET https://www.geocaching.com/api/proxy/web/search?box=48.810732%2C11.789557%2C48.706848%2C11.882257&take=500&asc=true&skip=0&sort=distance&origin=48.75879%2C11.835907&app=cgeo (java.net.SocketException: Socket closed)
10-01 17:06:20.227 10017 10100 W cgeo    : [network--7] parallelCombineActive: swallowing error from connector cgeo.geocaching.connector.gc.GCConnector@67fe2bc
10-01 17:06:20.227 10017 10100 W cgeo    : java.lang.RuntimeException: java.lang.InterruptedException
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:89)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3645)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.connector.gc.GCWebAPI.searchMap(GCWebAPI.java:414)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.connector.gc.GCMap.searchPlayMapByViewport(GCMap.java:133)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.connector.gc.GCMap.searchByViewport(GCMap.java:105)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.connector.gc.GCConnector.searchByViewport(GCConnector.java:261)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.connector.ConnectorFactory.lambda$searchByViewport$0(ConnectorFactory.java:346)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.connector.-$$Lambda$ConnectorFactory$xlYIDnOeDkjd0u5VT0oIRtPq6Zk.apply(Unknown Source:4)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.SearchResult.lambda$null$0(SearchResult.java:327)
10-01 17:06:20.227 10017 10100 W cgeo    :  at cgeo.geocaching.-$$Lambda$SearchResult$S4Ub23vsnqWr5X8nr-1svPn50lg.call(Unknown Source:4)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromCallable.subscribeActual(MaybeFromCallable.java:47)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5317)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.internal.operators.maybe.MaybeSubscribeOn$SubscribeTask.run(MaybeSubscribeOn.java:54)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:41)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.internal.schedulers.ScheduledDirectTask.call(ScheduledDirectTask.java:28)
10-01 17:06:20.227 10017 10100 W cgeo    :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10-01 17:06:20.227 10017 10100 W cgeo    :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
10-01 17:06:20.227 10017 10100 W cgeo    :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
10-01 17:06:20.227 10017 10100 W cgeo    :  at java.lang.Thread.run(Thread.java:764)
10-01 17:06:20.227 10017 10100 W cgeo    : Caused by: java.lang.InterruptedException
10-01 17:06:20.227 10017 10100 W cgeo    :  at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1022)
10-01 17:06:20.227 10017 10100 W cgeo    :  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1328)
10-01 17:06:20.227 10017 10100 W cgeo    :  at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
10-01 17:06:20.227 10017 10100 W cgeo    :  at io.reactivex.rxjava3.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:86)
10-01 17:06:20.227 10017 10100 W cgeo    :  ... 18 more
10-01 17:06:20.227 10017 17841 W cgeo    : [RxNewThreadScheduler-16] LiveCachesOverlay.startLoadtimer.start
10-01 17:06:20.227 10017 17841 W cgeo    : java.lang.RuntimeException: java.lang.InterruptedException
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:89)
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.core.Single.blockingGet(Single.java:3645)
10-01 17:06:20.227 10017 17841 W cgeo    :  at cgeo.geocaching.SearchResult.parallelCombineActive(SearchResult.java:336)
10-01 17:06:20.227 10017 17841 W cgeo    :  at cgeo.geocaching.connector.ConnectorFactory.searchByViewport(ConnectorFactory.java:346)
10-01 17:06:20.227 10017 17841 W cgeo    :  at cgeo.geocaching.maps.mapsforge.v6.caches.LiveCachesOverlay.download(LiveCachesOverlay.java:104)
10-01 17:06:20.227 10017 17841 W cgeo    :  at cgeo.geocaching.maps.mapsforge.v6.caches.LiveCachesOverlay.access$100(LiveCachesOverlay.java:28)
10-01 17:06:20.227 10017 17841 W cgeo    :  at cgeo.geocaching.maps.mapsforge.v6.caches.LiveCachesOverlay$LoadTimerAction.run(LiveCachesOverlay.java:83)
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.core.Scheduler$PeriodicDirectTask.run(Scheduler.java:566)
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.core.Scheduler$Worker$PeriodicTask.run(Scheduler.java:513)
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.lang.Thread.run(Thread.java:764)
10-01 17:06:20.227 10017 17841 W cgeo    : Caused by: java.lang.InterruptedException
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1022)
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1328)
10-01 17:06:20.227 10017 17841 W cgeo    :  at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:232)
10-01 17:06:20.227 10017 17841 W cgeo    :  at io.reactivex.rxjava3.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:86)
10-01 17:06:20.227 10017 17841 W cgeo    :  ... 15 more
10-01 17:06:20.233 10017 10017 D cgeo    : [main] ResourceBitmapCacheMonitor.release
10-01 17:06:20.233 10017 10017 D cgeo    : [main] ResourceBitmapCacheMonitor.clearResourceBitmaps
10-01 17:06:25.088 10017 10017 I cgeo    : [main] Added '/storage/emulated/0/Android/data/cgeo.geocaching/files' as available external dir
10-01 17:06:27.506 10017 10038 D cgeo    : [looper callbacks] LocationProvider: stopping location requests

This is in fact the very same observation I made.
Corresponding LogCats see my previous posting.

I just used Lockito (Nice app BTW) to let the live map follow me while virtually driving.

I do see some problem:

  • At some point caches are no longer shown: I was moving west to east on the map through a high dense cache area, but suddenly caches on map are cut off north to south, which is most likely the bounding box, where caches have been loaded.
  • Moving further east no caches load
  • When moving the map by hand or changing the zoom the caches almost instantly appear and I did (at least in this case) not see any parallel network request.

-> This makes me think, that there is a failure in updating the screen rather than loading new caches from the server.

Remark:
Of course there might be other problems (as seen in the stack trace above) which can produce errors, but we can probably not fix those. But if there is (additionally) a problem in our code preventing loaded caches from being shown on the map, it could explain why quite many users claim this problem.

Thx for the link - just knew Fake GPS. which is sometimes hard to use, not even thought of trying to simulate movements.

As for your observations: Can not yet approve, but at least kind of affirm your assumption regarding the network side, as right now I remember that the eventually empty map gets always cluttered with caches really fast after un- and re-setting Enable live (which is my "FixIt"), even in areas with pretty poor network coverage. Next time will even try to disable mobile data prior to un- and re-setting Enable live.

An affected user tested this problem while driving his daily route and reported, that it only appears on all OSM types (online and offline) but both Google variants are OK.

If this is true, it might help to track down the issue as it probably means, that is rather the map code than any communication related code.

@moving-bits
Do you remember when we discussed and you implemented the caching mechanism to reduce network requests. Maybe you can take a look if anything in Newmap blocks the caches retrieved from network or cache to be drawn on the map, There could be a difference between Google and Newmap at this point.

This issue is bothering many users at this moment. Let me try to summarize what we know:

  • Typical scenario;

    • Users driving/moving while live map is active with "follow my position" activated

    • After "some time" it stops showing new caches

    • Can be fixed by slightly moving the map manually or zooming out/in

  • Does only appear on OSM/Offline. GMaps seems not affected

Conclusions (at least from my perspective):

  • It cannot easily be related to server communication as only one map is affected
  • As function is restored by moving the map manually although the map is anyway automatically moved due to device movement it could be a problem that just affects the drawing of caches on map

@moving-bits
See my question above:
Is there any difference in the caching mechanism or in how OSM maps are updated/drawn depending on "follow my position" or manual movement?

@Narrat @MagpieFourtyTwo
When this problems appear for you:
Do also the already shown caches suddenly vanish when the problem appears or is it like, that the shown caches are moving out of view but no new ones appear?

The latter: Just no new caches will be shown.

I would consider this a "drawing problem", too, as new ones are shown immediately after the actions, @Lineflyer listed above (plus "disable/enable live"), even when data connection has been switched off prior to performing one of these actions.

Found the cause and will provide a PR soon.

On releaseI presume?

Yes please, unless you are unsure about possible impacts or regressions. In that case we could use master to enable a beta phase.
But preferably for our users would be to release it as a bug fix rather short termed.

Cause of this problem is:

  • There is a timer checking every 250ms for various conditions whether to update displayed caches. This includes checking whether map viewport has changed, but also when zooming was done etc
  • Movement is checked by comparing viewport from previous check cycle to current viewport
  • Problem is: if in 250ms we move only a distance too short to trigger "moved" flag -> then the update is not triggered at all

Class is LiveCachesOverlay

I changed this so that previous viewport is only set if update is triggered. But then a new problem arises: when simulating higher speed (e.g. a vehicle moving) this triggers an update almost EVERY cycle. This again results in HTTP429 ("too many requests") by gc.com.

Thus I added a grace period: movement-based updates will only be triggered at most every 10 seconds. Hope that's fine? (I tried 5 seconds before, this still results in occasional HTTP429)

Created PR #9352

Also checked again in code:
If I am not mistaken, in currently released version of c:geo, in order to trigger refresh of caches based on movement, one has to move more than 1/4 of it's viewport in 250ms (and yes, this is easier to reach if you are zoomed in very much and probably not realistically reachable if you are zoomed out a bit). You might use this information for verification of this bug on you devicese

As the last implementer of this code, I don't fully buy your analysis.
The intention is, to request caches in an area which is 25% larger than the visible viewport on every side and therefore an update is only necessary if the viewport was moved by 1/4.
This is checked every 250ms, but if no move was detected, the reference for the next comparison should not change, so the time-span that the movement takes shouldn't doesn't matter.
Unfortunately I didn't have time to look at the code (and changes to it) for quite some time, but I think the logic still holds.
If there is in addition a necessity to rate-limit the request to one of the connectors, this is something I would rather solve there.

Let us be very sensible when it comes to request frequency towards the server, so we should carefully evaluate the changes.
@rsudev I remember this strategy and it should still be included in principle, but some months ago @moving-bits performed changes in this area to improve the caching mechanism to further reduce requests towards the server.

@Lineflyer I am all in for not unnecessarily overloading any of the servers we support.
BTW, I do not consider using the live map while driving a sensible use case...

As the last implementer of this code, I don't fully buy your analysis.

Hi @rsudev my analysis might be false, because I saw the code today the very first time, but it seems to be backed by tests I made.

Here is the core relevant piece of code. This is the run() method executed every 250ms to refresh the cache overlay

https://github.com/cgeo/cgeo/blob/fe3feda7dc14f6d94eeb50c84d77781feba35d71/main/src/cgeo/geocaching/maps/mapsforge/v6/caches/LiveCachesOverlay.java#L58-L96

My core finding is that in line 88, previoosViewportis set to viewportNoweven if movedis not true (and thus an update of the caches was not triggered). This means that, in order to trigger a cache refresh based on movement alone (assuming no rezooming happened) and assuming that there is no download currently in progress, mapMoved() has to be true when comparing the current viewport with exactly the viewport of the last cycle 250ms ago. Ergo: one has to move 1/4 of the viewport in 250ms to trigger this refresh.

There might be an error in my analysis of course, but up to now I did not find it.

Indeed a very simple manual test seems to proof the finding of @eddiemuc

  • Start OSM live map
  • Move <1/4 of the screen continously every few seconds (>>250ms)

Quite soon you end up with no caches on the map until you zoom or move more than 1/4
On GMaps it is working

@rsudev
I do use it on my bike which pretty easily triggers this issue. And I consider it a sensible use case as a single request could be enough to populate the map for half an hour cycling if we do it in a clever way.

@eddiemuc To be a little bit more save concerning our server usage: Could you compare your proposed fix with the code we use for GMaps? Because as far as we know we do not have this problem in that map and we also know, that Groundspeak did not complain about that amount of requests currently generated by c:geo production versions (assuming a relatively large percentage might use Google Maps).

assuming a relatively large percentage might use Google Maps

Just wondered how you come to this assumption.
Cause most of at least my GC friends are using offline OSM maps ... and some OSM online ... until they find one to explain how this offline thingy is working ... ;)
But in fact I don't know a single one who uses GM for caching, as it has no trails at all.
And GSat is eating way too much data plan.

My core finding is that in line 88, previoosViewportis set to viewportNoweven if movedis not true (and thus an update of the caches was not triggered). This means that, in order to trigger a cache refresh based on movement alone (assuming no rezooming happened) and assuming that there is no download currently in progress, mapMoved() has to be true when comparing the current viewport with exactly the viewport of the last cycle 250ms ago. Ergo: one has to move 1/4 of the viewport in 250ms to trigger this refresh.

If that is the case, than it is clearly a bug (introduced by me initially or later) which needs to be remedied. I am not sure why a rework of the logic as such should be necessary.

@eddiemuc To be a little bit more save concerning our server usage: Could you compare your proposed fix with the code we use for GMaps?

I did it this morning. For GMaps (if I just follow a track, so I have continuous movement but no other update triggers like e.g. rezoom) it seems to refresh every second.
(@rsudev I also see that for GMap there is almost identical code doing this, except that here the previousViewportis only set to viewportNowwhen moved is true, and there is an additional safeguard of 1 second there. This is in CgeoMap.LoadTimerAction if you're interested)

But at GMaps my use case leads also to the same HTTP429 ("too many requests") exceptions!

To be fair, my test case is unrealistic: I asked the emulator to follow a route from one city to the other via car and replayed that route at 5-times-speed. This shows that such frequent update calls to the servers, although possible by the code, are not likely to occur in real-life. In real-life (in GMaps and after the fix also in OSM/Offline) an update call will happen whenever you travveled approx. 1/4 of your viewport (depending on your zoom level this might be more or less distance). Still I think we should protect c:geo against issuing too many server calls resulting in HTTP 429.

Should I increase the safeguard timespan to 10 seconds for GOogle Maps as well?

I'm of course not that deep in the implementation details and don't really know about the really needed intervals,
but following the thread as an external observer I ask myself every now and then if timers and distances that short are really necessary ...?

Maybe I'm on the wrong track, but what should happen in 250 ms? Even with 200 km/h you're moving just 14 m per 250 ms - so I wonder if this time and distance is really worth an update request (even if it's not reaching the server, because the viewport has (of course) not changed that much)? And, given the (admittedly not really sensefull, but possible) case, one has zoomed to 50 m, moving with 200 km/h, thus really crossing the limit every single (or second) trigger - how many caches would a new request will bring, with regard to his distance made in the meantime, which is in fact just a fraction of the minimum distance of 161 m between caches ...?

My thoughts: Wouldn't it be better, to decrease a) the timer and b) the frequency of server requests and OTOH a) increase the number of caches requested (thus increasing the request area) and b) implementing some look ahead logic ...? So, in fact redesign the update strategy, art least the one regarding movement of viewpoint?

In a first brain storm I would suggest ...

  • a look ahead for the (main) direction, the device is moving (e. g. calc the average over a reasonable subset of track points?)
  • pre-load a map region in this direction twice or thrice the region size which is currently loaded (e. g. by moving the viewpoint from center of screen by a reasonable distance in the estimated direction)
  • use a minimum size of request region, at least twice or thrice the minimum distance caches have to have
    (I'm aware of overlapping caches from different servers and probably existing lower distances on other platforms than gc.com, nevertheless I would say, these 161 m are a good rule of thumb, cause density appears to be highest on gc.com anyway)
  • in consequence do no updates below this distance (cause all caches in this direction are already loaded anyway)
  • remember the outer edges of my last update request region and update (in this direction), when an edge will most probably be hit in a distance)
  • ... tbc

Thus I added a grace period: movement-based updates will only be triggered at most every 10 seconds.

Will this also affect manual movements of the map or only when the map is centered to the GPS position? For manual movements 10s are way too much and will strongly affected the usability of the live map! But for position tracking 10s or even more should be fine...

But as this fix seems to be a bit more complicated, testing it at nightly/beta should be the way to go IMHO

Rereading the thread I have the impression that I have been misunderstood a bit. I did for sure not want to state that there is no bug in the current implementation.
But I don't see the necessity of a redesign, in this place, just the need to fix the issue, that the previousViewport is updated when it shouldn't (the current GMaps code emerged from the same base implementation as the NewMap, which was the first map implementation in c:geo).
I would also suggest to research in the source history when this bug was introduced and why, in order to understand if the fix would introduce another issue again.
Regarding the intervals, it is about responsiveness. If you do a few quick swipes to explore a region, I would be surprised if you hit the gc.com rate limit (and please also don't forget that we currently support eight other geocaching platforms as well).

@MagpieFourtyTwo as @rsudev correctly stated, the 250ms is necessary because this span defines the minmal reaction time of c:geo as a response for any user action. If we would e.g. increase the cycle time to 5s, then e.g. after a manual rezoom of the map it would take up to 5s until cache refresh is started. I am with @rsudev that we should not redesign this logic.

@fm-sys this will also impact manual movement. At this place in code I think we cannot distinguish "manual" movements from "automated" movements. The first manual movement will trigger refresh immediately. If there is a second one within the next 10s, update will be triggerd for this second movement only after 10s.

@rsudev I am with you that we should not touch the current design in total. But I think there is a flaw which can result in too many server requests issued, also in the old code. This I would address. Doing this currently with a simple time limit is because this is for release (so changes should stay simple). Overall I could think of more intelligent logics to do that, e.g. an increasing amount of waiting time if too many movement are registered (first 1s, then 2s, then 5s, then 10s), same for zoom btw (if a user zooms in/out very fast, this might also trigger too many server requests). In general, even if other services than gc.com don't issue HTTP429, we should do our best to restrict the number of calls to them

For those interested: Problem was introduced with 72ae3c170f2457e5fc9946f7ee45b847cfc9bc99 on 10.5.20

In order not to mix up different things:

  • I created PR #9355. This PR will ONLY fix the movement problem for OSM/Offline (same way that this is done for GoogleMaps), but NOT the HTTP429 problem. This will still occur (like today with GoogleMaps
  • I created Issue #9354 for the HTTP429 problem, we can discuss this separately there if need be.

I think that is the cleanest solution for now.

When searching caches via the life map, no one wants to wait 10 seconds until caches are loaded. This is (most of the time 😉) working with the current implementation and will raise much negative feedback if we change it as far as I guess.

When searching caches via the life map, no one wants to wait 10 seconds until caches are loaded. This is (most of the time 😉) working with the current implementation and will raise much negative feedback if we change it as far as I guess.

9355 does not contain the 10s waiting time any more. HTTP429 will still happen though, see #9354.

@Narrat @MagpieFourtyTwo
When this problems appear for you:
Do also the already shown caches suddenly vanish when the problem appears or is it like, that the shown caches are moving out of view but no new ones appear?

I noticed both cases. So maybe two different issues. But before I look further into reproducing the vanishing behaviour, I wait what happens with the currently discussed issue and the fix for it included in a release :)

I know that this GIF will probably not be very helpful (oh, and sorry that I had to crop and pixel out most of the screen) but just want to share the discovery I have made. It is not really reproducible, but sometimes even caches that are stored offline can disappear...
ezgif-2-f461af1f7efd

@fm-sys Right. But this is a different problem. There is still a bug in the synchronization of the caches in an area and the layerlist in the new map which I couldn't yet nail down.

The "offline caches are missing" bug is still there. Reopen or create a new issue for it?

The "offline caches are missing" bug is still there. Reopen or create a new issue for it?

Since this issue already has a lot of replies in regard to the other issue, it's probably easier to open a separate issue for this.

Was this page helpful?
0 / 5 - 0 ratings