All Products
Search
Document Center

Mobile Platform as a Service:Solve stuck problems

Last Updated:Feb 09, 2022

Problem description

  • Definition of stuck on the Android client:

    • Startup stuck: The main thread does not finish executing a method within 5 seconds when an app starts up.

    • Application Not Responding (ANR) stuck: system ANR stuck.

  • mPaaS log identification:

    • FRAME_CLIENT_STARTUP_DEAD: indicates this log is a "startup stuck" log.

    • APM_ANR: indicates this log is an "ANR stuck" log.

    • threadsTrace: indicates all thread stacks when a stuck problem occurs.

    • internalStack: indicates the worker thread stack of mPaaS when a stuck problem occurs.

Principle for resolving stuck problems

Common causes of a stuck problem include: read or write permission problem, waiting for network, and thread deadlock. Random causes related to code logic or system logic may also result in stuck problems.

The following provides the general principle for resolving a stuck problem:

  1. Focus on the logs of stuck problems that cause a wide range of impacts on users and device models.

  2. Reproduce the problem locally. Troubleshoot the problem based on the analysis result and verify the solution.

  3. Tolerate random and infrequent stuck problems to a certain extent.

  4. Track the frequency of stuck problems in the long term, including the number of users affected by different types of stuck problems, the number of stuck times, and the average number of stuck times per user.

Note

A stuck log, acting as a static snapshot of the problem situation, cannot record the whole occurrence process of the problem. During problem analysis, you cannot locate the root cause directly from the on-site problem situation sometimes.