Hey,
I'm currently using Neolane on a large Android app (millions of users), and have noticed crashes caused by the Neolane library in our crash reporting system (Firebase Crashlytics). As I couldn't find the source code, I'm unable to find any further information about these crashes.
It's worth noting these crashes are rare (30-40 instances across 300-400k uses in last couple of days), but I'd still like to resolve them. They seem to be related to receiving an error when registering a user, then the library being unable to handle the error (.registerDevice, then out of bounds in .initErrorMap).
Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=11; index=11
at android.util.ContainerHelpers.binarySearch(ContainerHelpers.java:28)
at android.util.SparseArray.put(SparseArray.java:224)
at com.neolane.android.v1.NeolaneExceptionDesc.initErrorMap(NeolaneException.java:171)
at com.neolane.android.v1.NeolaneExceptionDesc.getErrorDesc(NeolaneException.java:155)
at com.neolane.android.v1.NeolaneExceptionDesc.getErrorDesc(NeolaneException.java:160)
at com.neolane.android.v1.NeolaneException.<init>(NeolaneException.java:88)
at com.neolane.android.v1.Neolane.httpPostSendData(Neolane.java:224)
at com.neolane.android.v1.Neolane.registerDevice(Neolane.java:301)
at com.neolane.android.v1.NeolaneAsyncRunner$1.run(NeolaneAsyncRunner.java:45)
The library is included in a submodule's build.gradle as:
implementation(name: 'neolane_sdk-1.0.26-release', ext: 'aar')
Thank you for any help / clues, let me know if any further information would be helpful.
Jake
Solved! Go to Solution.
Views
Replies
Total Likes
Hi,
This is the first I'm seeing user registration being done via sdk. Usually it's etl with the rest of recipient demographic data.
Are they connection errors? Is it possible to catch the exception from the library without it crashing?
Thanks,
-Jon
Views
Replies
Total Likes
Hi,
This is the first I'm seeing user registration being done via sdk. Usually it's etl with the rest of recipient demographic data.
Are they connection errors? Is it possible to catch the exception from the library without it crashing?
Thanks,
-Jon
Views
Replies
Total Likes
Hey Jon,
The registration is done using:
NeolaneAsyncRunner(Neolane.getInstance()).registerDevice(token, id, optedIn, context, NeolaneTrackerCallback())
which seems pretty standard?
I'm afraid I have no more information than the stack trace provides. Since none of our code is present in the stacktrace, and I believe the registration is done on another thread, I don't believe we can catch it.
The number of crashes spiked massively in the last day, so it may be an intermittent issue like connectivity. Regardless, the crash seems to be in Neolane trying to handle the error.
Thanks,
Jake
Views
Replies
Total Likes
Hi @JakeLee ,
Can you please share if you were able to find a cause of the issue and how was it solved in your case?
Thanks,
Kinshuk
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies