Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#1021 closed defect/bug (fixed)

ARMv4 apk process dies after launch (navit-svn-4972.apk)

Reported by: ah be Owned by: KaZeR
Priority: major Milestone:
Component: core Version: git master
Severity: Keywords:
Cc:

Description

Hi I thought I give navit on android(froyo) running on the old freerunner another try.

Unfortunately I still have the same result as I had it since about half a year ago:

Launing Navit results in

  • Navit icon in the left top corner and "navit is running" next to it
  • Screen becomes black
  • Screen goes back to the one before starting navit
  • Navit icon in the left top corner remains visible

Logcat:

D/KeyguardViewMediator( 956): pokeWakelock(5000) W/InputManagerService( 956): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43d13000 D/dalvikvm( 1033): GC_EXTERNAL_ALLOC freed 7727 objects / 373424 bytes in 108ms I/ActivityManager( 956): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.navitproject.navit/.Navit } I/ActivityManager( 956): Start proc org.navitproject.navit for activity org.navitproject.navit/.Navit: pid=2604 uid=10038 gids={3003, 1015} D/dalvikvm( 2604): Trying to load lib /data/data/org.navitproject.navit/lib/libnavit.so 0x43b145b0 D/dalvikvm( 2604): Added shared lib /data/data/org.navitproject.navit/lib/libnavit.so 0x43b145b0 D/dalvikvm( 2604): No JNI_OnLoad found in /data/data/org.navitproject.navit/lib/libnavit.so 0x43b145b0, skipping init E/Navit ( 2604): 1A android.intent.action.MAIN E/Navit ( 2604): 1D null E/NavitTextTranslations( 2604): initializing translated text ... E/NavitTextTranslations( 2604): trying: exit navit E/NavitTextTranslations( 2604): trying: zoom in E/NavitTextTranslations( 2604): trying: zoom out E/NavitTextTranslations( 2604): trying: address search E/NavitTextTranslations( 2604): trying: Mapdownload E/NavitTextTranslations( 2604): trying: downloading E/NavitTextTranslations( 2604): trying: ETA E/NavitTextTranslations( 2604): trying: Error downloading map! E/NavitTextTranslations( 2604): trying: ready E/NavitTextTranslations( 2604): trying: Ok E/NavitTextTranslations( 2604): trying: No address found E/NavitTextTranslations( 2604): trying: Enter: City and Street E/NavitTextTranslations( 2604): trying: No search string entered E/NavitTextTranslations( 2604): trying: setting destination to E/NavitTextTranslations( 2604): trying: getting search results E/NavitTextTranslations( 2604): trying: searching ... E/NavitTextTranslations( 2604): trying: No Results found! E/NavitTextTranslations( 2604): trying: Map data (c) OpenStreetMap? contributors, CC-BY-SA E/NavitTextTranslations( 2604): trying: partial match E/NavitTextTranslations( 2604): trying: Search E/NavitTextTranslations( 2604): trying: drive here E/NavitTextTranslations( 2604): trying: loading search results E/NavitTextTranslations( 2604): trying: towns E/NavitTextTranslations( 2604): ... ready E/Navit ( 2604): lang=de E/Navit ( 2604): Country1 DE E/Navit ( 2604): Country2 DE E/Navit ( 2604): Language de E/Navit ( 2604): Navit -> pixels x=480 pixels y=640 E/Navit ( 2604): Navit -> dpi=200 E/Navit ( 2604): Navit -> density=1.25 E/Navit ( 2604): Navit -> scaledDensity=1.25 E/Navit ( 2604): Res Name de E/Navit ( 2604): result /data/data/org.navitproject.navit/locale/de/LC_MESSAGES/navit.mo E/Navit ( 2604): Res ID 2130903047 E/Navit ( 2604): Checking /data E/Navit ( 2604): Checking /data/data E/Navit ( 2604): Checking /data/data/org.navitproject.navit E/Navit ( 2604): Checking /data/data/org.navitproject.navit/locale E/Navit ( 2604): Creating dir E/Navit ( 2604): Checking /data/data/org.navitproject.navit/locale/de E/Navit ( 2604): Creating dir E/Navit ( 2604): Checking /data/data/org.navitproject.navit/locale/de/LC_MESSAGES E/Navit ( 2604): Creating dir E/Navit ( 2604): Extracting resource E/Navit ( 2604): Res Name navithdpi E/Navit ( 2604): result /data/data/org.navitproject.navit/share/navit.xml E/Navit ( 2604): Res ID 2130903072 E/Navit ( 2604): Checking /data E/Navit ( 2604): Checking /data/data E/Navit ( 2604): Checking /data/data/org.navitproject.navit E/Navit ( 2604): Checking /data/data/org.navitproject.navit/share E/Navit ( 2604): Extracting resource E/Navit ( 2604): android.os.Build.VERSION.SDK_INT=8 E/test ( 2604): called E/navit ( 2604): navit:Java_org_navitproject_navit_Navit_NavitMain:enter env=0xba50 thiz=0x43b58e18 activity=0x43b58e18 lang=de_DE version=8 E/navit ( 2604): navit:Java_org_navitproject_navit_Navit_NavitMain:*****displaydensity=hdpi I/DEBUG ( 907): * * * * * * * * * * * * * * * * I/DEBUG ( 907): Build fingerprint: 'neo/fr/fr/:2.2.1/OPENMASTER/eng.ran.20110825.013956:eng/test-keys' I/DEBUG ( 907): pid: 2604, tid: 2604 >>> org.navitproject.navit <<< I/DEBUG ( 907): signal 4 (SIGILL), fault addr 8095575c I/DEBUG ( 907): r0 0000014f r1 00000001 r2 00140be0 r3 00140bd0 I/DEBUG ( 907): r4 00000028 r5 00000004 r6 00000010 r7 00000028 I/DEBUG ( 907): r8 00000000 r9 00125800 10 00000000 fp 001257e0 I/DEBUG ( 907): ip 8096fa48 sp beebc778 lr 80955800 pc 8095575c cpsr 20000010 I/DEBUG ( 907): #00 pc 0005575c /data/data/org.navitproject.navit/lib/libnavit.so I/DEBUG ( 907): #01 lr 80955800 /data/data/org.navitproject.navit/lib/libnavit.so I/DEBUG ( 907): I/DEBUG ( 907): code around pc: I/DEBUG ( 907): 8095573c e08f2002 eaffffec 0001a170 00000310 I/DEBUG ( 907): 8095574c 00017ce0 00017cd8 00010198 e2500001 I/DEBUG ( 907): 8095575c 116f0f10 1220001f 13a03001 12800001 I/DEBUG ( 907): 8095576c 11a00013 e59f3010 03a00002 e79f3003 I/DEBUG ( 907): 8095577c e1500003 31a00003 e12fff1e 0001d6d8 I/DEBUG ( 907): I/DEBUG ( 907): code around lr: I/DEBUG ( 907): 809557e0 e35c0000 e5831004 05933008 05823000 I/DEBUG ( 907): 809557f0 e8bd8ff8 e2840002 e1a00180 ebffffd5 I/DEBUG ( 907): 80955800 e1a08000 ebfef0ef e3a03000 e1a01008 I/DEBUG ( 907): 80955810 e5803000 e1a00008 ebfef213 e1a07000 I/DEBUG ( 907): 80955820 ebfef0e8 e3570000 e590a000 0a00003d I/DEBUG ( 907): I/DEBUG ( 907): stack: I/DEBUG ( 907): beebc738 000000ff I/DEBUG ( 907): beebc73c 0000143c I/DEBUG ( 907): beebc740 001257d8 [heap] I/DEBUG ( 907): beebc744 00000800 I/DEBUG ( 907): beebc748 00000000 I/DEBUG ( 907): beebc74c afd11f34 /system/lib/libc.so I/DEBUG ( 907): beebc750 00000000 I/DEBUG ( 907): beebc754 afd11d8c /system/lib/libc.so I/DEBUG ( 907): beebc758 43b654e8 /dev/ashmem/mspace/dalvik-heap/2 (deleted) I/DEBUG ( 907): beebc75c afd0d5e4 /system/lib/libc.so I/DEBUG ( 907): beebc760 00000000 I/DEBUG ( 907): beebc764 afd11f34 /system/lib/libc.so I/DEBUG ( 907): beebc768 00000000 I/DEBUG ( 907): beebc76c afd11d8c /system/lib/libc.so I/DEBUG ( 907): beebc770 e3a07077 I/DEBUG ( 907): beebc774 ef900077 I/DEBUG ( 907): #00 beebc778 00000000 I/DEBUG ( 907): beebc77c 00000024 I/DEBUG ( 907): beebc780 00000004 I/DEBUG ( 907): beebc784 00000020 I/DEBUG ( 907): beebc788 00000028 I/DEBUG ( 907): beebc78c 001257d8 [heap] I/DEBUG ( 907): beebc790 00125800 [heap] I/DEBUG ( 907): beebc794 00000000 I/DEBUG ( 907): beebc798 001257e0 [heap] I/DEBUG ( 907): beebc79c 809565e4 /data/data/org.navitproject.navit/lib/libnavit.so I/DEBUG ( 907): beebc7a0 00140bd0 [heap] I/DEBUG ( 907): beebc7a4 80972e58 /data/data/org.navitproject.navit/lib/libnavit.so I/DEBUG ( 907): beebc7a8 001409d0 [heap] I/DEBUG ( 907): beebc7ac 001417b0 [heap] I/DEBUG ( 907): beebc7b0 00000028 I/DEBUG ( 907): beebc7b4 00000028 I/DEBUG ( 907): beebc7b8 0000028c I/DEBUG ( 907): beebc7bc 80958d50 /data/data/org.navitproject.navit/lib/libnavit.so D/Zygote ( 908): Process 2604 terminated by signal (4) I/ActivityManager( 956): Process org.navitproject.navit (pid 2604) has died. I/UsageStats( 956): Unexpected resume of com.android.launcher while already resumed in org.navitproject.navit W/InputManagerService( 956): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43da47a8 I/power ( 956): * set_screen_state 0 D/StatusBar( 956): DISABLE_EXPAND: yes D

Attachments (6)

navitlogcat.txt (21.2 KB) - added by ah be 6 years ago.
navitlogcat.extracted.navitxml.in.sd.card.directory.txt (7.6 KB) - added by ah be 6 years ago.
navitlogcat.svn-4696.txt (14.2 KB) - added by ah be 6 years ago.
Navit-debug.logcat.txt (11.4 KB) - added by ah be 6 years ago.
Navit.comment16.logcat.txt (24.6 KB) - added by ah be 6 years ago.
Navit.cmake.r6ndk.cmake.option.logcat.txt (26.7 KB) - added by ah be 6 years ago.

Download all attachments as: .zip

Change History (28)

Changed 6 years ago by ah be

comment:1 Changed 6 years ago by korrosa

Thanks for the report.

Looking briefly at the logcat, line 278 (http://trac.navit-project.org/attachment/ticket/1021/navitlogcat.txt#L278) says:

I/DEBUG   (  907): signal 4 (SIGILL), fault addr 8095575c

Perhaps that will help one of the devs. A quick Google isn't conclusive.

What I will say: whenever I get blackscreens, it's always because I've malformed my navit.xml in /sdcard/navit/ - do you have something in there which could be causing this?

comment:2 Changed 6 years ago by ah be

thanks for the quick reply.

the navit.xml is the original one, untouched directly after flashing. (or may it be that if I remove an application that parts of its file still reside on the android system: I occasionaly flashed navit through the last half part of the year but it never worked so I removed it again. Flashing the latest version via adb push was successful without any error about an existing navit on the system though).

Maybe you could post your navit.xml and I put this manually on the /sdcard/navit to see if that one works.

the only other thing I have according what is in the wiki is a navitmap.bin residing in /sdcard/navit/ as stated on the wiki.

Last edited 6 years ago by ah be (previous) (diff)

comment:3 follow-up: Changed 6 years ago by korrosa

My navit.xml has been modified so much, and is split into different xml files, so it'd be useless posting it here I'm afraid. The easiest thing to do is:

  • Download the apk from http://download.navit-project.org/navit/android_armv4t/svn/ onto your pc or laptop.
  • Open the apk using some form of zip software (7-zip works fine, as does winrar, or any of the tools available on Linux).
  • Within the apk, head to /res/raw/
  • Extract either navithdpi.xml, navitmdpi.xml or navitldpi.xml (depending on your screen resolution of your Android device).
  • Rename the xml file to navit.xml, and upload it to your Android device to /sdcard/navit/

Perhaps it's also worth getting rid of navitmap.bin, and downloading a new one from http://maps.navit-project.org/, renaming it navitmap.bin and uploading it back to /sdcard/navit/

Note that this probably won't have anything to do with your black screens - I'm using the v5 builds for my device and they seem to work fine...

comment:4 in reply to: ↑ 3 Changed 6 years ago by ah be

Hi korrosa,

I followed all your steps and put the extracted navit.xml on the /sdcard/navit/ path. but still the same result with the black screen... I also found one of the last navit apks which worked on the freerunner (froyo): svn 4696. For comparison I added two files with the logcats. 4696 boots fine = no black screen.

Changed 6 years ago by ah be

comment:5 follow-up: Changed 6 years ago by korrosa

r4696 was around 7 months ago - do you mean r4696 or r4969?

comment:6 in reply to: ↑ 5 Changed 6 years ago by ah be

the svn version which works is indeed 4696 (~7 months ago).

I don't know if that one was is exactly the last version which worked on the freerunner, but what I remember is that there was some time when apks armv4t were not built with each latest svn version (around august, I might even had a ticket posted about this). around september the armv4t apks started to be build on the latest svn again, but I think that was also the time when the blackscreen-problem started:

would it be of any help if I attach the 4696.apk?

comment:7 Changed 6 years ago by tryagain

Modern Android NDK (see android-ndk-r6/docs/CPU-ARCH-ABIS.html) require at least armv5 processor.

I'm unsure if we were switching NDK version used in build process in August, 2011, but that switch may explain the failure. Nevertheless, I found at least one posting about Navit's ability to workaround that limitation, see http://code.google.com/p/android-on-freerunner/issues/detail?id=142 .

Also, we had switched to to the new Makefile building platform, and last release known to work was built with autotools, and first non-working release was built with cmake. There may be some issue in makefiles built with cmake.

And, we may have begin to use some NDK feature that is internally built using some CPU instructions supported by ARMv5 and higher CPUs.

I'd suggest testing roadmap like this:

  • check if automake build of current svn works on freerunner
  • check if r4696 built with autotools with current NDK works on freerunner
  • check if r4696 built with cmake with current NDK works on freerunner

Any result may help diagnosing the problem and lead to solution.

I won't be able to try above steps in near future, so please test them if you have some spare time and effort.

comment:8 follow-up: Changed 6 years ago by korrosa

That is interesting, thanks for that tryagain!

Further information which may help: the nightly apks are built using ndk version r6b - well, at least they are for v5 builds. The API version used on the nightly builds is 9 - again, at least they are for the v5 builds.

spielraum: Are you able to perform the actions on the suggested roadmap?

comment:9 Changed 6 years ago by ah be

thanks for having a detailed look at the issue.

if you could point me to a site where the build process is described I can try to check the first point proposed.

I haven't built things myself so far though so I might get stuck. I will also post this issue on the android on freerunner group site, so maybe someone more advanced is interested in getting involved.

What I can always do immediately is testing apks on the freerunner and reporting logcats. If there are tools to provide better lgos please let me know and I will try to use those.

best regards and thanks as always

robin

comment:10 in reply to: ↑ 8 Changed 6 years ago by ah be

I added a ticket on google groups for android on freerunner

http://groups.google.com/group/android-on-freerunner/browse_thread/thread/75caeed5d3c35d5d

apparently there have been issues with ndk, but I may have misunderstood them.

comment:11 Changed 6 years ago by tryagain

Last build known to work on freerunner references ndk from /work/compile/cc/android/android-ndk-1.5_r1/, see

http://download.navit-project.org/logs/navit/android_armv4t/svn/navit-svn-4696.ok

But first successful build done after r4702 failed to build uses /work/compile/cc/android/android-ndk-r6b/, see http://download.navit-project.org/logs/navit/android_armv4t/svn/navit-svn-4809.ok

So we had a ndk version switch between last release runnable on the freerunner and one unable to run on it.

comment:12 Changed 6 years ago by tryagain

I managed to build a cmake armv4 apk file with android-ndk-1.5_r1 and recent svn source.

http://www.woofiles.com/dl-293469-B9DaUM8D-Navitdebug.apk

Please test if this build runs on your device.

comment:13 Changed 6 years ago by ah be

I tried to Download the file but both firefox, rekonq, internet explorer give me only files of the size 177bytes even though on the donwload site it states navit 3MB. could you maybe attach it here directly?

Last edited 6 years ago by ah be (previous) (diff)

comment:14 Changed 6 years ago by tryagain

trac doesnt allow to attach more than 256 kb. Plase try to get it from these places:

http://narod.ru/disk/43913060001.00aa3d6bfd594a65290f4be4e628a287/Navit-debug.apk.html

http://depositfiles.com/files/tyyelbzta

Last edited 6 years ago by tryagain (previous) (diff)

comment:15 Changed 6 years ago by ah be

hi "tryagain", unfortunately the same result -> return to the previous screen. I attached the logcat in the hope that it contains anything usefull.

Changed 6 years ago by ah be

comment:16 Changed 6 years ago by tryagain

How do you find this one?

http://depositfiles.com/files/9i0fzntpx

comment:17 Changed 6 years ago by tryagain

This one is compiled with cmake, r6 ndk and right cmake option, -DEXTRA_COMPILER_FLAGS:STRING=-march=armv4t

http://depositfiles.com/files/z9gohhzhp

comment:18 Changed 6 years ago by ah be

Both comment 16.apk comment 17.apk work!!! I haven't tested them completely but you get the welcome screen and thereafter the yellowish screen with the magnification glasses for zooming in and out!

thank you very much.

I attached the two logcats in case they give you any more information on if there is still a difference between them.

Would you mind posting a quick line here on what was exactly necessary. I would then post this on the android on freerunner list in case they need something similar in the future.

thanks again!

robin

Changed 6 years ago by ah be

Changed 6 years ago by ah be

comment:19 Changed 6 years ago by tryagain

The only thing needed is to supply right -march=armv4t option to the compiler.

For CMake builds were trying to do it through CMake variable EXTRA_COMPILER_FLAGS used in arm-eabi Navit toolchain, but that was failing because following code

cmake -DEXTRA_COMPILER_FLAGS=-march=armv4t

was defining CMake variable EXTRA_COMPILER_FLAGS=-march with value armv4t, while we were expecting variable EXTRA_COMPILER_FLAGS to be defined with value -march=armv4t.

So no need to change the code or switch NDK version. Needed flag should be defined correctly for cmake during build process. Right way to specify that option would be

cmake -DEXTRA_COMPILER_FLAGS:STRING=-march=armv4t 

comment:20 Changed 6 years ago by tryagain

spielraum, please report here and close the ticket if next nightly build will become usable for you.

comment:21 Changed 6 years ago by ah be

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

comment:22 Changed 6 years ago by ah be

version from svn is working now! thanks a lot

Note: See TracTickets for help on using tickets.