otsaloma / poor-maps

Maps and navigation for Sailfish OS
https://openrepos.net/content/otsaloma/poor-maps
GNU General Public License v3.0
43 stars 10 forks source link

Poor maps crash during navigation #61

Closed atlochowski closed 6 years ago

atlochowski commented 6 years ago

As in title. I tested it on Jolla 1 and Jolla C with the same result. When I enter the map and start navigation and then turn off screen by pressing the power button. After turning on screen by power button and then swipe from lock screen to home screen app crashes. Not always but often.

otsaloma commented 6 years ago

I think I saw this once myself too after the Lapuanjoki update, but that was only once, I haven't managed to reproduce it.

atlochowski commented 6 years ago

I can reproduce it as many times as I want. Tell me how to provide logs.

otsaloma commented 6 years ago

I need the console output, so run Poor Maps from the command line using

sailfish-qml harbour-poor-maps > poor-maps.log 2>> poor-maps.log

and then just copy that log file.

atlochowski commented 6 years ago

poor-maps.log poor-logs_3.log poor-logs_2.log poor-logs.log

otsaloma commented 6 years ago

The relevant part seems to be "Naruszenie ochrony pamięci", which according to Google translate is "Memory protection violation", i.e. maybe a segfault.

If it's related to navigation, my guess is that it's due to the canvas used for the route polyline. One thing you could try is to revert the below commit, i.e. edit the file /usr/share/harbour-poor-maps/qml/route.qml and remove the "renderTarget: Canvas.FramebufferObject" line.

https://github.com/otsaloma/poor-maps/commit/50760817bd47fee6747b25c98f00cde33fa2bfa9

atlochowski commented 6 years ago

removing this line solved the issue.

otsaloma commented 6 years ago

OK, thanks, I'll have to check if I should revert that commit. The problem is that older devices with weak GPUs and newer ones with big screens have different performance tradeoffs. Maybe I could actually make that renderTarget depend on screen size or DPI...