![]() |
2015-08-22
, 16:18
|
Posts: 54 |
Thanked: 54 times |
Joined on Dec 2013
@ Austria
|
#1842
|
The Following User Says Thank You to Shadowdog For This Useful Post: | ||
![]() |
2015-09-04
, 23:08
|
Posts: 1,378 |
Thanked: 1,604 times |
Joined on Jun 2010
@ Göteborg, Sweden
|
#1844
|
![]() |
2015-09-05
, 10:04
|
Posts: 1,378 |
Thanked: 1,604 times |
Joined on Jun 2010
@ Göteborg, Sweden
|
#1845
|
![]() |
2015-09-05
, 11:39
|
Posts: 1,548 |
Thanked: 7,510 times |
Joined on Apr 2010
@ Czech Republic
|
#1846
|
As promised, I have started to look at map layers that are not returning tiles. I will add to this list, cumulatively, as I plow through (nope, no need - finished!). Using,debug logging to file, I am examining the errors generated, then checking the logged URLs in a browser to see if anything revealing comes up. So far:
1) Yandex - returns tiles, but never for the correct coords - what system is it using?
3) Virtual Earth - fails invalid request URL, URL seems malformed (true for all map types)
4) MapQuest Satell. - Service Unavailable (MapQuest Map OK!)
Debug logfile for the above available, if needed.
Not tested: Freemap.sk, Czech.
In addition: batch download around a route appears as if it is completing (and certainly takes it's time) but subsequent off-line driving quickly shows that many of the tiles are not available, at the zoom levels requested. I know this for certain but will need to run a separate test with debug logging enabled to see wots wot.
By the way, I tried v 0.52.10 on a low end Android tablet and map tile display was porked, with every 2nd tile displayed along a row and then a row missing altogether and so on. OSM Cycle but I think it affects all.
![]() |
2015-09-05
, 12:27
|
Posts: 1,548 |
Thanked: 7,510 times |
Joined on Apr 2010
@ Czech Republic
|
#1847
|
Two questions:
1) Do normal map tiles 'expire'? It'd be ideal if the app could check whether tiles were up to date if they're older than a certain age and still being used, though if that isn't possible just having an option to flush them after a year or so would be good.
2) Don't copy-on-write filesystems have terrible performance for databases? I read older versions of BTRFS were notorious, and Sailfish has an oldish one...
Files with a lot of random writes can become heavily fragmented (10000+ extents) causing trashing on HDDs and excessive multi-second spikes of CPU load on systems with an SSD or large amount a RAM.
I'm wondering whether creating a subvol without COW for the maps, or perhaps just tuning down the write frequency massively in the config file might help performance (not sure I'm brave enough to try the former - and I'm certainly not suggesting anyone else should, unless they know what they're doing...)
Disable it by mounting with nodatacow. This implies nodatasum as well. COW may still happen if a snapshot is taken. However COW will still be maintained for existing files, because the COW status can be modified only for empty or newly created files.
Love the app, but hitting some weird problems on sqlite where it seems to refuse to load tiles it has clearly loaded before. Still, I realise it's early days yet for the port. I'll try to capture some debug output if I can.
This is a log from when the database seems to 'lock up', apparently refusing to load tiles it has already downloaded. I'm not 100% sure how to trigger it, but generally scrolling around and zooming in and out in an area I haven't yet downloaded works reliably eventually. I've left it in that state for 1/2 hour probably, and it doesn't recover - though interestingly, it does seem to be able to load other tiles sometimes (e.g. if I zoom really far out) - it just seems to choke on certain particular areas of map, but after closing the program and relaunching it, and sometimes even just by zooming out then back in again, those areas of map will draw fine.
http://pastebin.com/dVuPYC4k
Quite a few examples of this:
Code:Traceback (most recent call last): File "modules/gui_modules/gui_qt5/gui_qt5.py", line 302, in _selectImageProviderCB return self._imageProviders[providerId].getImage(imageId, requestedSize) File "modules/gui_modules/gui_qt5/gui_qt5.py", line 599, in getImage log.exception() TypeError: exception() missing 1 required positional argument: 'msg' 2015-08-13 00:53:58,644 ERROR mod.gui.qt5: tile image provider: loading tile failed 2015-08-13 00:53:58,652 ERROR mod.gui.qt5: mainMap/mapnik/13/4094/2727 2015-08-13 00:53:58,655 ERROR mod.gui.qt5: (-1, -1) 2015-08-13 00:53:58,658 ERROR mod.gui.qt5: image loading failed, imageId: tile/mainMap/mapnik/13/4094/2727 Traceback (most recent call last): File "modules/gui_modules/gui_qt5/gui_qt5.py", line 579, in getImage download=False) File "modules/mod_mapTiles/mod_mapTiles.py", line 211, in getTile tileData = self._storeTiles.getTileData(lzxy) File "modules/mod_storeTiles.py", line 369, in getTileData return self._getTileDataFromSqlite(lzxy) File "modules/mod_storeTiles.py", line 385, in _getTileDataFromSqlite result = self.getTileFromDb(lookupConn, dbFolderPath, lzxy) File "modules/mod_storeTiles.py", line 455, in getTileFromDb (z, x, y)) sqlite3.OperationalError: database is locked
Side note:
Due to a bug, it seems it's currently impossible to send the logs via the Jolla mail client using gmail, unless you rename them (removing the #).
https://together.jolla.com/question/...ent-via-gmail/
I guess there wont be any further updates for modRana for Meego!?? Is it possible to use offline map data, lets say from here http://download.geofabrik.de/ ?
![]() |
2015-09-05
, 17:49
|
Posts: 187 |
Thanked: 514 times |
Joined on Nov 2014
|
#1848
|
...
My suggestion would be to use a uSD card formated with a sane filesystem (EXT4) and store your tiles there.
...
Or you can just symlink the folder modRana uses for map data storage by default to somewhere on the uSD card:
/home/nemo/.local/share/harbour-modrana/maps
...
![]() |
2015-09-07
, 12:32
|
Posts: 3,328 |
Thanked: 4,476 times |
Joined on May 2011
@ Poland
|
#1849
|
![]() |
2015-09-14
, 12:38
|
Posts: 61 |
Thanked: 83 times |
Joined on Feb 2010
@ Estonia
|
#1850
|
![]() |
Tags |
bada rox, martin_rocks, modrana, navigation, openstreetmap, the best, wehasgps |
Thread Tools | |
|
You can remove the COW attribute from a directory, without having to create a whole new subvolume, which sounded a lot less scary. So I closed modRana, mv'ed /home/nemo/.local/share/harbour-modrana/maps out of the way, recreated the directory, ran 'chattr +C' on it (you should theoretically be able to copy the map tiles back into the new directory, and they should inherit the attribute... but I didn't try that), and finally restarted modRana.
So far no major drama, performance seems *slightly* better, and it seems harder (though not impossible) to cause the complete lock-ups... but it could be placebo, or it could be the fact that I recreated the database afresh. I guess I'll find out after a few days.
(please be very aware that I don't really know what I'm doing ... so if you try this and it borks your phone, it's your fault, not mine
---
eta- two possibly useful things to note: When the program does lock up, one seemingly reliable way to unlock it is to wait a few minutes, then switch to another main map layer, pan / zoom around a bit, and switch back again. And if you run netstat in a terminal when it's locked up, you get a lot of connections to mapservers in a "CLOSE_WAIT" state, which seems like it could be a clue for a programmer.
Last edited by MikeHG; 2015-08-15 at 14:14.