Closed oliveeyay closed 9 years ago
Hey there!
You are running SDK 1.3.24.
This should not be a problem in SDK 1.3.26, our most recent SDK.
Let me know!
Ok cool I'm planning on releasing a new version today on the PlayStore, I keep you in touch in a few days.
Definitely let me know. We'll hop on this right away for you if this keeps up.
This one does not seem to appear anymore, thanks for that.
Unfortunately, one library you are using is crashing since a few versions (we are currently in 1.4.1 and it still crashes). Here is the stacktrace:
Fatal Exception: java.lang.NullPointerException
Attempt to invoke virtual method 'com.github.do.if.do com.github.do.for.do.finally.b(java.lang.String, com.github.do.if.if)' on a null object reference
raw
com.github.nkzawa.engineio.client.Socket$7.call (Socket.java:333)
com.github.nkzawa.emitter.Emitter$OnceListener.call (Emitter.java:164)
com.github.nkzawa.emitter.Emitter.emit (Emitter.java:117)
com.github.nkzawa.engineio.client.Transport.onOpen (Transport.java:112)
com.github.nkzawa.engineio.client.transports.WebSocket.access$002 (WebSocket.java:29)
com.github.nkzawa.engineio.client.transports.WebSocket$1$1.run (WebSocket.java:71)
com.github.nkzawa.thread.EventThread$2.run (EventThread.java:75)
java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1112)
java.lang.Thread.run (Thread.java:818)
Do you know if "com.github.nkzawa.engineio" as a known issue?
Thanks in advance.
Cheers,
Olivier
Hey Olivier,
I'll look into this.
Luckily, that library is only used in debug mode (it's used for testing your experiments).
If you have a release build this crash will not appear.
What's odd is that the com.github call is not one of ours, and I'm not sure why it's leaking into our SDK.
Could you show me the dependencies you are using that are not required by Taplytics?
Hey @VicV
Crashlytics seems to detect these crashes in production (we got two different package name for debug and production.
Here is the list of all of our dependencies. It seems that any of the other ones are using socket.io.
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.android.support:recyclerview-v7:22.0.0'
compile 'com.google.code.gson:gson:2.+'
compile 'com.jakewharton:butterknife:5.1.1'
compile 'com.crashlytics.android:crashlytics:1.+'
//Lollipin (passcode blocking page)
compile 'com.github.orangegangsters:lollipin:1.1.0@aar'
//CircularBarPager
compile 'com.github.orangegangsters:library:1.2.5@aar'
//SwipyRefreshLayout
compile 'com.github.orangegangsters:swipy:1.2.0@aar'
//CirclePageIndicator
compile 'com.viewpagerindicator:library:2.4.1@aar'
//SlidePager
compile 'com.github.omadahealth.slidepager:slidepager:1.5.1@aar'
//TypefaceTextView
compile 'com.github.omadahealth.typefaceview:typefaceview:1.3.0@aar'
//Animations and animation easing
compile 'com.daimajia.easing:library:1.0.1@aar'
compile 'com.daimajia.androidanimations:library:1.1.3@aar'
//Lollipop dialogs https://github.com/lewisjdeane/L-Dialogs and buttons, animations etc...
compile 'uk.me.lewisdeane.ldialogs:ldialogs:1.2.0@aar'
compile 'com.getbase:floatingactionbutton:1.9.0'
compile 'com.github.traex.rippleeffect:ripple:1.2.3.2-OG'
compile 'com.pnikosis:materialish-progress:1.5'
//Custom progress bar
compile 'com.daimajia.numberprogressbar:library:1.2@aar'
//Parse push library
compile 'com.parse.bolts:bolts-android:1.+'
//Circular View for direct messages
compile 'de.hdodenhof:circleimageview:1.2.1'
//AutoFitTextView
compile 'me.grantland:autofittextview:0.2.+'
//Android-SlideExpandableListView
compile 'com.tjerkw.slideexpandable:library:1.1.0.11-OG'
//Database SQLCipher
compile 'com.sqlcipher.oliviergoutay:sqlcipher_android:1.1.0'
compile 'de.greenrobot:greendao:1.3.8.1-SQLCIPHER'
//Analytics and Health
compile 'com.mixpanel.android:mixpanel-android:5.0.0.0@aar'
compile 'com.google.android.gms:play-services-base:6.5.87'
compile 'com.google.android.gms:play-services-fitness:6.5.87'
compile 'com.github.omadahealth.shealth.sdk:shealth_android:1.0.0'
// Taplytics
compile('com.taplytics.sdk:taplytics:+@aar')
compile("com.mcxiaoke.volley:library:+")
compile("com.squareup.okhttp:okhttp-urlconnection:+")
compile("com.squareup.okhttp:okhttp:+")
compile("com.github.nkzawa:socket.io-client:+") {
exclude group: 'org.json'
}
compile("com.github.nkzawa:engine.io-client:+") {
exclude group: 'org.json'
}
compile project(':crop')
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.2.+'
androidTestCompile 'com.squareup.spoon:spoon-client:1.1.1'
Thanks in advance.
Cheers,
Olivier
Hey @VicV any news on that problem? Thanks in advance.
Hey @olivierg13 ,
Unfortunately, I can't reproduce this issue at all.
That socket call is not from Taplytics.
The function causing the crash:
com.github.do.if.do com.github.do.for.do.finally.b(java.lang.String, com.github.do.if.if)'
Is not within Taplytics.
Could have more information as to what that function is, and what its calling? I'm trying to find how this conflict could exist.
Thanks.
Hey @VicV
The function
com.github.do.if.do com.github.do.for.do.finally.b(java.lang.String, com.github.do.if.if)
is called like that because we obfuscate our code with java keywords.
However the line:
com.github.nkzawa.engineio.client.Socket$7.call (Socket.java:333)
seems to indicate that the problem is within the engineio library (which we only retrieve through Taplytics). Crashlytics can retrieve the source line of the problem through the dump.txt file provided when we obfuscate via proguard, but it can't retrieve the source code entirely. The problem does not seem too big though (2 crashes by week approx.). Is that possible that this piece of code is still used, even in release mode?
Cheers,
Olivier
Hey Olivier,
I know its your obfuscated code, but I am curious as to what the unobfuscated version of that line is.
As for seeing it in release -- that seems extremely unlikely. There are no socket connections made in release mode at all unless its on your dev device.
I'm not sure at all what this could be. Like I said, socket code can't be hit in release, so there is something odd at play. Thats why I'm just curious as to what that obfuscated line is.
I guess it should be equivalent to the line 333 of https://github.com/nkzawa/engine.io-client.java/blob/master/src/main/java/com/github/nkzawa/engineio/client/Socket.java
Except if the obfuscation is failing (which would be extremely weird), maybe this library has a problem.
Oh also we got another issue with the latests SDK:
Fatal Exception: java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
at java.lang.String.(String.java:422)
at java.lang.AbstractStringBuilder.toString(AbstractStringBuilder.java:642)
at java.lang.StringBuilder.toString(StringBuilder.java:663)
at org.json.JSONStringer.toString(JSONStringer.java:430)
at org.json.JSONObject.toString(JSONObject.java:642)
at com.android.volley.toolbox.JsonObjectRequest.(JsonObjectRequest.java:82)
at com.taplytics.sdk.network.hamster.albatross(SourceFile:233)
at com.taplytics.sdk.analytics.buffalo.albatross(SourceFile:507)
at com.taplytics.sdk.analytics.albatross.run(SourceFile:97)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(NativeStart.java)
Thanks.
Cheers,
Olivier
As a recap:
Hello guys,
Crashlytics detected a new crash on the SDK in our app (Prevent on Android). Here is the stacktrace:
This version was uploaded to the Play Store the 24th of April, so I guess you can retrieve the SDK version with this info.
Thanks a lot in advance.
Cheers,
Olivier Goutay