PDA

View Full Version : {Solved} {Solved} App Crashes When Selecting Back



TimeTrx
September 3rd, 2015, 02:53 PM
Crash Info
Device: Nexus 5
API: 21
Android Version: 5.0.2

Issue: App will crash when user selects new game and then proceeds to hit the back button. Toast will pop up saying Mafia has stopped working. Is onBackPressed() working correctly?

Logcat Error:

09-03 17:53:21.896 18771-18771/voss.android E/InputEventSender﹕ Exception dispatching finished signal.
09-03 17:53:21.896 18771-18771/voss.android E/MessageQueue-JNI﹕ Exception in MessageQueue callback: handleReceiveCallback
09-03 17:53:21.909 18771-18771/voss.android E/MessageQueue-JNI﹕ java.lang.NullPointerException: Attempt to invoke virtual method 'boolean voss.logic.Team.isAlive()' on a null object reference
at voss.roles.Role.isWinner(Role.java:168)
at voss.logic.Player.determineWin(Player.java:650)
at voss.logic.Narrator.determineWinners(Narrator.java :1229)
at voss.logic.Narrator.isInProgress(Narrator.java:121 8)
at voss.logic.Player.getDescription(Player.java:99)
at voss.logic.Player.writeToPackage(Player.java:946)
at voss.logic.Narrator.writeToPackage(Narrator.java:1 384)
at voss.packaging.Board.writeToParcel(Board.java:36)
at android.os.Parcel.writeParcelable(Parcel.java:1357 )
at android.os.Parcel.writeValue(Parcel.java:1262)
at android.os.Parcel.writeArrayMapInternal(Parcel.jav a:638)
at android.os.BaseBundle.writeToParcelInner(BaseBundl e.java:1313)
at android.os.Bundle.writeToParcel(Bundle.java:1096)
at android.os.Parcel.writeBundle(Parcel.java:663)
at android.content.Intent.writeToParcel(Intent.java:7 191)
at android.app.ActivityManagerProxy.startActivity(Act ivityManagerNative.java:2376)
at android.app.Instrumentation.execStartActivity(Inst rumentation.java:1480)
at android.app.Activity.startActivityForResult(Activi ty.java:3736)
at android.app.Activity.startActivityForResult(Activi ty.java:3697)
at android.support.v4.app.FragmentActivity.startActiv ityForResult(FragmentActivity.java:748)
at android.app.Activity.startActivity(Activity.java:4 007)
at android.app.Activity.startActivity(Activity.java:3 975)
at voss.android.screens.ActivityCreateGame.onBackPres sed(ActivityCreateGame.java:119)
at android.app.Activity.onKeyUp(Activity.java:2453)
at android.view.KeyEvent.dispatch(KeyEvent.java:2633)
at android.app.Activity.dispatchKeyEvent(Activity.jav a:2704)
at com.android.internal.policy.impl.PhoneWindow$Decor View.dispatchKeyEvent(PhoneWindow.java:2221)
at android.view.ViewRootImpl$ViewPostImeInputStage.pr ocessKeyEvent(ViewRootImpl.java:3918)
at android.view.ViewRootImpl$ViewPostImeInputStage.on Process(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$InputStage.deliver(ViewR ootImpl.java:3449)
at android.view.ViewRootImpl$InputStage.onDeliverToNe xt(ViewRootImpl.java:3502)
at android.view.ViewRootImpl$InputStage.forward(ViewR ootImpl.java:3468)
at android.view.ViewRootImpl$AsyncInputStage.forward( ViewRootImpl.java:3578)
at android.view.ViewRootImpl$InputStage.apply(ViewRoo tImpl.java:3476)
at android.view.ViewRootImpl$AsyncInputStage.apply(Vi ewRootImpl.java:3635)
at android.view.ViewRootImpl$InputStage.deliver(ViewR ootImpl.java:3449)
at android.view.ViewRootImpl$InputStage.onDeliverToNe xt(ViewRootImpl.java:3502)
at android.view.ViewRootImpl$InputStage.forward(ViewR ootImpl.java:3468)
at android.view.ViewRootImpl$InputStage.apply(ViewRoo tImpl.java:3476)
at android.view.ViewRootImpl$InputStage.deliver(ViewR ootImpl.java:3449)
at android.view.ViewRootImpl$InputStage.onDeliverToNe xt(ViewRootImpl.java:3502)
at android.view.ViewRootImpl$InputStage.forward(ViewR ootImpl.java:3468)
at android.view.ViewRootImpl$AsyncInputStage.forward( ViewRootImpl.java:3611)
at android.view.ViewRootImpl$ImeInputStage.onFinished InputEvent(ViewRootImpl.java:3772)
at android.view.inputmethod.InputMethodManager$Pendin gEvent.run(InputMethodManager.java:2208)
at android.view.inputmethod.InputMethodManager.invoke FinishedInputEventCallback(InputMethodManager.java :1849)
at android.view.inputmethod.InputMethodManager.finish edInputEvent(InputMethodManager.java:1840)
at android.view.inputmethod.InputMethodManager$ImeInp utEventSender.onInputEventFinished(InputMethodMana ger.java:2185)
at android.view.InputEventSender.dispatchInputEventFi nished(InputEventSender.java:141)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:143 )
at android.os.Looper.loop(Looper.java:122)
at android.app.ActivityThread.main(ActivityThread.jav a:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.j
09-03 17:53:21.909 18771-18771/voss.android D/AndroidRuntime﹕ Shutting down VM
09-03 17:53:21.909 18771-18771/voss.android E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: voss.android, PID: 18771
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean voss.logic.Team.isAlive()' on a null object reference
at voss.roles.Role.isWinner(Role.java:168)
at voss.logic.Player.determineWin(Player.java:650)
at voss.logic.Narrator.determineWinners(Narrator.java :1229)
at voss.logic.Narrator.isInProgress(Narrator.java:121 8)
at voss.logic.Player.getDescription(Player.java:99)
at voss.logic.Player.writeToPackage(Player.java:946)
at voss.logic.Narrator.writeToPackage(Narrator.java:1 384)
at voss.packaging.Board.writeToParcel(Board.java:36)
at android.os.Parcel.writeParcelable(Parcel.java:1357 )
at android.os.Parcel.writeValue(Parcel.java:1262)
at android.os.Parcel.writeArrayMapInternal(Parcel.jav a:638)
at android.os.BaseBundle.writeToParcelInner(BaseBundl e.java:1313)
at android.os.Bundle.writeToParcel(Bundle.java:1096)
at android.os.Parcel.writeBundle(Parcel.java:663)
at android.content.Intent.writeToParcel(Intent.java:7 191)
at android.app.ActivityManagerProxy.startActivity(Act ivityManagerNative.java:2376)
at android.app.Instrumentation.execStartActivity(Inst rumentation.java:1480)
at android.app.Activity.startActivityForResult(Activi ty.java:3736)
at android.app.Activity.startActivityForResult(Activi ty.java:3697)
at android.support.v4.app.FragmentActivity.startActiv ityForResult(FragmentActivity.java:748)
at android.app.Activity.startActivity(Activity.java:4 007)
at android.app.Activity.startActivity(Activity.java:3 975)
at voss.android.screens.ActivityCreateGame.onBackPres sed(ActivityCreateGame.java:119)
at android.app.Activity.onKeyUp(Activity.java:2453)
at android.view.KeyEvent.dispatch(KeyEvent.java:2633)
at android.app.Activity.dispatchKeyEvent(Activity.jav a:2704)
at com.android.internal.policy.impl.PhoneWindow$Decor View.dispatchKeyEvent(PhoneWindow.java:2221)
at android.view.ViewRootImpl$ViewPostImeInputStage.pr ocessKeyEvent(ViewRootImpl.java:3918)
at android.view.ViewRootImpl$ViewPostImeInputStage.on Process(ViewRootImpl.java:3880)
at android.view.ViewRootImpl$InputStage.deliver(ViewR ootImpl.java:3449)
at android.view.ViewRootImpl$InputStage.onDeliverToNe xt(ViewRootImpl.java:3502)
at android.view.ViewRootImpl$InputStage.forward(ViewR ootImpl.java:3468)
at android.view.ViewRootImpl$AsyncInputStage.forward( ViewRootImpl.java:3578)
at android.view.ViewRootImpl$InputStage.apply(ViewRoo tImpl.java:3476)
at android.view.ViewRootImpl$AsyncInputStage.apply(Vi ewRootImpl.java:3635)
at android.view.ViewRootImpl$InputStage.deliver(ViewR ootImpl.java:3449)
at android.view.ViewRootImpl$InputStage.onDeliverToNe xt(ViewRootImpl.java:3502)
at android.view.ViewRootImpl$InputStage.forward(ViewR ootImpl.java:3468)
at android.view.ViewRootImpl$InputStage.apply(ViewRoo tImpl.java:3476)
at android.view.ViewRootImpl$InputStage.deliver(ViewR ootImpl.java:3449)
at android.view.ViewRootImpl$InputStage.onDeliverToNe xt(ViewRootImpl.java:3502)
at android.view.ViewRootImpl$InputStage.forward(ViewR ootImpl.java:3468)
at android.view.ViewRootImpl$AsyncInputStage.forward( ViewRootImpl.java:3611)
at android.view.ViewRootImpl$ImeInputStage.onFinished InputEvent(ViewRootImpl.java:3772)
at android.view.inputmethod.InputMethodManager$Pendin gEvent.run(InputMethodManager.java:2208)
at android.view.inputmethod.InputMethodManager.invoke FinishedInputEventCallback(InputMethodManager.java :1849)
at android.view.inputmethod.InputMethodManager.finish edInputEvent(InputMethodManager.java:1840)
at android.view.inputmethod.InputMethodManager$ImeInp utEventSender.onInputEventFinished(InputMethodMana ger.java:2185)
at android.view.InputEventSender.dispatchInputEventFi nished(InputEventSender.java:141)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:143 )
at android.os.Looper.loop(Looper.java:122)
at android.app.ActivityThread.main(ActivityThread.jav a:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.inter

TimeTrx
September 3rd, 2015, 03:11 PM
Voss what do you want onBackPressed() in ActivityCreateGame.java to do? I have just skimmed over the code but I don't believe its required and it seems to work without it.

Voss
September 3rd, 2015, 06:10 PM
I havent quite thought of what i want to do if someone presses back on the create game section. For now yeah, its just a forgotten about bug. I'll take it out in the next version.

TimeTrx
September 3rd, 2015, 10:01 PM
It works fine without it or can be commented out at the current time to fix the issue while you decide if you want to do with it if anything. Adding a commented out commit.