smartlook / smartlook-android-sdk

5 stars 1 forks source link

ArrayIndexOutOfBoundsException - com.smartlook.sdk.smartlook.analytics.c.a.dispatchTouchEvent (SourceFile:35) #8

Closed bomalone closed 5 years ago

bomalone commented 5 years ago

Got this via Crashlytics. We aren't doing anything beyond initializing the lib, calling enableCrashlytics(true), and using identify(). Just FYI:

Fatal Exception: java.lang.ArrayIndexOutOfBoundsExceptionsrc.length=6 srcPos=2 dst.length=6 dstPos=3 length=4 Raw Text

  | java.lang.System.arraycopy (System.java)   | android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:69)   | com.smartlook.sdk.smartlook.analytics.c.a.dispatchTouchEvent (SourceFile:35)   | com.smartlook.sdk.smartlook.analytics.c.c.dispatchTouchEvent (SourceFile:90)   | com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:541)   | com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1386)

bomalone commented 5 years ago

Oh and identify() is being called with only a string passed into it, no JSONObject

SenNeonoveNoci commented 5 years ago

Hi, @bomalone thanks for your feedback,

I've looked into the issue and sadly was not able to reproduce it. Can you tell us which version of Smartlook SDK are you using? Also, the stack trace does not look complete, can you provide the whole stack trace?

bomalone commented 5 years ago

That's the entire stacktrace Crashlytics gave me, unfortunately. We're using com.smartlook.recording:app:0.9.0.1.7.0-beta. If I get more reports of this with a better trace, I will post that here.

SenNeonoveNoci commented 5 years ago

Thanks for the info, we are going to try to reproduce this issue on the concrete version.

bomalone commented 5 years ago

Hi, any update here?

Here's another stack trace with an array out of bounds exception, from that same com.smartlook.sdk.smartlook.analytics.c.a file. Do you have proguard mappings to see what class this is occurring in? We are seeing more than 1.5% of all user sessions end in a Smartlook related crash, more than tripling our crash rate. Again, there isn't more to the trace due to obfuscation and/or apparent Crashlytics limitations.

Fatal Exception: java.lang.ArrayIndexOutOfBoundsExceptionsrc.length=6 srcPos=1 dst.length=6 dstPos=2 length=5 Raw Text

  | java.lang.System.arraycopy (System.java)   | android.support.v7.view.WindowCallbackWrapper.dispatchGenericMotionEvent (WindowCallbackWrapper.java:79)   | com.smartlook.sdk.smartlook.analytics.c.a.dispatchGenericMotionEvent (SourceFile:45)   | com.android.internal.policy.DecorView.dispatchGenericMotionEvent (DecorView.java:539)   | com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1424)

SenNeonoveNoci commented 5 years ago

Please, can you tell us if this issue is occurring across all devices, or it is occurring only on specific ones?

We are working on a possible solution to this and gonna release new version asap.

Sorry for the inconvenience.

bomalone commented 5 years ago

No problem, I appreciate the quick response!

It is occurring across all devices on at least Android 7, 8, and 9. I do not see any crashes below Android 7, but am not definitively saying it's limited to 7+.

SenNeonoveNoci commented 5 years ago

We have released a new version of our SDK with a fix that should eliminate your problem/crash.

Please update to: implementation('com.smartlook.recording:app:0.9.0.1.7.7-beta').

If your problem prevails feel free to contact us!

bomalone commented 5 years ago

Thank you! I will get this integrated and update here if any issues continue.

bomalone commented 5 years ago

@SenNeonoveNoci Our crash rate on 0.9.0.1.7.7 has actually increased slightly from a new crash. Here's the limited trace we get from Crashlytics:

` java.util.ArrayList.get (ArrayList.java:437)

  | android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:69)   | com.smartlook.sdk.smartlook.analytics.c.c.b.a.dispatchTouchEvent (SourceFile:37)   | com.smartlook.sdk.smartlook.analytics.c.c.b.b.dispatchTouchEvent (SourceFile:21)   | com.android.internal.policy.DecorView.dispatchTouchEvent (DecorView.java:562)   | com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)

`

SenNeonoveNoci commented 5 years ago

@bomalone We are sorry about that. The problem is we cannot reproduce the issue in our testing setup. Can u provide meaby some info about when the crash occurs or anything?

Anyway, we have released another version with a possible fix to this issue, you can try it:

implementation('com.smartlook.recording:app:0.9.0.1.8.1-beta')

Sorry for the inconvenience and any possible further info would be massively appreciated!

bomalone commented 5 years ago

Unfortunately we are only getting the small amount of information via Crashlytics. We've rolled out 0.9.0.1.8.1 to a small number of users and will have some feedback for you in a couple of days. Thanks!

bomalone commented 5 years ago

So this update did have a positive impact. Our crash rate went from about 2.5% to 1%. Thanks for the responsiveness, I'll go ahead and close this out.