Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Flutter DevTools Performance page fails to load on nubia Pad Pro

オープン
#9,927 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
静か
技術スタック
android, dart

調査の方向性

Android のトレースを有効にした nubia Pad Pro で失敗を再現し、その後、レポートに記載されている DevTools Performance ページと getPerfettoVMTimeline エラーを起点に調査します。提供された ADB リセットコマンドを実行した場合、および ATrace がアクティブでないデバイスの場合と動作を比較します。再起動の回避策を必要とせずに Performance ページが安定して読み込まれれば完了です。

索引モデルが issue の本文から書いたものです。

説明

P2 performance > perfetto screen: performance
Steps to reproduce

1.Create a fresh Flutter project.

2.Run the application on a nubia Pad Pro device.

Actual results

Context
I am currently developing a project targeting the nubia Pad Pro. Previously, I encountered a startup issue with this device, which was resolved by following the solution in flutter/flutter#144999. This required disabling a specific hidden option on the device, suggesting it might have a non-standard system configuration compared to other Android devices.

Description
The current issue is that after launching Flutter DevTools, all other tabs work as expected except for the Performance page, which fails to open.

The following error messages are visible in the browser console:

Image

Workaround
After investigating with AI and exploring the source code, I found a temporary workaround. Running the following ADB commands to stop/reset atrace before launching the project allows the Performance page to load correctly:

adb shell atrace --async_stop >/dev/null 2>&1
adb shell atrace --async_stop --only_userspace >/dev/null 2>&1

adb shell setprop debug.atrace.tags.enableflags 0
adb shell setprop debug.atrace.app_number 0
adb shell setprop debug.atrace.app_0 ""
adb shell setprop debug.atrace.user_initiated ""
adb shell setprop debug.atrace.prefer_sdk 0

AI Summary of the Issue
Here is a summary of the underlying problem provided by the AI:

Conclusion / Root cause

This does not appear to be caused by Flutter flavors, VS Code launch configuration, or project-specific code.

The issue is device-specific. I reproduced it with a newly created Flutter project on a nubia Pad Pro, while the same project works correctly on another Android phone.

On the affected device, Flutter logs the following during app startup:

ATrace was enabled at startup. Flutter and Dart tracing will be forwarded to systrace and will not show up in Dart DevTools.

After that, opening the DevTools Performance page fails with:

getPerfettoVMTimeline: (114)
A recorder of type "Systrace" is currently in use. As a result, timeline events are handled by the OS rather than the VM.

So the root cause is that Android ATrace/System Tracing is enabled on the device before the Flutter engine starts. Flutter detects this at startup and switches the Dart/Flutter timeline recorder to Systrace. Because of that, DevTools cannot read the VM timeline through getPerfettoVMTimeline, and the Performance page keeps spinning.

The relevant device properties were:

debug.atrace.app_0 = *
debug.atrace.app_number = 1
debug.atrace.tags.enableflags = 0xee8fe

Disabling com.android.traceur alone did not fix the issue, so this seems to be caused by device/ROM-level tracing state rather than only the Android System Tracing UI app.

Workaround:

Run the following commands after reboot and before starting the Flutter app:

adb shell atrace --async_stop
adb shell atrace --async_stop --only_userspace
adb shell setprop debug.atrace.tags.enableflags 0
adb shell setprop debug.atrace.app_number 0
adb shell setprop debug.atrace.prefer_sdk 0

After that, the properties become:

debug.atrace.app_number = 0
debug.atrace.tags.enableflags = 0

Then Flutter no longer prints "ATrace was enabled at startup", and the DevTools Performance page opens normally.

This workaround is not persistent across reboot, so it needs to be applied again before launching Flutter on this device.

However, this workaround does not persist after a device reboot. I am sharing my troubleshooting process here in hopes that it provides insights for implementing a more robust or permanent fix for loading the Performance page.

Logs
Flutter Doctor output

[✓] Flutter (Channel stable, 3.41.7, on macOS 26.4.1 25E253 darwin-arm64, locale
zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 26.4.1)
[✓] Chrome - develop for the web
[✓] Connected device (5 available)
! Error: Browsing on the local area network for knife_iphone16. Ensure the
device is unlocked and attached with a cable or associated with the same
local area network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code
-27)
! Error: Browsing on the local area network for Fish’s iPhone. Ensure the
device is unlocked and attached with a cable or associated with the same
local area network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code
-27)
[✓] Network resources

• No issues found!

主要言語
Dart
スター
1.7k
フォーク
405
平均マージ
4日 19時間
マージ済み PR(30日)
13

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

flutter/devtools のほかの issue

flutter/devtools の issue をすべて見る

似ている issue

Dart の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。