Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

web_compiler_test fails on LUCI in Dart SDK

Abierto Apto para principiantes
#10,032 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
73/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
dart, flutter
Área
testing

Línea de trabajo

Lee web_compiler_test.dart alrededor de las líneas 37–45 y compara sus opciones de Chrome con web_driver_service.dart alrededor de las líneas 361–369. Ejecuta la prueba de webdriver que falla en LUCI o en una configuración headless comparable; el trabajo estará hecho cuando la prueba seleccione el renderizador skwasm esperado en lugar de recurrir a canvaskit.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Recently devtools webdriver tests failed on LUCI in Dart SDK: https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket/8668669452558670145/+/u/test_devtools/stdout?format=raw

Gemini had this to say:

Root Cause of the web_compiler_test.dart Failure on Windows

In web_compiler_test.dart:66-86, the test opens DevTools with ?compiler=wasm and checks that <body flt-renderer="..."> equals 'skwasm', but got 'canvaskit':

  1. When ?compiler=wasm is passed, flutter_bootstrap.js:116-125 calls _flutter.loader.load without forcing a renderer (rendererConfig = {}), letting Flutter's FlutterLoader pick the first compatible build from _flutter.buildConfig.builds (skwasm first, then canvaskit).

  2. FlutterLoader requires browserEnvironment.webGLVersion > 0 for skwasm (checked via canvas.getContext('webgl2') / canvas.getContext('webgl') in browser_environment.js:69-81), whereas canvaskit does not check webGLVersion > 0.

  3. web_compiler_test.dart:37-45 starts Chrome with only 'args': ['--headless']:

    driver = await createDriver(
      uri: Uri.parse('http://127.0.0.1:${ChromeDriver.port}'),
      desired: {
        ...Capabilities.chrome,
        Capabilities.chromeOptions: {
          'args': ['--headless'],
        },
      },
    );
    
  4. Starting in Chrome 139+ (LUCI uses Chrome 155), Chrome disabled automatic fallback to its bundled SwiftShader for WebGL on headless VMs without a hardware GPU unless --enable-unsafe-swiftshader is passed (which is why flutter_tools added SwiftShader flags when rolling Chrome 145+). On the GPU-less Windows LUCI VM, getContext('webgl2') returns null (webGLVersion == -1), causing FlutterLoader to reject the skwasm build and fall back to canvaskit.

Upstream Change Needed in flutter/devtools

In web_compiler_test.dart:37-45, pass the SwiftShader flags (and optionally CHROME_EXECUTABLE as 'binary') in Capabilities.chromeOptions, matching web_driver_service.dart:361-369:

    driver = await createDriver(
      uri: Uri.parse('http://127.0.0.1:${ChromeDriver.port}'),
      desired: {
        ...Capabilities.chrome,
        Capabilities.chromeOptions: {
          if (Platform.environment['CHROME_EXECUTABLE'] case final chromeExe?)
            'binary': chromeExe,
          'args': [
            '--headless',
            if (Platform.isLinux || Platform.isWindows) ...[
              '--use-gl=angle',
              '--use-angle=swiftshader',
              '--enable-unsafe-swiftshader',
              '--disable-gpu-sandbox',
            ],
          ],
        },
      },
    );

Do these words make sense to you, @kenzieschmoll ?

Lenguaje dominante
Dart
Estrellas
1.7k
Forks
407
Merge medio
3 d 14 h
PR fusionados (30 d)
15

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de flutter/devtools

Todos los issues de flutter/devtools

Issues similares

Más issues de Dart

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.