Skip to content

Island Watcher causes crash. No notifation to "Deactivate" the work profile.

  • This doesn't fall into the followings categories:

Summary

When I open insular and start an app in the Work Profile, Insular crashes. The notification for "Deactivating" the work profile never shows up.

This is probably related to #64 (closed).

Steps to reproduce

  1. Install Insular.
  2. Setup the work-profile.
  3. Setup the "Managed Mainland" mode.
  4. Launch a work-profile app from Insular.

What is the current bug behavior?

Insular crashes and the notification for "Deactivating" the work profile never shows up.

What is the expected correct behavior?

I expected Insular not to crash and also expected the notification to be there. This is the notification I'm talking about (Ignore the fact it says "Neverland"): screenshot of insular notification

Relevant logs and/or screenshots

I recorded a video of this error: https://www.youtube.com/shorts/nwpXMJgafys

I also did a logcat while recording that video. This is what Insular logs before crashing:

05-09 03:17:37.134 28294 28350 I SimpleDeviceConfig: Updating device config at boot
05-09 03:17:37.148 28060 28060 D Island.Watcher: onReceive: Intent { act=android.intent.action.LOCKED_BOOT_COMPLETED flg=0x89000010 cmp=com.oasisfeng.island.fdroid/com.oasisfeng.island.watcher.IslandWatcher (has extras) }
05-09 03:17:37.158  1501  2786 I StorageSessionController: Notifying volume state changed for session with id: emulated;10
05-09 03:17:37.163  5221  5244 E JavaBinder: *** Uncaught remote exception!  (Exceptions are not yet supported across processes.)
05-09 03:17:37.163  5221  5244 E JavaBinder: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
05-09 03:17:37.163  5221  5244 E JavaBinder: 	at com.oasisfeng.island.shuttle.Closure.invoke(Unknown Source:7)
05-09 03:17:37.163  5221  5244 E JavaBinder: 	at com.oasisfeng.island.shuttle.ShuttleProvider.call(Unknown Source:34)
05-09 03:17:37.163  5221  5244 E JavaBinder: 	at android.content.ContentProvider.call(ContentProvider.java:2464)
05-09 03:17:37.163  5221  5244 E JavaBinder: 	at android.content.ContentProvider$Transport.call(ContentProvider.java:512)
05-09 03:17:37.163  5221  5244 E JavaBinder: 	at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:295)
05-09 03:17:37.163  5221  5244 E JavaBinder: 	at android.os.Binder.execTransactInternal(Binder.java:1179)
05-09 03:17:37.163  5221  5244 E JavaBinder: 	at android.os.Binder.execTransact(Binder.java:1143)
05-09 03:17:37.179  2942  2942 W ConstraintSet: id unknown center_vertical_guideline
05-09 03:17:37.179  2942  2942 W ConstraintSet: id unknown center_horizontal_guideline
05-09 03:17:37.180  2942  2942 W ConstraintSet: id unknown media_action_barrier
05-09 03:17:37.180  2942  2942 W ConstraintSet: id unknown remove_text
05-09 03:17:37.180  2942  2942 W ConstraintSet: id unknown settings
05-09 03:17:37.180  2942  2942 W ConstraintSet: id unknown cancel
05-09 03:17:37.180  2942  2942 W ConstraintSet: id unknown dismiss
05-09 03:17:37.182 28060 28060 D AndroidRuntime: Shutting down VM
05-09 03:17:37.183 28060 28060 E AndroidRuntime: FATAL EXCEPTION: main
05-09 03:17:37.183 28060 28060 E AndroidRuntime: Process: com.oasisfeng.island.fdroid, PID: 28060
05-09 03:17:37.183 28060 28060 E AndroidRuntime: java.lang.RuntimeException: Unable to start receiver com.oasisfeng.island.watcher.IslandWatcher: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4384)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.app.ActivityThread.access$1600(ActivityThread.java:256)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2102)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:106)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.os.Looper.loopOnce(Looper.java:201)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:288)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:7870)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at com.oasisfeng.island.watcher.IslandWatcher.onReceive(Unknown Source:201)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	at android.app.ActivityThread.handleReceiver(ActivityThread.java:4375)
05-09 03:17:37.183 28060 28060 E AndroidRuntime: 	... 9 more

Full logcat: https://gist.github.com/ItsIgnacioPortal/469c580b26413fe8e6a06dc4d58352d5

Environment information

OS: Android 12 (Lineage OS 19.1 [lineage-19.1-20221011-UNOFFICIAL-arm64_bgS-vndklite-secure.img](https://sourceforge.net/projects/andyyan-gsi/files/lineage-19.x/History/lineage-19.1-20221011-UNOFFICIAL-arm64_bgS-vndklite-secure.img.xz/download)) Insular version: 6.3-4f363088