Opened 8 years ago

Closed 3 months ago

#576 closed defect/bug (fixed)

Android on Freerunner: Navit crashes once a "searched" location is supposed to be viewed on the map.

Reported by: www.google.com/accounts/o8/id?id=aitoawm-dibaa_pzfqwtdgn-ruv8nxiqyta1aoy Owned by: cp15
Priority: major Milestone: version 0.5.1
Component: port/android Version: git master
Severity: normal Keywords: android, segfault
Cc:

Description

Armv4t svn-3291 on freerunner. Maps load fine. TTS disabled. Maps are pannable (maps > 500mb). Once I click on view on map for a location I searched previously the application crahses. see logcat attached.

Attachments (2)

navit-svn-3291.armv4t.logcat (11.2 KB) - added by www.google.com/accounts/o8/id?id=aitoawm-dibaa_pzfqwtdgn-ruv8nxiqyta1aoy 8 years ago.
logcat
aof-cupcake-logcat.txt (11.6 KB) - added by mvglasow (2) 7 years ago.
Debug logcat for AoF crash problem

Download all attachments as: .zip

Change History (12)

Changed 8 years ago by www.google.com/accounts/o8/id?id=aitoawm-dibaa_pzfqwtdgn-ruv8nxiqyta1aoy

logcat

comment:1 Changed 7 years ago by kazer

Mmmm. The logcat doesn't say much, apart that it crashed. Could you turn on debugging, to see if we can get more informations? http://wiki.navit-project.org/index.php/Configuring_Navit#Debugging

comment:2 Changed 7 years ago by mvglasow (2)

  • Summary changed from Navit crashes on Freerunner once a "searched" location is supposed to be viewed on the map. to Android on Freerunner: Navit crashes once a "searched" location is supposed to be viewed on the map.

Modified the summary line to clarify it's Android on Freerunner, not one of the other Freerunner distros.

I am seeing roughly the same thing with r3490 on AoF 0.2.0 RC1: Navit starts up with a blank background (map size is around 50 MB). When I go out to pick up a GPS signal, after some time it crashes. Seems that it happens as soon as it gets a fix.

Indoors, the background remains blank; when I select a location manually and then tap "View on map", Navit crashes.

It appears that the map display somehow crashes Navit.

Oddly, this happens just on the Freerunner; if I run Navit in the emulator (both Freerunner and emulator run cupcake, i.e. 1.5), I can view the map and pan around.

There is also a ticket for AoF which seems to describe the same issue:

http://code.google.com/p/android-on-freerunner/issues/detail?id=141

Not 100% sure if it's Navit or the Android port that is causing the crash (it's the combination of both that is having problems), hence it makes sense to keep the ticket open in both places as long a we can't rule out either for sure.

Mostly speculative: there is an issue in AoF with garbled screen output, which may be a graphics driver problem; there is a small chance that the Navit issue is related, but we need to dig into it more thoroughly to find out.

comment:3 Changed 7 years ago by mvglasow (2)

ps: the screen output issue on Android is at

http://code.google.com/p/android-on-freerunner/issues/detail?id=148

comment:4 Changed 7 years ago by mvglasow (2)

See also

http://code.google.com/p/android-on-freerunner/issues/detail?id=142

This one is a feature request asking for an NDK port. Strange... until now I thought the NDK was generic and code would be compatible with any Android device built upon the same processor architecture. But if the NDK only partly supports Android on Freerunner, this might explain a few things...

Can anyone shed some light on one or more of the following questions?

  • Which features of the NDK are used to build Navit?
  • Which of these are device-specific? What would we need to add to the NDK in order to compile Navit for Android on Freerunner?
  • What is the exact difference between the different Android builds of Navit (android, android-armv4t, android-armv5te)?

comment:5 Changed 7 years ago by mvglasow (2)

I now got an answer from the Android on Freerunner mailing list, which I'm sharing here:

The main difference between Freerunner and "official" Android ports is that the latter use ARMv5 or later, while the Freerunner is ARMv4-based. As a result, some machine instructions are simply not supported on Freerunner, which becomes an issue for native applications.

So that is also the difference between the different Navit builds for Android: android should work on all official ports (using ARMv5 or later), while the Freerunner needs the android-armv4t port. The android-armv4t port should, however, also work on official Android ports.

comment:6 Changed 7 years ago by mvglasow (2)

I'm also forwarding this post from the AoF mailing list:

I tried to run Navit for android (armv4t), both current and svn, on the cupcake 20100130 (yes, it's old but good) and the result is that navit crashes just after have been loaded. I can see the gps icon that works for few second and a blank app titled 'Navit', then it close automatically; I tried also with the navit.xml of mailing list. It seems a ram issue... Here's the logcat:

(logcat follows)

Changed 7 years ago by mvglasow (2)

Debug logcat for AoF crash problem

comment:7 Changed 7 years ago by mvglasow (2)

The logcat shows that Navit is terminated with signal 11 (in line 226).

Signal 11 is SIGSEGV on most Unices and I would almost bet Android is no exception. So it looks like a plain old segfault.

Can anyone tell me what options I need to specify in order to compile Navit for AoF? (Maybe document it in the wiki, while we're at it...) Then I can build it myself and see where the crash occurs.

comment:8 Changed 7 years ago by kazer

  • Milestone set to version 0.2.0

comment:9 Changed 4 years ago by usul

  • Component changed from core to port/android
  • Keywords android segfault added
  • Milestone changed from version 0.2.1 to version 0.5.1
  • Owner changed from KaZeR to cp15

I expect this bug to be more related to android, then to Freerunner/OpenMoko?.

Can anybody confirm, if this had been solved?

comment:10 Changed 3 months ago by http://wiki.navit-project.org/index.php/user:jkoan

  • Resolution set to fixed
  • Severity set to normal
  • Status changed from new to closed

Should work these days. If not please open a new ticket ;)

Note: See TracTickets for help on using tickets.