lildebi icon indicating copy to clipboard operation
lildebi copied to clipboard

crash after mount weirdness

Open eighthave opened this issue 11 years ago • 4 comments

I was troubleshooting some issues where ./stop-debian.sh does not successfully unmount and lives things in a kind of limbo state where /data/debian is mounted, but no other lildebi mount is. In this case, /data/debian and /data/debian/mnt/sdcard were the only two things still mounted. When I manually unmounted them, Lil' Debi showed me the "Install" button as if there was no image file any more. When I clicked on "Install", I got a crash, the stacktrace is at the bottom of this post.

It seems like something make the sdcard mounting process die, because trying to see it in adb shell did:

shell@android:/ # ls -l /storage/sdcard0/                                      
/storage/sdcard0/: Transport endpoint is not connected

Here's the stacktrace:

        AndroidRuntime  E  FATAL EXCEPTION: main
                        E  java.lang.RuntimeException: Unable to resume activity {info.guardianproject.lildebi/info.guardianproject.lildebi.InstallActivity}: java.lang.IllegalArgumentException: Invalid path: /storage/emulated/legacy
                        E      at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2870)
                        E      at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2899)
                        E      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2363)
                        E      at android.app.ActivityThread.access$600(ActivityThread.java:153)
                        E      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1247)
                        E      at android.os.Handler.dispatchMessage(Handler.java:99)
                        E      at android.os.Looper.loop(Looper.java:137)
                        E      at android.app.ActivityThread.main(ActivityThread.java:5227)
                        E      at java.lang.reflect.Method.invokeNative(Native Method)
                        E      at java.lang.reflect.Method.invoke(Method.java:511)
                        E      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
                        E      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
                        E      at dalvik.system.NativeStart.main(Native Method)
                        E  Caused by: java.lang.IllegalArgumentException: Invalid path: /storage/emulated/legacy
                        E      at android.os.StatFs.doStat(StatFs.java:46)
                        E      at android.os.StatFs.<init>(StatFs.java:39)
                        E      at info.guardianproject.lildebi.NativeHelper.getInstallPathFreeMegaBytes(NativeHelper.java:296)
                        E      at info.guardianproject.lildebi.InstallActivity.setImageSizeInMB(InstallActivity.java:192)
                        E      at info.guardianproject.lildebi.InstallActivity.onResume(InstallActivity.java:172)
                        E      at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1185)
                        E      at android.app.Activity.performResume(Activity.java:5182)
                        E      at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2860)
                        E      ... 12 more
                        E  Caused by: libcore.io.ErrnoException: statfs failed: ENOTCONN (Transport endpoint is not connected)
                        E      at libcore.io.Posix.statfs(Native Method)
                        E      at libcore.io.ForwardingOs.statfs(ForwardingOs.java:126)
                        E      at android.os.StatFs.doStat(StatFs.java:44)
                        E      ... 19 more

eighthave avatar Oct 18 '14 02:10 eighthave

It looks like the "killall" logic is killing something it should not. I just got this again. @SDkie any ideas?

eighthave avatar Oct 18 '14 02:10 eighthave

@eighthave : can you help me reproduce it on my device?

SDkie avatar Oct 18 '14 17:10 SDkie

I had it happen a couple of times to me, but I couldn't find a way to reproduce it. I'll keep it in mind.

eighthave avatar Oct 18 '14 19:10 eighthave

Hmm, I have a hunch here. It seems that if you are logged into the device using adb shell, the storage mapper thingy will also claim the Lil' Debi loopback mount.

eighthave avatar Nov 17 '14 21:11 eighthave