GithubHelp home page GithubHelp logo

Crash about dd-sdk-android HOT 8 CLOSED

datadog avatar datadog commented on August 26, 2024
Crash

from dd-sdk-android.

Comments (8)

xgouchet avatar xgouchet commented on August 26, 2024

Hello and thanks for reporting this issue.
Can you give us more information on your application setup, namely:

  • the list of dependencies included in your application
  • the order in which you initialise those dependencies (including Datadog)

from dd-sdk-android.

alparp27 avatar alparp27 commented on August 26, 2024

Please note that data dog is being initialized at very beginning of onCreate of the application and next is Crashlytics.

I have mentioned few dependencies above, would you please mention if you are looking for specific one? It is not possible for me to copy paste all dependencies or order of initialization.

from dd-sdk-android.

alparp27 avatar alparp27 commented on August 26, 2024

Thank you so much for quick response!

from dd-sdk-android.

xgouchet avatar xgouchet commented on August 26, 2024

This crash should be fixed in version 1.3.0.
@alparp27 thanks again for raising this issue

from dd-sdk-android.

XyrizTan avatar XyrizTan commented on August 26, 2024

@xgouchet Hello, been running to an issue in 1.8.1 where our JUnit tests aren't finishing correctly, looking at the running threads in the stuck test, "datadog_shutdown" thread is present and interrupting it would let the test finish correctly. Any advice?

from dd-sdk-android.

xgouchet avatar xgouchet commented on August 26, 2024

Hi @XyrizTan, can you share one of the test you're running that have this issue? Are those Unit Tests ran on the JVM (maybe with Robolectric or Unmock), or instrumented tests ran in an emulator?

from dd-sdk-android.

XyrizTan avatar XyrizTan commented on August 26, 2024

@xgouchet Hello, it's a AndroidJUnit4 test assisted with Mockk, when I debugged the test, since the test is involving some static mock of an object that holds an application context, the line of code for Datadog initialisation has been ran (we init Datadog in our application class). If the datadog init line isn't called, the test completes successfully.

Update: You're right, it's because the test is ran on the JVM, we were depending on a test activity instance inside the test, which triggers application oncreate that then triggers the datadog initialization, would you have any advice on what to do in this scenario?

Another update: We "fixed" it by overriding the testInstrumentationRunner to point to a different TestApplication class that only has the bare minimum and without the Datadog initialize call. Do let us know if this will ever be addressed in future versions of the Datadog Android SDK

from dd-sdk-android.

xgouchet avatar xgouchet commented on August 26, 2024

Hi @XyrizTan
Sorry for the late reply, in theory unit tests ran in the JVM should not use the AndroidJUnit4 test, as the Datadog library expects a fully functional Android context, and not a mock. We might look into this in the future, but to do so we would need a complete sample to understand you test setup in order to reproduce this issue on our end.

from dd-sdk-android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.