Crashes from Android SDK, no source code available | Community
Skip to main content
January 17, 2020
Solved

Crashes from Android SDK, no source code available

  • January 17, 2020
  • 1 reply
  • 1988 views

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

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Jonathon_wodnicki

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

1 reply

Jonathon_wodnicki
Community Advisor
Jonathon_wodnickiCommunity AdvisorAccepted solution
Community Advisor
January 28, 2020

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

JakeLeeAuthor
January 30, 2020

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

Adobe Employee
November 22, 2023

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