julianharty / new-android-daisy-reader

New Daisy Reader Codebase
12 stars 0 forks source link

App crashes with an unhandled array out of bounds exception reading a book #2

Open julianharty opened 11 years ago

julianharty commented 11 years ago

I was listening to the minidaisyaudiobook test book in simple mode. I can crash the app by swiping from right to left (in portrait mode). Here is the stacktrace.

I/DAISYAndroidAudioPlayer( 9701): /storage/sdcard0/testfiles/minidaisyaudiobook/TestAtoZ.mp3 I/DAISYAndroidAudioPlayer( 9701): /storage/sdcard0/testfiles/minidaisyaudiobook I/AudioPlayerController( 9701): Playing TestAtoZ.mp3 from 0 to 26200 E/InputEventReceiver( 9701): Exception dispatching input event. E/MessageQueue-JNI( 9701): Exception in MessageQueue callback: handleReceiveCallback E/MessageQueue-JNI( 9701): java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1 E/MessageQueue-JNI( 9701): at java.util.ArrayList.get(ArrayList.java:306) E/MessageQueue-JNI( 9701): at org.androiddaisyreader.apps.DaisyEbookReaderSimpleModeActivity.previousSentence(DaisyEbookReaderSimpleModeActivity.java:420) E/MessageQueue-JNI( 9701): at org.androiddaisyreader.apps.DaisyEbookReaderSimpleModeActivity.access$2300(DaisyEbookReaderSimpleModeActivity.java:49) E/MessageQueue-JNI( 9701): at org.androiddaisyreader.apps.DaisyEbookReaderSimpleModeActivity$2.onGestureFinish(DaisyEbookReaderSimpleModeActivity.java:349) E/MessageQueue-JNI( 9701): at com.google.marvin.widget.GestureOverlay.onTouchEvent(GestureOverlay.java:130) E/MessageQueue-JNI( 9701): at android.view.View.dispatchTouchEvent(View.java:7127) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/MessageQueue-JNI( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/MessageQueue-JNI( 9701): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1925) E/MessageQueue-JNI( 9701): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1379) E/MessageQueue-JNI( 9701): at android.app.Activity.dispatchTouchEvent(Activity.java:2396) E/MessageQueue-JNI( 9701): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1873) E/MessageQueue-JNI( 9701): at android.view.View.dispatchPointerEvent(View.java:7307) E/MessageQueue-JNI( 9701): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3174) E/MessageQueue-JNI( 9701): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3119) E/MessageQueue-JNI( 9701): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4155) E/MessageQueue-JNI( 9701): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4134) E/MessageQueue-JNI( 9701): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4226) E/MessageQueue-JNI( 9701): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) E/MessageQueue-JNI( 9701): at android.os.MessageQueue.nativePollOnce(Native Method) E/MessageQueue-JNI( 9701): at android.os.MessageQueue.next(MessageQueue.java:125) E/MessageQueue-JNI( 9701): at android.os.Looper.loop(Looper.java:124) E/MessageQueue-JNI( 9701): at android.app.ActivityThread.main(ActivityThread.java:4745) E/MessageQueue-JNI( 9701): at java.lang.reflect.Method.invokeNative(Native Method) E/MessageQueue-JNI( 9701): at java.lang.reflect.Method.invoke(Method.java:511) E/MessageQueue-JNI( 9701): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) E/MessageQueue-JNI( 9701): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) E/MessageQueue-JNI( 9701): at dalvik.system.NativeStart.main(Native Method) D/AndroidRuntime( 9701): Shutting down VM W/dalvikvm( 9701): threadid=1: thread exiting with uncaught exception (group=0x413b0300) E/AndroidRuntime( 9701): FATAL EXCEPTION: main E/AndroidRuntime( 9701): java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1 E/AndroidRuntime( 9701): at java.util.ArrayList.get(ArrayList.java:306) E/AndroidRuntime( 9701): at org.androiddaisyreader.apps.DaisyEbookReaderSimpleModeActivity.previousSentence(DaisyEbookReaderSimpleModeActivity.java:420) E/AndroidRuntime( 9701): at org.androiddaisyreader.apps.DaisyEbookReaderSimpleModeActivity.access$2300(DaisyEbookReaderSimpleModeActivity.java:49) E/AndroidRuntime( 9701): at org.androiddaisyreader.apps.DaisyEbookReaderSimpleModeActivity$2.onGestureFinish(DaisyEbookReaderSimpleModeActivity.java:349) E/AndroidRuntime( 9701): at com.google.marvin.widget.GestureOverlay.onTouchEvent(GestureOverlay.java:130) E/AndroidRuntime( 9701): at android.view.View.dispatchTouchEvent(View.java:7127) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2176) E/AndroidRuntime( 9701): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1919) E/AndroidRuntime( 9701): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1925) E/AndroidRuntime( 9701): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1379) E/AndroidRuntime( 9701): at android.app.Activity.dispatchTouchEvent(Activity.java:2396) E/AndroidRuntime( 9701): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1873) E/AndroidRuntime( 9701): at android.view.View.dispatchPointerEvent(View.java:7307) E/AndroidRuntime( 9701): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3174) E/AndroidRuntime( 9701): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3119) E/AndroidRuntime( 9701): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4155) E/AndroidRuntime( 9701): at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4134) E/AndroidRuntime( 9701): at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4226) E/AndroidRuntime( 9701): at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) E/AndroidRuntime( 9701): at android.os.MessageQueue.nativePollOnce(Native Method) E/AndroidRuntime( 9701): at android.os.MessageQueue.next(MessageQueue.java:125) E/AndroidRuntime( 9701): at android.os.Looper.loop(Looper.java:124) E/AndroidRuntime( 9701): at android.app.ActivityThread.main(ActivityThread.java:4745) E/AndroidRuntime( 9701): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 9701): at java.lang.reflect.Method.invoke(Method.java:511) E/AndroidRuntime( 9701): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) E/AndroidRuntime( 9701): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) E/AndroidRuntime( 9701): at dalvik.system.NativeStart.main(Native Method) W/ActivityManager( 5940): Force finishing activity org.androiddaisyreader.apps/.DaisyEbookReaderSimpleModeActivity