crisp-im / crisp-sdk-android

:package: Crisp Android SDK, add a chat in any Android app and communicate with your users.
https://docs.crisp.chat/guides/chatbox-sdks/android-sdk/
Other
55 stars 17 forks source link

NPE on GIF parsing #128

Closed pdprober closed 4 months ago

pdprober commented 1 year ago

OS Version : Android 8.1.0 Phones : Redmi 5 Plus SDK Version : 1.0.12 Crash logs: Fatal Exception: java.lang.NullPointerException: Attempt to write to field 'int im.crisp.client.internal.v.h$b.a' on a null object reference at im.crisp.client.internal.v.h.m(h.java:6) at im.crisp.client.internal.v.h.o(h.java:31) at im.crisp.client.internal.v.h.a(h.java:30) at im.crisp.client.internal.v.h.a(h.java:38) at im.crisp.client.internal.b.b.a(b.java:4) at im.crisp.client.internal.b.b.$r8$lambda$BZI-XWb9zfoYc4SlGRCLwS5SC18(b.java) at im.crisp.client.internal.b.b$d.b(b.java:15) at im.crisp.client.internal.b.b$d.onPostExecute(b.java:2) at android.os.AsyncTask.finish(AsyncTask.java:695) at android.os.AsyncTask.-wrap1(AsyncTask.java) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:712) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:176) at android.app.ActivityThread.main(ActivityThread.java:6651) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)

Doc1faux commented 1 year ago

Hi @pdprober and thank you for your feedback.

It seems that this crash happened during a GIF parsing so either the GIF file was not in well formatted or our GIF decoder is not up-to-date.

Could you please provide us the GIF file or URL which is causing the crash if you can?

If you can't, I will add GIF URL logging in the next release to provide us more feedback to resolve this crash.

pdprober commented 1 year ago

Hi, I don't have this GIF file or URL.

Doc1faux commented 4 months ago

This crash should be fixed in 2.0.0beta1 as we are now using the latest glide release for media loading. This build is for preview as it still lacks some minor features and needs some optimizations :)