web_compiler_test fails on LUCI in Dart SDK
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
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':
-
When
?compiler=wasmis passed,flutter_bootstrap.js:116-125calls_flutter.loader.loadwithout forcing a renderer (rendererConfig = {}), letting Flutter's FlutterLoader pick the first compatible build from_flutter.buildConfig.builds(skwasm first, then canvaskit). -
FlutterLoader requires
browserEnvironment.webGLVersion > 0for skwasm (checked viacanvas.getContext('webgl2') / canvas.getContext('webgl')inbrowser_environment.js:69-81), whereas canvaskit does not check webGLVersion > 0. -
web_compiler_test.dart:37-45starts 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'], }, }, ); -
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-swiftshaderis passed (which is whyflutter_toolsadded SwiftShader flags when rolling Chrome 145+). On the GPU-less Windows LUCI VM,getContext('webgl2')returnsnull(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
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de flutter/devtools
-
Check for modern web libraries to determine if an app is a web appPosiblemente ocupada @hkarmoush la tomó hace 2 días. AbiertoP1 type-code-health
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
flutter/devtools#9973 · 4 comentarios ·
Los mantenedores suelen responder en 2 días
-
`dcm analyze` false positivesAbiertocost: low P2 type-code-health
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
flutter/devtools#9942 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
-
[Inspector V2] Widget properties tab highlight extends past its rounded edgeQuizá libre de nuevo @theprantadutta la tomó hace 162 días y no hay ningún pull request abierto. Abiertocontributions welcome cross-screen inspector-2.0-polish P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
flutter/devtools#8936 · 3 comentarios ·
Los mantenedores suelen responder en 2 días
-
Support removing storage keysAbiertocross-screen P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
documentation good first issue P2
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
flutter/devtools#8293 · 2 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de flutter/devtools
Issues similares
-
bug to check
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Not all highlighting kinds have examples in DartColorsAndFontsPagePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertogood-first-issue P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
flutter/dart-intellij-third-party#758 ·
Los mantenedores suelen responder en 1 día
-
Bug: Incorrect location coordinates on logged Sound Meter dataPosiblemente ocupada @Jashan32 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día