question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Null pointer crash

See original GitHub issue

Null pointer exception crash reported on google play, cant reproduce it my self. Crash log is from the latest 3.7.0 ver.

Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.graphics.Rect f.b.a.d.b()' on a null object reference at com.airbnb.lottie.LottieDrawable.getMaxScale(LottieDrawable.java:1208) at com.airbnb.lottie.LottieDrawable.drawWithOriginalAspectRatio(LottieDrawable.java:1263) at com.airbnb.lottie.LottieDrawable.drawInternal(LottieDrawable.java:407) at com.airbnb.lottie.LottieDrawable.draw(LottieDrawable.java:397) at android.widget.ImageView.onDraw(ImageView.java:1505) at android.view.View.draw(View.java:21618) at android.view.View.updateDisplayListIfDirty(View.java:20483) at android.view.View.draw(View.java:21350) at android.view.ViewGroup.drawChild(ViewGroup.java:4446) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4205) at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1975) at android.view.View.draw(View.java:21621) at android.view.View.updateDisplayListIfDirty(View.java:20483) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4428) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4401) at android.view.View.updateDisplayListIfDirty(View.java:20441) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:584) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:590) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:668) at android.view.ViewRootImpl.draw(ViewRootImpl.java:3840) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3648) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2954) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1857) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8089) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1057) at android.view.Choreographer.doCallbacks(Choreographer.java:875) at android.view.Choreographer.doFrame(Choreographer.java:776) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1042) at android.os.Handler.handleCallback(Handler.java:888) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:213) at android.app.ActivityThread.main(ActivityThread.java:8178) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:11
  • Comments:10

github_iconTop GitHub Comments

3reactions
CoDCaTcommented, Oct 6, 2021

Null pointer exception crash (Ver. 3.7.0) BaseKeyframeAnimation :: getValue() -> returns null

Fatal Exception: java.lang.NullPointerException: Attempt to read from field 'float android.graphics.PointF.x' on a null object reference at com.airbnb.lottie.animation.keyframe.TransformKeyframeAnimation.getMatrix(TransformKeyframeAnimation.java:172) at com.airbnb.lottie.model.layer.BaseLayer.draw(BaseLayer.java:245) at com.airbnb.lottie.model.layer.CompositionLayer.drawLayer(CompositionLayer.java:120) at com.airbnb.lottie.model.layer.BaseLayer.draw(BaseLayer.java:247) at com.airbnb.lottie.LottieDrawable.drawWithOriginalAspectRatio(LottieDrawable.java:1294) at com.airbnb.lottie.LottieDrawable.drawInternal(LottieDrawable.java:407) at com.airbnb.lottie.LottieDrawable.draw(LottieDrawable.java:397) at android.widget.ImageView.onDraw(ImageView.java:1436) at android.view.View.draw(View.java:22350) at android.view.View.updateDisplayListIfDirty(View.java:21226) at android.view.View.draw(View.java:22081) at android.view.ViewGroup.drawChild(ViewGroup.java:4516) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277) at androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw(ConstraintLayout.java:1994) at android.view.View.updateDisplayListIfDirty(View.java:21217) at android.view.View.draw(View.java:22081) at android.view.ViewGroup.drawChild(ViewGroup.java:4516) at androidx.recyclerview.widget.RecyclerView.drawChild(RecyclerView.java:5204) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4277) at android.view.View.draw(View.java:22353) at androidx.recyclerview.widget.RecyclerView.draw(RecyclerView.java:4603) at android.view.View.updateDisplayListIfDirty(View.java:21226) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4500) at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4473) at android.view.View.updateDisplayListIfDirty(View.java:21186) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:559) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:565) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:642) at android.view.ViewRootImpl.draw(ViewRootImpl.java:4106) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3833) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3104) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1948) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8177) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:972) at android.view.Choreographer.doCallbacks(Choreographer.java:796) at android.view.Choreographer.doFrame(Choreographer.java:731) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:957) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7664) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

3reactions
KatherineStridercommented, Apr 23, 2021

Hello. We found a similar crash (3.7.0 ver.). It was not possible to reproduce, however, in firebase analytics there are about 20 such cases.

Fatal Exception: java.lang.NullPointerException Attempt to read from field ‘float android.graphics.PointF.x’ on a null object reference

com.airbnb.lottie.animation.keyframe.TransformKeyframeAnimation.getMatrix (TransformKeyframeAnimation.java:171)
com.airbnb.lottie.model.layer.BaseLayer.draw (BaseLayer.java:237)
com.airbnb.lottie.model.layer.CompositionLayer.drawLayer (CompositionLayer.java:120)
com.airbnb.lottie.model.layer.BaseLayer.draw (BaseLayer.java:239)
com.airbnb.lottie.LottieDrawable.drawWithOriginalAspectRatio (LottieDrawable.java:1247)
com.airbnb.lottie.LottieDrawable.drawInternal (LottieDrawable.java:393)
com.airbnb.lottie.LottieDrawable.draw (LottieDrawable.java:383)
android.widget.ImageView.onDraw (ImageView.java:1532)
android.view.View.draw (View.java:21618)
android.view.View.updateDisplayListIfDirty (View.java:20483)
android.view.View.draw (View.java:21350)
android.view.ViewGroup.drawChild (ViewGroup.java:4446)
android.view.ViewGroup.dispatchDraw (ViewGroup.java:4205)
androidx.constraintlayout.widget.ConstraintLayout.dispatchDraw (ConstraintLayout.java:1975)
android.view.View.updateDisplayListIfDirty (View.java:20474)
android.view.View.draw (View.java:21350)
android.view.ViewGroup.drawChild (ViewGroup.java:4446)
androidx.recyclerview.widget.RecyclerView.drawChild (RecyclerView.java:5030)
android.view.ViewGroup.dispatchDraw (ViewGroup.java:4205)
android.view.View.draw (View.java:21621)
androidx.recyclerview.widget.RecyclerView.draw (RecyclerView.java:4429)
android.view.View.updateDisplayListIfDirty (View.java:20483)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ViewGroup.recreateChildDisplayList (ViewGroup.java:4428)
android.view.ViewGroup.dispatchGetDisplayList (ViewGroup.java:4401)
android.view.View.updateDisplayListIfDirty (View.java:20441)
android.view.ThreadedRenderer.updateViewTreeDisplayList (ThreadedRenderer.java:584)
android.view.ThreadedRenderer.updateRootDisplayList (ThreadedRenderer.java:590)
android.view.ThreadedRenderer.draw (ThreadedRenderer.java:668)
android.view.ViewRootImpl.draw (ViewRootImpl.java:3840)
android.view.ViewRootImpl.performDraw (ViewRootImpl.java:3648)
android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:2954)
android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1857)
android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:8089)
android.view.Choreographer$CallbackRecord.run (Choreographer.java:1057)
android.view.Choreographer.doCallbacks (Choreographer.java:875)
android.view.Choreographer.doFrame (Choreographer.java:776)
android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1042)
android.os.Handler.handleCallback (Handler.java:888)
android.os.Handler.dispatchMessage (Handler.java:100)
android.os.Looper.loop (Looper.java:213)
android.app.ActivityThread.main (ActivityThread.java:8178)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:513)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1101)
Read more comments on GitHub >

github_iconTop Results From Across the Web

Null pointers and application crashing - c++ - Stack Overflow
The crash from dereferencing a null pointer is because the OS maps an invalid page to addresses near 0, so programs ...
Read more >
Why am I getting a null pointer crash when trying to call a ...
The problem is that WINRT_IMPL_SHIM is producing a null pointer, and therefore the attempt to call the TryGetStringAsync method crashes.
Read more >
CWE-476: NULL Pointer Dereference (4.9) - MITRE
A NULL pointer dereference occurs when the application dereferences a pointer that it expects to be valid, but is NULL, typically causing a...
Read more >
Null Dereference - OWASP Foundation
Null -pointer dereferences, while common, can generally be found and corrected in a simple way. They will always result in the crash of...
Read more >
Node crash. BUG: unable to handle kernel NULL pointer ...
BUG: unable to handle kernel NULL pointer dereference at 0000000000000008. Symptoms The node crashed. The similar messages could be found in dmesg: [ ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found