bugsnag / bugsnag-android-ndk Goto Github PK
View Code? Open in Web Editor NEWDEPRECATED - this project now lives at bugsnag/bugsnag-android
Home Page: https://github.com/bugsnag/bugsnag-android
License: MIT License
DEPRECATED - this project now lives at bugsnag/bugsnag-android
Home Page: https://github.com/bugsnag/bugsnag-android
License: MIT License
App should not crash after calling Bugsnag.init(application)
when using com.bugsnag:bugsnag-android-ndk:1.1.2
App crashes after calling Bugsnag.init(application)
// Gradle 4.1
implementation 'com.bugsnag:bugsnag-android:4.3.2'
implementation 'com.bugsnag:bugsnag-android-ndk:1.1.2'
AndroidManifest
as described in tutorialBugsnag.init(application)
inside Application.onCreate()
and build either debug or release apk and observe the app crash.1.0.0-1.1.2 (though error reports vary depending on debug/release builds - see details below)
1.0.1-1.1.2
.Progaurd obfuscation/shrinking/optimizing is off.
03-20 15:13:57.694 13959-13959/? A/DEBUG: Abort message: 'java_vm_ext.cc:534] JNI DETECTED ERROR IN APPLICATION: JNI GetFieldID called with pending exception java.lang.ClassNotFoundException: Didn't find class "com.bugsnag.android.Breadcrumbs$Breadcrumb" on path: DexPathList[[zip file "/data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/base.apk"],nativeLibraryDirectories=[/data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/lib/arm64, /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/base.apk!/lib/arm64-v8a, /system/li
03-20 15:13:57.700 13959-13959/? A/DEBUG: #09 pc 000000000000b41c /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/lib/arm64/libbugsnag-ndk.so (bsg_populate_breadcrumbs+208)
03-20 15:13:57.700 13959-13959/? A/DEBUG: #10 pc 000000000000bd74 /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/lib/arm64/libbugsnag-ndk.so (bsg_populate_event_details+256)
03-20 15:13:57.700 13959-13959/? A/DEBUG: #11 pc 0000000000006614 /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/lib/arm64/libbugsnag-ndk.so (setupBugsnag+196)
1.0.1-1.1.2
.Progaurd obfuscation/shrinking/optimizing is on and Proguard rules are:
-keepattributes *Annotation*,SourceFile,LineNumberTable,EnclosingMethod
-optimizations method/inlining/short
-optimizations method/inlining/unique
-dontwarn com.bugsnag.**
-keep class com.bugsnag.** { *; }
And the error report:
A/zygote64: java_vm_ext.cc:534] from void com.bugsnag.android.ndk.BugsnagObserver.setupBugsnag()
A/zygote64: java_vm_ext.cc:534] native: #08 pc 000000000000b41c /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/lib/arm64/libbugsnag-ndk.so (bsg_populate_breadcrumbs+208)
A/zygote64: java_vm_ext.cc:534] native: #09 pc 000000000000bd74 /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/lib/arm64/libbugsnag-ndk.so (bsg_populate_event_details+256)
A/zygote64: java_vm_ext.cc:534] native: #10 pc 0000000000006614 /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/lib/arm64/libbugsnag-ndk.so (setupBugsnag+196)
A/zygote64: java_vm_ext.cc:534] native: #11 pc 0000000000000a40 /data/app/com.my.app.debug-w4KIY-vzavE0Bv-RTmbaiw==/oat/arm64/base.odex (Java_com_bugsnag_android_ndk_BugsnagObserver_setupBugsnag__+144)
A/zygote64: java_vm_ext.cc:534] at com.bugsnag.android.ndk.BugsnagObserver.setupBugsnag(Native method)
A/zygote64: java_vm_ext.cc:534] at com.bugsnag.android.ndk.BugsnagObserver.update(BugsnagObserver.java:31)
A/zygote64: java_vm_ext.cc:534] at com.bugsnag.android.Client.notifyBugsnagObservers(Client.java:233)
A/zygote64: java_vm_ext.cc:534] at com.bugsnag.android.NativeInterface.configureClientObservers(NativeInterface.java:59)
A/zygote64: java_vm_ext.cc:534] at com.bugsnag.android.Bugsnag.init(Bugsnag.java:79)
A/zygote64: java_vm_ext.cc:534] at com.my.app.d.a.a(BugsnagErrorReporter.kt:38)
1.0.0
still in debug.And logging 03-20 13:40:57.041 5673-5673/? I/Bugsnag: Bugsnag NDK integration not available
. And after looking around I found out that it is due to not finding "com.bugsnag.android.ndk.BugsnagObserver".
What I tried:
BugsnagObserver
and com.bugsnag.android.Breadcrumbs$Breadcrumb
) are included in here to confirm that they weren't deleted by Proguard.Some users have been unable to comment on Github issues when an adblocker extension is enabled.
We recommend temporarily disabling the extension, or if that fails, contacting [email protected].
When I clone the application, I can run make build
and build all the .so
files
I get the following stack trace
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/maltz/Documents/workspace/bugsnag-android-ndk/build.gradle' line: 41
* What went wrong:
A problem occurred evaluating root project 'bugsnag-android-ndk'.
> Unable to generate signature for '/Users/maltz/Documents/workspace/bugsnag-android-ndk/ndk/build/outputs/aar/ndk-release.aar' as no signatory is available to sign
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
make: *** [build] Error 1
Clone repository, run make build
1.1.2
Nope!
Some users have been unable to comment on Github issues when an adblocker extension is enabled.
We recommend temporarily disabling the extension, or if that fails, contacting [email protected].
we expecte there to be a jni/armeabi/libbugsnag-ndk.so
armeabi not included in aar
1.1.1
Expected to see a stack trace somewhat like:
libc.so[f6fc7000](pthread_mutex_lock+7)[f6fde1de]
libapsdk.so[daff1000](AP::Monitor::lock()+18)[db28dbfc]
libapsdk.so[daff1000](APAvClockPlay+1c)[db1efe58]
libapcontroller_android.so[dac6c000](TsAvClock::sendFirstAudio()+218)[dac97d50]
libapcontroller_android.so[dac6c000](TsAvClock::setValid()+104)[dac98604]
libapcontroller_android.so[dac6c000](TsAvClockAndroid::setPositionMillis(unsigned int)+150)[dac7ebc8]
libapcontroller_android.so[dac6c000](TsDeviceAndroid::setPositionMillis(unsigned int)+20)[dac80514]
libapcontroller_android.so[dac6c000](ExoRenderer::setPositionMillis(unsigned int)+30)[dac82c00]
libMovePlayerController.so[dabd8000](Java_com_echostar_apsdk_APExoPlayerCallback_SetPositionMillis+34)[dabe7398]
The crash is inside the method APAVClockPlay() where lock() is called on a NULL pointer
The trace in the bugsnag console had extra and wrong entries:
modules/libAdaptivePlayer/airbag_fd/airbag_fd.c:1442initCrashHandlers()
sdk/src/objects/LoggerPropsManager.cpp:97loggerChangedOnTask(void*, void*)
modules/libAdaptivePlayer/Logger.h:420AP::Logger::info(char const*, std::__va_list)
sdk/src/objects/LoggerPropsManager.cpp:71LoggerPropsManager::~LoggerPropsManager()
integrations/AVController/TsAvClock.cpp:297TsAvClock::sendFirstAudio()
integrations/AVController/TsAvClock.cpp:234TsAvClock::sendAssetBegin()
integrations/AVController/TsAvClock.cpp:405TsAvClock::setValid()
integrations/AVController/TsAvClock.cpp:423TsAvClock::setValid()
integrations/Android/TsAvClockAndroid.cpp:52TsAvClockAndroid::setPositionMillis(unsigned int)
integrations/Android/TsDeviceAndroid.cpp:186TsDeviceAndroid::setPositionMillis(unsigned int)
integrations/Android/jni/APExoPlayerCallbackJni.cpp:64Java_com_echostar_apsdk_APExoPlayerCallback_SetPositionMillis
Bugsnag ndk 1.1.2
Bugsnag ndk doesn't crash when under test
When I call leaveBreadcrumb
with bugsnag ndk support enabled, my app will sometimes crash while testing.
Add
Observable.fromCallable(
new Callable<Void>() {
@Override
public Void call() throws Exception {
Bugsnag.leaveBreadcrumb("some non-null value" + "some other non-null value");
return null;
}
})
.subscribeOn(Schedulers.io())
.subscribe();
from a Activity under instrumentation test. This doesn't happen all the time, but it's pretty consistently reproducible on this specific test.
NDK 1.1.2 w/ Bugsnag sdk 4.3.1
I THINK this is only due to the ndk.
Some users have been unable to comment on Github issues when an adblocker extension is enabled.
We recommend temporarily disabling the extension, or if that fails, contacting [email protected].
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.