cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

The DTXAutoAction.getTimer in Android Dynatrace caused a crash.

gaoxu
Newcomer_

I have used the Dynatrace SDK on the Android platform and completed the initialization. However, I have found that the application sometimes suddenly crashes for many users, and the specific crash points to Dynatrace. I hope to receive corresponding assistance to solve this problem.

SDK Version:8.277.1.1003

The following is information related to crashes:

Fatal Exception: java.lang.InternalError: Thread starting during runtime shutdown
at java.lang.Thread.nativeCreate(Thread.java)
at java.lang.Thread.start(Thread.java:883)
at java.util.Timer.<init>(Timer.java:167)
at com.dynatrace.android.agent.DTXAutoAction.getTimer(DTXAutoAction.java:354)
at com.dynatrace.android.agent.DTXAutoAction.startTimer(DTXAutoAction.java:219)
at com.dynatrace.android.agent.DTXAutoAction.onTimerPop(DTXAutoAction.java:306)
at com.dynatrace.android.agent.DTXAutoAction.access$000(DTXAutoAction.java:36)
at com.dynatrace.android.agent.DTXAutoAction$1.run(DTXAutoAction.java:209)
at java.util.TimerThread.mainLoop(Timer.java:562)
at java.util.TimerThread.run(Timer.java:512)

DefaultDispatcher-worker-1:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:838)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

OkHttp ConnectionPool:
at java.lang.Object.wait(Object.java)
at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)

pool-26-thread-1:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)

2 REPLIES 2

Thomas_Wirth1
Dynatrace Champion
Dynatrace Champion

Hey gaoxu,

I recommend to create a support ticket. The Dynatrace support team will assist you with troubleshooting this problem and finding the root cause. To troubleshoot the problem, some additional information is needed:

  • Are you using a cross-platform framework like ReactNative or Flutter?
  • What OneAgent or plugin configuration are you using?
  • Can you reproduce the problem locally?

You are also using a 2 year old agent version. We recommend upgrading to the latest agent version. When a fix for this problem is deployed by Dynatrace, then it will only be included in the latest agent version. You will also benefit from other improvements.

 

Normally, OneAgent stops user action monitoring when it captures a crash and the app gets terminated. It seems in your case user action monitoring was not terminated or a race condition appeared that prevented OneAgent from fully stopping user action monitoring in-time.
Based on the error message, we assume that this crash only happens, when the app is in the shutdown phase. This specific crash should not happen suddenly. Our current assumption is that it might be related to another crash that triggered the app shutdown sequence.

Featured Posts