Skip to content

web_benchmarks hang with latest Flutter #193295

Closed
flutter/packages
#13089

Description

@elliette

Breaking out from #193291 to track the web_benchmarks failure specifically.

The latest Flutter -> Packages roll failed with a new failure in web_benchmarks: Link to failed job

Logs
============================================================
|| Running for packages/web_benchmarks [@18:02]
============================================================

Running command: "flutter pub get" in /b/s/w/ir/x/w/packages/packages/web_benchmarks
Resolving dependencies...
Downloading packages...
+ _fe_analyzer_shared 108.0.0
+ analyzer 14.4.0
+ args 2.7.0
+ async 2.13.1
+ boolean_selector 2.1.2
+ characters 1.4.1
+ cli_config 0.2.0
+ clock 1.1.3
+ collection 1.19.1
+ convert 3.1.2
+ coverage 1.15.1
+ crypto 3.0.7
+ fake_async 1.3.3
+ file 7.0.1
+ flutter 0.0.0 from sdk flutter
+ flutter_test 0.0.0 from sdk flutter
+ frontend_server_client 4.0.0
+ glob 2.2.0
+ http_multi_server 3.2.2
+ http_parser 4.1.2
+ io 1.1.0
+ leak_tracker 11.0.2
+ leak_tracker_flutter_testing 3.0.10
+ leak_tracker_testing 3.0.2
+ listen 1.0.1
+ logging 1.3.0
+ matcher 0.12.20
+ material_color_utilities 0.13.0 (0.13.1 available)
+ meta 1.19.0
+ mime 2.1.0
+ node_preamble 2.0.2
+ package_config 3.0.0
+ path 1.9.1
+ platform 3.2.0
+ pool 1.5.3
+ process 5.0.6
+ pub_semver 2.2.1
+ shelf 1.4.2
+ shelf_packages_handler 3.0.2
+ shelf_static 1.1.3
+ shelf_web_socket 3.0.0
+ sky_engine 0.0.0 from sdk flutter
+ source_map_stack_trace 2.1.2
+ source_maps 0.10.14
+ source_span 1.10.2
+ stack_trace 1.12.2
+ stream_channel 2.1.4
+ string_scanner 1.4.1
+ term_glyph 1.2.2
+ test 1.32.0
+ test_api 0.7.14
+ test_core 0.6.20
+ typed_data 1.4.0
+ vector_math 2.4.3
+ vm_service 15.3.0
+ watcher 1.2.1
+ web 1.1.1
+ web_socket 1.0.1
+ web_socket_channel 3.0.3
+ webkit_inspection_protocol 1.2.1
+ yaml 3.1.4
Changed 61 dependencies!
1 package has newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
Running command: "dart run tool/run_tests.dart" in /b/s/w/ir/x/w/packages/packages/web_benchmarks
Resolving dependencies...
Downloading packages...
+ _fe_analyzer_shared 108.0.0
+ analyzer 14.4.0
+ args 2.7.0
+ async 2.13.1
+ boolean_selector 2.1.2
+ characters 1.4.1
+ cli_config 0.2.0
+ clock 1.1.3
+ collection 1.19.1
+ convert 3.1.2
+ coverage 1.15.1
+ crypto 3.0.7
+ fake_async 1.3.3
+ file 7.0.1
+ flutter 0.0.0 from sdk flutter
+ flutter_lints 4.0.0 (6.0.0 available)
+ flutter_test 0.0.0 from sdk flutter
+ flutter_web_plugins 0.0.0 from sdk flutter
+ frontend_server_client 4.0.0
+ glob 2.2.0
+ go_router 14.8.1 (18.0.1 available)
+ http_multi_server 3.2.2
+ http_parser 4.1.2
+ io 1.1.0
+ leak_tracker 11.0.2
+ leak_tracker_flutter_testing 3.0.10
+ leak_tracker_testing 3.0.2
+ lints 4.0.0 (6.1.0 available)
+ listen 1.0.1
+ logging 1.3.0
+ matcher 0.12.20
+ material_color_utilities 0.13.0 (0.13.1 available)
+ meta 1.19.0
+ mime 2.1.0
+ node_preamble 2.0.2
+ package_config 3.0.0
+ path 1.9.1
+ platform 3.2.0
+ pool 1.5.3
+ process 5.0.6
+ pub_semver 2.2.1
+ shelf 1.4.2
+ shelf_packages_handler 3.0.2
+ shelf_static 1.1.3
+ shelf_web_socket 3.0.0
+ sky_engine 0.0.0 from sdk flutter
+ source_map_stack_trace 2.1.2
+ source_maps 0.10.14
+ source_span 1.10.2
+ stack_trace 1.12.2
+ stream_channel 2.1.4
+ string_scanner 1.4.1
+ term_glyph 1.2.2
+ test 1.32.0
+ test_api 0.7.14
+ test_core 0.6.20
+ typed_data 1.4.0
+ vector_math 2.4.3
+ vm_service 15.3.0
+ watcher 1.2.1
+ web 1.1.1
+ web_benchmarks 4.1.2 from path ../..
+ web_socket 1.0.1
+ web_socket_channel 3.0.3
+ webkit_inspection_protocol 1.2.1
+ yaml 3.1.4
Changed 66 dependencies!
4 packages have newer versions incompatible with dependency constraints.
Try `flutter pub outdated` for more information.
00:00 +0: loading /b/s/w/ir/x/w/packages/packages/web_benchmarks/testing/test_app/benchmark/web_benchmarks_test.dart
00:00 +0: Can run a web benchmark
Building Flutter web app (compiler: dart2js)...
Build took 26s to complete.
Launching Chrome.
Launching Google Chrome for Testing 145.0.7632.117 

Waiting for the benchmark to report benchmark profile.
[CHROME]: [94544:94559:0924/082443.737714:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: 
[CHROME]: Fontconfig error: No writable cache directories
[CHROME]: 	/var/cache/fontconfig
[CHROME]: [94544:94559:0924/082444.213861:ERROR:dbus/bus.cc:405] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[CHROME]: 
[CHROME]: DevTools listening on ws://127.0.0.1:10000/devtools/browser/620bd9d9-2c8f-4fb9-a270-0d036c9e5d73
Connecting to DevTools: http://localhost:10000
Connected to Chrome tab:  (http://localhost:9999/index.html)
Launching benchmark "appNavigate"
[APP] Testing round 0...
[APP] Testing round 1...
[APP] Testing round 2...
[APP] Testing round 3...
[APP] Testing round 4...
[APP] Testing round 5...
[APP] Testing round 6...
[APP] Testing round 7...
[APP] Testing round 8...
[APP] Testing round 9...
Extracted 416 measured frames.
Skipped 10 non-measured frames.
[APP] Client preparing to reload the window to: "http://localhost:9999/index.html"
Launching benchmark "appScroll"
Extracted 1203 measured frames.
Skipped 21 non-measured frames.
[APP] Client preparing to reload the window to: "http://localhost:9999/index.html"
Launching benchmark "appTap"
[APP] Testing round 0...
[APP] Testing round 1...
[APP] Testing round 2...
[APP] Testing round 3...
[APP] Testing round 4...
[APP] Testing round 5...
[APP] Testing round 6...
[APP] Testing round 7...
[APP] Testing round 8...
[APP] Testing round 9...

Note that this succeeded on the previous Flutter -> Packages roll, meaning the regression is likely in 7a0b1cc...434cd53. Suspect is #192128.

I was able to reproduce locally that #192128 causes the hang. It hung at 6d2efe7eb8 but not at 53c2903e68 (the commit just before it).

cd packages/web_benchmarks
flutter test testing --name '^Can run a web benchmark$'

Activity

  1. added
    P0Critical issues such as a build break or regression
    fyi-webFor the attention of Web platform team
    on Sep 24, 2026
  2. elliette commented on Sep 24, 2026

    @elliette
    MemberAuthor

    The hang is fixed by calling markNeedsCompositeFrame() in web_benchmarks own recorder.dart (see code below).

    However, markNeedsCompositeFrame only exists on Flutter master and not stable (it was added in #192128). Not sure the best way to handle this, since web_benchmarks would then have its min Flutter version set to a future stable. Therefore, I propose reverting #192128 for now until we find a better path forward.

    Fix in recorder.dart:

      @override
      void handleDrawFrame() {
        // Don't keep on truckin' if there's an error or the benchmark has stopped.
        if (_hasErrored || _benchmarkStopped) {
          return;
        }
        try {
          _recorder!.frameWillDraw();
          // ADDED THE FOLLOWING IF-BLOCK:
          for (final RenderView renderView in renderViews) {
            renderView.markNeedsCompositeFrame();
          }
          super.handleDrawFrame();
          _recorder!.frameDidDraw();
        } catch (error, stackTrace) {
          _haltBenchmarkWithError(error, stackTrace);
          rethrow;
        }
      }
  3. knopp commented on Sep 24, 2026

    @knopp
    Member

    We could call the method on dynamic and swallow the exception if it doesn't exist, until markNeedsCompositeFrame trickles to next stable.

  4. added
    P1High-priority issues at the top of the work list
    and removed
    P0Critical issues such as a build break or regression
    on Oct 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work listfyi-webFor the attention of Web platform teamteam-ecosystemOwned by Ecosystem teamtriaged-ecosystemTriaged by Ecosystem team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions