Vungle fatal crashes in Production - "java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.setVolume(..."

Hi folks.

I’m getting fatal crashes across our whole portfolio of games using the paid Vungle plugin.  This is currently confirmed on Android only but may be affecting our iOS games as well.  It’s happening across 15 different games, all built on 3318.  Built on June 23.

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaPlayer.setVolume(float, float)' on a null object reference        at com.vungle.warren.ui.VungleActivity$4.onClick(VungleActivity.java:664)        at android.view.View.performClick(View.java:6261)        at android.view.View$PerformClick.run(View.java:23753)        at android.os.Handler.handleCallback(Handler.java:751)        at android.os.Handler.dispatchMessage(Handler.java:95)        at android.os.Looper.loop(Looper.java:154)        at android.app.ActivityThread.main(ActivityThread.java:6776)        at java.lang.reflect.Method.invoke(Method.java)        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

Here’s the full crash details including stack trace: http://crashes.to/s/bb6584f4b67

Can we please have this resolved?  It burns to have a plugin we pay for cause our crash rates to spike in Production, which hurts our downloads/revenue.  Please let me know if you need any other information.

Thanks,

Chris

Here is another Vungle error we are getting with same details as above (Android, 3318, built today, etc):

Fatal Exception: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1        at java.util.ArrayList.get(ArrayList.java:411)        at com.vungle.warren.presenter.LocalAdPresenter.onProgressUpdate(LocalAdPresenter.java:671)        at com.vungle.warren.ui.VungleActivity$13.run(VungleActivity.java:887)        at android.os.Handler.handleCallback(Handler.java:751)        at android.os.Handler.dispatchMessage(Handler.java:95)        at android.os.Looper.loop(Looper.java:154)        at android.app.ActivityThread.main(ActivityThread.java:6776)        at java.lang.reflect.Method.invoke(Method.java)        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

Here is the full stack trace and other information: http://crashes.to/s/a1d5061d3a2

Thanks,

Chris

More:

Non-fatal Exception: java.lang.Exception: java.lang.NullPointerException Java Stack Trace: com.vungle.warren.Vungle.loadAd(Vungle.java:772) com.vungle.warren.Vungle.loadAd(Vungle.java:744) plugin.vungle.LuaLoader$LoadWrapper.invoke(LuaLoader.java:288) com.ansca.corona.JavaToNativeShim.nativeRender(Native Method) com.ansca.corona.JavaToNativeShim.render(JavaToNativeShim.java:195) com.ansca.corona.Controller.updateRuntimeState(Controller.java:347) com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:425) com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1623) com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1378)        at plugin.fabric.LuaLoader$init$1.invoke(LuaLoader.java:184)        at com.ansca.corona.CoronaEnvironment.invokeLuaErrorHandler(CoronaEnvironment.java:425)        at com.ansca.corona.NativeToJavaBridge.callInvokeLuaErrorHandler(NativeToJavaBridge.java:467)        at com.ansca.corona.JavaToNativeShim.nativeRender(JavaToNativeShim.java)        at com.ansca.corona.JavaToNativeShim.render(JavaToNativeShim.java:195)        at com.ansca.corona.Controller.updateRuntimeState(Controller.java:347)        at com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:425)        at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1623)        at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1378)

Full details: http://crashes.to/s/c15121e3d4b

Cheers,

Chris

Vungle builds their own plugin. Have you reported these issues to Vungle?

Rob

Didn’t realize this was the case.  All of the links on the Corona Marketplace point to Corona being the developer: 

https://marketplace.coronalabs.com/corona-plugins/vungle

I’ve sent them an email.  I believe this is a Corona specific problem though and hope it resolved soon.  I don’t see these kinds of crashes with their Unity plugin.

Cheers,

Chris

I reported these a while ago to Vungle and they are aware their plugin in is bugged… I’ve been told July 2nd the earliest for a plugin update.

I’ll contact the Marketplace team and let them know about this information needing updating.

Rob

Yikes!  We moved them from our leading ad provider to the back but the crashes are still continuing, may just have to take them out of rotation entirely.  

Thanks for the heads up, SGS.  I’ll update this thread if I hear anything from them, but for now I’ll assume July 2nd is the best we’ll get.

Cheers,

Chris

Response from Vungle:

Hello,

Thank you for reporting your issue - these are known top-priority issues for our Android SDK and we are actively working to put out a hotfix soon.
Once the hotfix is released we will be sure to inform you.

  • Chris U.

“top-priority issues”  ?

I reported them some 2+ weeks ago and got told the fix would be 4 weeks plus.

Android SDK will come first… Corona plugin will come, sadly, last.

I really hope Corona can take ownership of the plugin!

Agreed!  

Another new type of fatal crash: 

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.firerabbit.games.fmc.mad.lite/com.vungle.warren.ui.VungleActivity}: java.lang.IllegalArgumentException: No advertisement for ID 5b36c9162e7bff1c8397e2c2 was found on disk!        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3151)        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3261)        at android.app.ActivityThread.access$1000(ActivityThread.java:219)        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735)        at android.os.Handler.dispatchMessage(Handler.java:102)        at android.os.Looper.loop(Looper.java:145)        at android.app.ActivityThread.main(ActivityThread.java:6939)        at java.lang.reflect.Method.invoke(Method.java)        at java.lang.reflect.Method.invoke(Method.java:372)        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

Details: http://crashes.to/s/0a5945ee12b

Cheers,

Chris

Some of my users as well as our test device also experiencing sporadic crashes with vungle reward ads either crashes after a few seconds into the ad or the ad window opens,no ad shows and it crashes.

We’re using corona 3381.

10-07 08:01:15.406: W/VideoView(8470): Unable to open content: file:///data/user/0/com.xxxxx.xxxx/cache/vungle/5bb95a659c95de512b836340/video

10-07 08:01:15.406: W/VideoView(8470): java.io.IOException: setDataSource failed.

10-07 08:01:15.406: W/VideoView(8470): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1271)

10-07 08:01:15.406: W/VideoView(8470): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1179)

10-07 08:01:15.406: W/VideoView(8470): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1116)

10-07 08:01:15.406: W/VideoView(8470): at android.widget.VideoView.openVideo(VideoView.java:371)

10-07 08:01:15.406: W/VideoView(8470): at android.widget.VideoView.access$2100(VideoView.java:71)

10-07 08:01:15.406: W/VideoView(8470): at android.widget.VideoView$7.surfaceCreated(VideoView.java:652)

10-07 08:01:15.406: W/VideoView(8470): at android.view.SurfaceView.updateWindow(SurfaceView.java:720)

10-07 08:01:15.406: W/VideoView(8470): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:215)

10-07 08:01:15.406: W/VideoView(8470): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1014)

10-07 08:01:15.406: W/VideoView(8470): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2620)

10-07 08:01:15.406: W/VideoView(8470): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1544)

10-07 08:01:15.406: W/VideoView(8470): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7602)

10-07 08:01:15.406: W/VideoView(8470): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)

10-07 08:01:15.406: W/VideoView(8470): at android.view.Choreographer.doCallbacks(Choreographer.java:686)

10-07 08:01:15.406: W/VideoView(8470): at android.view.Choreographer.doFrame(Choreographer.java:622)

10-07 08:01:15.406: W/VideoView(8470): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)

10-07 08:01:15.406: W/VideoView(8470): at android.os.Handler.handleCallback(Handler.java:739)

10-07 08:01:15.406: W/VideoView(8470): at android.os.Handler.dispatchMessage(Handler.java:95)

10-07 08:01:15.406: W/VideoView(8470): at android.os.Looper.loop(Looper.java:148)

10-07 08:01:15.406: W/VideoView(8470): at android.app.ActivityThread.main(ActivityThread.java:7331)

10-07 08:01:15.406: W/VideoView(8470): at java.lang.reflect.Method.invoke(Native Method)

10-07 08:01:15.406: W/VideoView(8470): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

10-07 08:01:15.406: W/VideoView(8470): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Vungle mentioned that the issues arise from ads that are cached but for some reason don’t load/play properly. In their latest plugin they say that they have opened up the clearcache function api. Not sure if that is already available through corona sdk?

Here is another Vungle error we are getting with same details as above (Android, 3318, built today, etc):

Fatal Exception: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1        at java.util.ArrayList.get(ArrayList.java:411)        at com.vungle.warren.presenter.LocalAdPresenter.onProgressUpdate(LocalAdPresenter.java:671)        at com.vungle.warren.ui.VungleActivity$13.run(VungleActivity.java:887)        at android.os.Handler.handleCallback(Handler.java:751)        at android.os.Handler.dispatchMessage(Handler.java:95)        at android.os.Looper.loop(Looper.java:154)        at android.app.ActivityThread.main(ActivityThread.java:6776)        at java.lang.reflect.Method.invoke(Method.java)        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)

Here is the full stack trace and other information: http://crashes.to/s/a1d5061d3a2

Thanks,

Chris

More:

Non-fatal Exception: java.lang.Exception: java.lang.NullPointerException Java Stack Trace: com.vungle.warren.Vungle.loadAd(Vungle.java:772) com.vungle.warren.Vungle.loadAd(Vungle.java:744) plugin.vungle.LuaLoader$LoadWrapper.invoke(LuaLoader.java:288) com.ansca.corona.JavaToNativeShim.nativeRender(Native Method) com.ansca.corona.JavaToNativeShim.render(JavaToNativeShim.java:195) com.ansca.corona.Controller.updateRuntimeState(Controller.java:347) com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:425) com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1623) com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1378)        at plugin.fabric.LuaLoader$init$1.invoke(LuaLoader.java:184)        at com.ansca.corona.CoronaEnvironment.invokeLuaErrorHandler(CoronaEnvironment.java:425)        at com.ansca.corona.NativeToJavaBridge.callInvokeLuaErrorHandler(NativeToJavaBridge.java:467)        at com.ansca.corona.JavaToNativeShim.nativeRender(JavaToNativeShim.java)        at com.ansca.corona.JavaToNativeShim.render(JavaToNativeShim.java:195)        at com.ansca.corona.Controller.updateRuntimeState(Controller.java:347)        at com.ansca.corona.graphics.opengl.CoronaGLSurfaceView$CoronaRenderer.onDrawFrame(CoronaGLSurfaceView.java:425)        at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1623)        at com.ansca.corona.graphics.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1378)

Full details: http://crashes.to/s/c15121e3d4b

Cheers,

Chris

Vungle builds their own plugin. Have you reported these issues to Vungle?

Rob

Didn’t realize this was the case.  All of the links on the Corona Marketplace point to Corona being the developer: 

https://marketplace.coronalabs.com/corona-plugins/vungle

I’ve sent them an email.  I believe this is a Corona specific problem though and hope it resolved soon.  I don’t see these kinds of crashes with their Unity plugin.

Cheers,

Chris

I reported these a while ago to Vungle and they are aware their plugin in is bugged… I’ve been told July 2nd the earliest for a plugin update.

I’ll contact the Marketplace team and let them know about this information needing updating.

Rob