Aegis: Crash when creating password-protected vault

Created on 24 Jan 2020  路  6Comments  路  Source: beemdevelopment/Aegis

Info

  • __Version__: 1.1.1 & 1.1.2
  • __Source__: F-Droid
  • __Vault encrypted:__ Yes
  • __Device:__ LG D722 (LG G3)
  • __Android version and ROM:__ Android 7.1.2 - lineage_jagnm-userdebug 7.1.2 NJH47F d5334ad713
Steps to reproduce
  • install and launch application
  • step through wizard and set vault encryption password (I tested with 2 different passwords)
  • go to next step
What do you expect to happen?

vault is generated, and wizard continues or ends

What happens instead?

App crashes

Log

if needed, I can provide more comprehensive logs

01-24 15:41:32.451 E/AndroidRuntime(29967): FATAL EXCEPTION: AsyncTask #1
01-24 15:41:32.451 E/AndroidRuntime(29967): Process: com.beemdevelopment.aegis, PID: 29967
01-24 15:41:32.451 E/AndroidRuntime(29967): java.lang.RuntimeException: An error occurred while executing doInBackground()
01-24 15:41:32.451 E/AndroidRuntime(29967):     at android.os.AsyncTask$3.done(AsyncTask.java:325)
01-24 15:41:32.451 E/AndroidRuntime(29967):     at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
01-24 15:41:32.451 E/AndroidRuntime(29967):     at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
01-24 15:41:32.451 E/AndroidRuntime(29967):     at java.util.concurrent.FutureTask.run(FutureTask.java:242)
01-24 15:41:32.451 E/AndroidRuntime(29967):     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
01-24 15:41:32.451 E/AndroidRuntime(29967):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
01-24 15:41:32.451 E/AndroidRuntime(29967):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
01-24 15:41:32.451 E/AndroidRuntime(29967):     at java.lang.Thread.run(Thread.java:761)
01-24 15:41:32.451 E/AndroidRuntime(29967): Caused by: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available
01-24 15:41:32.456 W/ActivityManager(684):   Force finishing activity com.beemdevelopment.aegis/.ui.IntroActivity
01-24 15:41:32.491 I/ActivityManager(684): START u0 {cmp=com.beemdevelopment.aegis/.ui.IntroActivity} from uid 10080 on display 0
01-24 15:41:32.590 I/OpenGLRenderer(684): Initialized EGL, version 1.4
01-24 15:41:32.591 D/OpenGLRenderer(684): Swap behavior 1
01-24 15:41:32.631 W/IInputConnectionWrapper(29967): finishComposingText on inactive InputConnection
01-24 15:41:32.841 I/ActivityManager(684): Displayed com.beemdevelopment.aegis/.ui.IntroActivity: +312ms
01-24 15:41:32.895 E/WindowManager(29967): 
01-24 15:41:32.895 E/WindowManager(29967): android.view.WindowLeaked: Activity com.beemdevelopment.aegis.ui.IntroActivity has leaked window DecorView@ba3496c[] that was originally added here
01-24 15:41:32.895 E/WindowManager(29967):  at android.view.ViewRootImpl.<init>(ViewRootImpl.java:418)
01-24 15:41:32.895 E/WindowManager(29967):  at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:331)
01-24 15:41:32.895 E/WindowManager(29967):  at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:94)
01-24 15:41:32.895 E/WindowManager(29967):  at android.app.Dialog.show(Dialog.java:329)
01-24 15:41:32.895 E/WindowManager(29967):  at com.beemdevelopment.aegis.ui.tasks.ProgressDialogTask.onPreExecute(ProgressDialogTask.java:25)
01-24 15:41:32.895 E/WindowManager(29967):  at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:620)
01-24 15:41:32.895 E/WindowManager(29967):  at android.os.AsyncTask.execute(AsyncTask.java:567)
01-24 15:41:32.895 E/WindowManager(29967):  at com.beemdevelopment.aegis.ui.IntroActivity.onSlideChanged(IntroActivity.java:109)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroBase.handleSlideChanged(AppIntroBase.java:396)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroBase.access$600(AppIntroBase.java:41)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroBase$PagerOnPageChangeListener.onPageSelected(AppIntroBase.java:1124)
01-24 15:41:32.895 E/WindowManager(29967):  at androidx.viewpager.widget.ViewPager.dispatchOnPageSelected(ViewPager.java:1947)
01-24 15:41:32.895 E/WindowManager(29967):  at androidx.viewpager.widget.ViewPager.scrollToItem(ViewPager.java:686)
01-24 15:41:32.895 E/WindowManager(29967):  at androidx.viewpager.widget.ViewPager.setCurrentItemInternal(ViewPager.java:670)
01-24 15:41:32.895 E/WindowManager(29967):  at androidx.viewpager.widget.ViewPager.setCurrentItemInternal(ViewPager.java:631)
01-24 15:41:32.895 E/WindowManager(29967):  at androidx.viewpager.widget.ViewPager.setCurrentItem(ViewPager.java:612)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroViewPager.setCurrentItem(AppIntroViewPager.java:84)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroViewPager.goToNextSlide(AppIntroViewPager.java:47)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroBase.changeSlide(AppIntroBase.java:965)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroBase.access$300(AppIntroBase.java:41)
01-24 15:41:32.895 E/WindowManager(29967):  at com.github.paolorotolo.appintro.AppIntroBase$NextButtonOnClickListener.onClick(AppIntroBase.java:1059)
01-24 15:41:32.895 E/WindowManager(29967):  at android.view.View.performClick(View.java:5637)
01-24 15:41:32.895 E/WindowManager(29967):  at android.view.View$PerformClick.run(View.java:22433)
01-24 15:41:32.895 E/WindowManager(29967):  at android.os.Handler.handleCallback(Handler.java:751)
01-24 15:41:32.895 E/WindowManager(29967):  at android.os.Handler.dispatchMessage(Handler.java:95)
01-24 15:41:32.895 E/WindowManager(29967):  at android.os.Looper.loop(Looper.java:154)
01-24 15:41:32.895 E/WindowManager(29967):  at android.app.ActivityThread.main(ActivityThread.java:6186)
01-24 15:41:32.895 E/WindowManager(29967):  at java.lang.reflect.Method.invoke(Native Method)
01-24 15:41:32.895 E/WindowManager(29967):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
01-24 15:41:32.895 E/WindowManager(29967):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
01-24 15:41:32.902 W/WindowManager(684): Failed looking up window
01-24 15:41:32.902 W/WindowManager(684): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@46a8c90 does not exist
01-24 15:41:32.902 W/WindowManager(684):    at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:9475)
01-24 15:41:32.902 W/WindowManager(684):    at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:9466)
01-24 15:41:32.902 W/WindowManager(684):    at com.android.server.wm.WindowManagerService.removeWindow(WindowManagerService.java:2402)
01-24 15:41:32.902 W/WindowManager(684):    at com.android.server.wm.Session.remove(Session.java:202)
01-24 15:41:32.902 W/WindowManager(684):    at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:242)
01-24 15:41:32.902 W/WindowManager(684):    at com.android.server.wm.Session.onTransact(Session.java:145)
01-24 15:41:32.902 W/WindowManager(684):    at android.os.Binder.execTransact(Binder.java:565)
01-24 15:41:33.168 I/SlideTouchEvent(10412): vel=0.066441074, MinimumFlingVelocity=100
01-24 15:41:33.186 I/ActivityManager(684): START u0 {flg=0x10804000 cmp=com.android.systemui/.recents.RecentsActivity} from uid 10034 on display 0
01-24 15:41:33.201 W/SurfaceFlinger(244): FB is protected: PERMISSION_DENIED
01-24 15:41:33.201 W/WindowManager(684): Screenshot failure taking screenshot for (720x1280) to layer 21075
01-24 15:41:33.225 W/ActivityManager(684):   Force finishing activity com.beemdevelopment.aegis/.ui.IntroActivity
01-24 15:41:33.234 W/ActivityManager(684):   Force finishing activity com.beemdevelopment.aegis/.ui.MainActivity
01-24 15:41:33.241 I/ActivityManager(684): Killing 29967:com.beemdevelopment.aegis/u0a80 (adj 200): crash
bug

All 6 comments

I think this may be the same issue as #114. Would you be willing to run a debug APK to verify that theory? If so, I'm going to rebase the work I did for #114 on master and build you one.

I just tested the apk you did here: https://github.com/beemdevelopment/Aegis/issues/114#issuecomment-498031034

The app doesn't crashes and I'm able to end the wizard.
Looks good!

You need more logs? Else, when do you think it'll be available in F-Droid?

That's good news! That APK is quite old though, so I'll also build and have you test a newer one if you don't mind. I just haven't had a chance to do that yet.

It may take some time before we can include that fix in a release, as including the native libsodium-android library will require some more testing. Perhaps we should do a beta release for that, but we'll see.

I'll close this issue as it's the same as #114. We can continue discussing there.

OK, I will wait for your APK

@strawhatgami Here's the new APK, based on the master branch with libsodium instead of SpongyCastle for the scrypt implementation: https://alexbakker.me/u/wg414oj17f.apk. Let me know if it works for you.

It works well!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

3xploiton3 picture 3xploiton3  路  3Comments

iammexan picture iammexan  路  4Comments

devurandom picture devurandom  路  3Comments

andrmo picture andrmo  路  6Comments

jidanni picture jidanni  路  3Comments