Crash on VideoPlayerActivity onStop()
Benchmark Context
In some instances, after having played the sample, in the process of destroying the VideoPlayerActivity and returning to VLCBenchmark, the activity is recreated and stopped immediately, having some variables not instanciated, which causes a crash in onStop() when trying to clean them.
In this specific case, mService is never reinstancied, and is then called when equal to null.
Do you have any idea, why the activity would be recreated like that ?
2018-11-23 17:32:29.073 27419-27419/org.videolan.vlc.debug E/VLC/VideoPlayerActivity: onDisconnected: setting service null
2018-11-23 17:32:29.077 27419-27419/org.videolan.vlc.debug W/VLC/VideoPlayerActivity: onStop: end
2018-11-23 17:32:29.081 27419-27419/org.videolan.vlc.debug W/VLC/VideoPlayerActivity: onDestroy:
2018-11-23 17:32:31.802 27419-27419/org.videolan.vlc.debug W/VLC/VideoPlayerActivity: onCreate:
2018-11-23 17:32:31.976 27419-27419/org.videolan.vlc.debug W/VLC/VideoPlayerActivity: onStart:
2018-11-23 17:32:31.991 27419-27419/org.videolan.vlc.debug W/VLC/VideoPlayerActivity: onResume: isFinishing: false
2018-11-23 17:32:32.053 27419-27419/org.videolan.vlc.debug W/VLC/VideoPlayerActivity: onPause: finishing: false
2018-11-23 17:32:32.060 27419-27419/org.videolan.vlc.debug W/VLC/VideoPlayerActivity: onStop: mservice: null
2018-11-23 17:32:32.062 27419-27419/org.videolan.vlc.debug D/AndroidRuntime: Shutting down VM
2018-11-23 17:32:32.065 27419-27419/org.videolan.vlc.debug E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.videolan.vlc.debug, PID: 27419
java.lang.RuntimeException: Unable to stop activity {org.videolan.vlc.debug/org.videolan.vlc.gui.video.benchmark.BenchActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'org.videolan.libvlc.MediaPlayer org.videolan.vlc.PlaybackService.getMediaplayer()' on a null object reference
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4369)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4425)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4699)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1607)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'org.videolan.libvlc.MediaPlayer org.videolan.vlc.PlaybackService.getMediaplayer()' on a null object reference
at org.videolan.vlc.gui.video.VideoPlayerActivity.cleanUI(VideoPlayerActivity.java:781)
at org.videolan.vlc.gui.video.VideoPlayerActivity.onStop(VideoPlayerActivity.java:593)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1376)
at android.app.Activity.performStop(Activity.java:7205)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4364)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4425)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4699)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1607)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
2018-11-23 17:32:32.069 27419-27419/org.videolan.vlc.debug E/VLC/VlcCrashHandler: java.lang.RuntimeException: Unable to stop activity {org.videolan.vlc.debug/org.videolan.vlc.gui.video.benchmark.BenchActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'org.videolan.libvlc.MediaPlayer org.videolan.vlc.PlaybackService.getMediaplayer()' on a null object reference
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4369)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4425)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4699)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1607)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
at Android.MODEL(Mi A1)
at Android.VERSION(8.1.0)
at Android.FINGERPRINT(xiaomi/tissot/tissot_sprout:8.1.0/OPM1.171019.026/V9.6.8.0.ODHMIFE:user/release-keys)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'org.videolan.libvlc.MediaPlayer org.videolan.vlc.PlaybackService.getMediaplayer()' on a null object reference
at org.videolan.vlc.gui.video.VideoPlayerActivity.cleanUI(VideoPlayerActivity.java:781)
at org.videolan.vlc.gui.video.VideoPlayerActivity.onStop(VideoPlayerActivity.java:593)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1376)
at android.app.Activity.performStop(Activity.java:7205)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4364)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4425)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4699)
at android.app.ActivityThread.-wrap18(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1607)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)```