Opened 2 years ago

Last modified 2 years ago

#1286 new defect/bug

navit 0.5.0-6021 java.lang.IllegalArgumentException

Reported by: kazer Owned by: cp15
Priority: major Milestone: version 0.5.1
Component: port/android Version: git master
Severity: normal Keywords:
Cc:

Description

User reported crash from Google Play store

java.lang.RuntimeException: Unable to start activity ComponentInfo{org.navitproject.navit/org.navitproject.navit.NavitDownloadSelectMapActivity}: java.lang.IllegalArgumentException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2205)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2240)
at android.app.ActivityThread.access$600(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:4987)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException
at android.os.StatFs.native_setup(Native Method)
at android.os.StatFs.<init>(StatFs.java:32)
at org.navitproject.navit.NavitDownloadSelectMapActivity.getFreeSpace(NavitDownloadSelectMapActivity.java:67)
at org.navitproject.navit.NavitDownloadSelectMapActivity.onCreate(NavitDownloadSelectMapActivity.java:62)
at android.app.Activity.performCreate(Activity.java:4538)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2161)
... 11 more

Android 4.0.3 - 4.0.4

User message : "немогу загрузить карты"

Change History (2)

comment:1 Changed 2 years ago by tryagain

I guess this user has no sdcard installed. We should catch the exception which statfs throws and do something useful.

Was unable to reproduce this one yet.

comment:2 Changed 2 years ago by tryagain

I have added a quick fix in r6040. It will print a message to the user when no sd card is present (actually, when it's unable to call statfs).

Final solution promised by jandegr, allowing user to choose path, is much better, so leaving this unfixed.

Note: See TracTickets for help on using tickets.