biotinker / LibreTasks

An updated form of Omnidroid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

App crashes when scrolling

vanitasvitae opened this issue · comments

Hi! The app crashes on my nexus 5 with CopperheadOS when I try to scroll the event list.
Here is a log:

E/InputEventReceiver(23816): Exception dispatching input event.
D/AndroidRuntime(23816): Shutting down VM
E/AndroidRuntime(23816): FATAL EXCEPTION: main
E/AndroidRuntime(23816): Process: libretasks.app, PID: 23816
E/AndroidRuntime(23816): java.lang.IllegalStateException: UIDbHelperStore singleton must be initialized via init() before use!
E/AndroidRuntime(23816): at libretasks.app.view.simple.UIDbHelperStore.instance(UIDbHelperStore.java:82)
E/AndroidRuntime(23816): at libretasks.app.view.simple.ActivityChooseRootEvent$AdapterEvents.getView(ActivityChooseRootEvent.java:170)
E/AndroidRuntime(23816): at android.widget.AbsListView.obtainView(AbsListView.java:2346)
E/AndroidRuntime(23816): at android.widget.ListView.makeAndAddView(ListView.java:1876)
E/AndroidRuntime(23816): at android.widget.ListView.fillDown(ListView.java:702)
E/AndroidRuntime(23816): at android.widget.ListView.fillGap(ListView.java:666)
E/AndroidRuntime(23816): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5053)
E/AndroidRuntime(23816): at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3448)
E/AndroidRuntime(23816): at android.widget.AbsListView.onTouchMove(AbsListView.java:3844)
E/AndroidRuntime(23816): at android.widget.AbsListView.onTouchEvent(AbsListView.java:3675)
E/AndroidRuntime(23816): at android.view.View.dispatchTouchEvent(View.java:9300)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2547)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2240)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
E/AndroidRuntime(23816): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
E/AndroidRuntime(23816): at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403)
E/AndroidRuntime(23816): at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737)
E/AndroidRuntime(23816): at android.app.Activity.dispatchTouchEvent(Activity.java:2771)
E/AndroidRuntime(23816): at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)
E/AndroidRuntime(23816): at android.view.View.dispatchPointerEvent(View.java:9520)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)
E/AndroidRuntime(23816): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922)
E/AndroidRuntime(23816): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896)
E/AndroidRuntime(23816): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5857)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6025)
E/AndroidRuntime(23816): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
E/AndroidRuntime(23816): at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
E/AndroidRuntime(23816): at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
E/AndroidRuntime(23816): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:5996)
E/AndroidRuntime(23816): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6048)
E/AndroidRuntime(23816): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
E/AndroidRuntime(23816): at android.view.Choreographer.doCallbacks(Cho
E/AndroidRuntime(23816): Error reporting crash
E/AndroidRuntime(23816): java.lang.RuntimeException: Bad file descriptor
E/AndroidRuntime(23816): at android.os.BinderProxy.transactNative(Native Method)
E/AndroidRuntime(23816): at android.os.BinderProxy.transact(Binder.java:503)
E/AndroidRuntime(23816): at android.app.ActivityManagerProxy.handleApplicationCrash(ActivityManagerNative.java:4425)
E/AndroidRuntime(23816): at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:90)
E/AndroidRuntime(23816): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
E/AndroidRuntime(23816): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
I/Process (23816): Sending signal. PID: 23816 SIG: 9
D/GraphicsStats( 1935): Buffer count: 11
I/WindowState( 1935): WIN DEATH: Window{66ddc44 u0 libretasks.app/libretasks.app.view.simple.ActivityChooseRootEvent}
I/ActivityManager( 1935): Process libretasks.app (pid 23816) has died
W/ActivityManager( 1935): Scheduling restart of crashed service libretasks.app/.controller.external.attributes.EventMonitoringService in 1000ms
W/ActivityManager( 1935): Force removing ActivityRecord{546e98 u0 libretasks.app/.view.simple.ActivityChooseRootEvent t365}: app died, no saved state

Hi! Thanks for the bug report.

Could you give me some more details on your use of the app? Does the crash happen on a fresh install, or only when you have added rules/actions, or something else? I don't get a crash when scrolling on my test devices.

I'll look into the stacktrace and what the error may be. I forked this app from an old, dead project, so I'm not yet very familiar with a lot of the app backend where it looks like the crash happened.

It happens to me after fresh install. I start the app and click "create rule". When I try to scroll in the list that opens up, the activity crashes and I end up on the previous activity again.

CopperheadOS is based on AOSP 6. Maybe something changed?

Edit: It seems like you have a uninitialized singleton somewhere. I'd try to call its init function at an earlier time.