Opened 2 years ago

Last modified 21 months ago

#1298 new defect/bug

Android: cmd_interface OSDs keep running after quitting Navit, causing SIGSEGV

Reported by: mvglasow (2) Owned by: cp15
Priority: major Milestone:
Component: port/android Version: git master
Severity: normal Keywords:
Cc: http://wiki.navit-project.org/index.php/user:mvglasow, (2)

Description

r6033 disables catching SIGSEGV on Android, which has brought another issue to the daylight: apparently, cmd_interface OSDs are never stopped and continue to run periodically after the user has selected Quit. Some commands (presumably those that read from an already destroyed object) will cause a SIGSEGV and cause a force close alert on Android. See #1297 for a configuration example and log file (which clearly shows the SIGSEGV, or signal 11).

Solution approaches:

  • either, when quitting Navit, destroy cmd_interface commands before everything else (or disable them)
  • or, before triggering a cmd_interface, make sure the user has not quit Navit

I'm logging this as an Android bug, not sure if other platforms are affected (thus the fix should be kept generic).

Change History (2)

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

#1297 is fixed in r6088, it remains to be seen what effect this has on this bug. It might cause these crashes to turn from reproducible ones into sporadic ones (if a cmd_interface were to fire while Navit is shutting down), or make them disappear altogether.

For reproducible results, work on this bug should either be based on r6087 or prior, or the call to NavitDestroy() in Navit.java should be delayed by at least the interval of the cmd_interface to make sure it fires at least once more during shutdown.

comment:2 Changed 21 months ago by mvglasow (2)

  • Cc http://wiki.navit-project.org/index.php/user:mvglasow (2) added
Note: See TracTickets for help on using tickets.