-
Notifications
You must be signed in to change notification settings - Fork 28.9k
Open
Labels
in triagePresently being triaged by the triage teamPresently being triaged by the triage team
Description
Steps to reproduce
- Obtain a Fairphone 3 running /e/OS 3.0.4.
- Clone the repository and build the app. I tested with Flutter 3.32.7
- Run the app on the device
Expected results
The webview should render properly on the classic Android flavour and the /e/OS flavour.
Actual results
The webview renders properly on the Fairphone 3 with the classic Android flavour, but it fails to render on the Fairphone 3 running /e/OS 3.0.4.
I couldn't try with other devices running /e/OS so I don't know if it is just this combination or if it affects more devices running /e/OS.
Code sample
Code sample
I've just cloned the example available in the webview_flutter
package :
webview_flutter_example
Screenshots or Video
Screenshots / Video demonstration
Screenshot of the demo
Screenshot of the demo with Impeller disabled
Added code in android\app\src\main\AndroidManifest.xml
:
<meta-data
android:name="io.flutter.embedding.android.EnableImpeller"
android:value="false" />
Logs
Logs
Launching lib\main.dart on FP3 in debug mode...
√ Built build\app\outputs\flutter-apk\app-debug.apk
I/flutter_example( 4450): Late-enabling -Xcheck:jni
W/flutter_example( 4450): Accessing hidden method Landroid/window/BackEvent;->getTouchX()F (blocked, linking, denied)
W/flutter_example( 4450): Accessing hidden method Landroid/window/BackEvent;->getTouchY()F (blocked, linking, denied)
W/flutter_example( 4450): Accessing hidden method Landroid/window/BackEvent;->getProgress()F (blocked, linking, denied)
W/flutter_example( 4450): Accessing hidden method Landroid/window/BackEvent;->getSwipeEdge()I (blocked, linking, denied)
W/flutter_example( 4450): Accessing hidden method Landroid/window/BackEvent;->getProgress()F (blocked, linking, denied)
W/flutter_example( 4450): Accessing hidden method Landroid/window/BackEvent;->getSwipeEdge()I (blocked, linking, denied)
W/flutter_example( 4450): type=1400 audit(0.0:83): avc: denied { read } for name="max_map_count" dev="proc" ino=49468 scontext=u:r:untrusted_app:s0:c172,c256,c512,c768 tcontext=u:object_r:proc_max_map_count:s0 tclass=file permissive=0 app=com.example.webview_flutter_example
I/flutter ( 4450): [IMPORTANT:flutter/shell/platform/android/android_context_vk_impeller.cc(61)] Using the Impeller rendering backend (Vulkan).
W/flutter_example( 4450): Accessing hidden method Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J (unsupported,test-api, reflection, allowed)
W/flutter_example( 4450): Accessing hidden method Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J (unsupported, reflection, allowed)
W/flutter_example( 4450): Accessing hidden field Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray; (unsupported, reflection, allowed)
W/flutter_example( 4450): Accessing hidden method Landroid/util/LongArray;->get(I)J (unsupported, reflection, allowed)
Connecting to VM Service at ws://127.0.0.1:57867/LZMnvV_7SsE=/ws
Connected to the VM Service.
I/Choreographer( 4450): Skipped 167 frames! The application may be doing too much work on its main thread.
I/WebViewFactory( 4450): Loading com.android.webview version 138.0.7204.97 (code 720409733)
2
W/ziparchive( 4450): Unable to open '/system/product/app/TrichromeLibrary/TrichromeLibrary.dm': No such file or directory
W/flutter_example( 4450): Entry not found
I/cr_WVCFactoryProvider( 4450): version=138.0.7204.97 (720409733) minSdkVersion=29 isBundle=false multiprocess=true packageId=127
I/cr_LibraryLoader( 4450): Successfully loaded native library
I/cr_CachingUmaRecorder( 4450): Flushed 8 samples from 8 histograms, 0 samples were dropped.
I/cr_CombinedPProvider( 4450): #registerProvider() provider:WV.O6@20ac031 isPolicyCacheEnabled:false policyProvidersSize:0
I/cr_PolicyProvider( 4450): #setManagerAndSource() 0
I/cr_CombinedPProvider( 4450): #linkNativeInternal() 1
D/CompatibilityChangeReporter( 4450): Compat change id reported: 183155436; UID 10172; state: ENABLED
I/cr_AppResProvider( 4450): #getApplicationRestrictionsFromUserManager() Bundle[EMPTY_PARCEL]
I/cr_PolicyProvider( 4450): #notifySettingsAvailable() 0
I/cr_CombinedPProvider( 4450): #onSettingsAvailable() 0
I/cr_CombinedPProvider( 4450): #flushPolicies()
W/chromium( 4450): [WARNING:net/dns/dns_config_service_android.cc:69] Failed to read DnsConfig.
W/chromium( 4450): [WARNING:android_webview/browser/network_service/net_helpers.cc:143] HTTP Cache size is: 20971520
D/CompatibilityChangeReporter( 4450): Compat change id reported: 214741472; UID 10172; state: ENABLED
I/CameraManagerGlobal( 4450): Connecting to camera service
D/CompatibilityChangeReporter( 4450): Compat change id reported: 171228096; UID 10172; state: ENABLED
W/cr_media( 4450): BLUETOOTH_CONNECT permission is missing.
W/cr_media( 4450): getBluetoothAdapter() requires BLUETOOTH permission
W/cr_media( 4450): registerBluetoothIntentsIfNeeded: Requires BLUETOOTH permission
I/AdrenoVK-0( 4450): QUALCOMM build : 3b5766d, Ia5561a03a2
I/AdrenoVK-0( 4450): Build Date : 07/20/21
I/AdrenoVK-0( 4450): Shader Compiler Version : EV031.32.02.12
I/AdrenoVK-0( 4450): Local Branch :
2
I/AdrenoVK-0( 4450): Remote Branch :
I/AdrenoVK-0( 4450): Reconstruct Branch :
I/AdrenoVK-0( 4450): Build Config : S L 10.0.7 AArch64
I/AdrenoVK-0( 4450): Driver Path : /vendor/lib64/hw/vulkan.adreno.so
I/PlatformViewsController( 4450): Hosting view in view hierarchy for platform view: 0
D/ProfileInstaller( 4450): Installing profile for com.example.webview_flutter_example
I/PlatformViewsController( 4450): PlatformView is using SurfaceProducer backend
W/Parcel ( 4450): Expecting binder but got null!
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
D/CompatibilityChangeReporter( 4450): Compat change id reported: 193247900; UID 10172; state: ENABLED
I/Choreographer( 4450): Skipped 65 frames! The application may be doing too much work on its main thread.
W/Parcel ( 4450): Expecting binder but got null!
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
I/OpenGLRenderer( 4450): Davey! duration=1150ms; Flags=1, FrameTimelineVsyncId=29337, IntendedVsync=71737706745, Vsync=72817805765, InputEventId=0, HandleInputStart=72827300804, AnimationStart=72827312314, PerformTraversalsStart=72842270491, DrawStart=72869130231, FrameDeadline=71754373411, FrameInterval=72827124762, FrameStartTime=16666666, SyncQueued=72876836950, SyncStart=72944622210, IssueDrawCommandsStart=72944727991, SwapBuffers=72952334450, FrameCompleted=72956013356, DequeueBufferDuration=6486094, QueueBufferDuration=713438, GpuCompleted=72956013356, SwapBuffersCompleted=72954068981, DisplayPresentTime=-4, CommandSubmissionCompleted=72952334450,
2
W/VideoCapabilities( 4450): Unrecognized profile/level 0/3 for video/mpeg2
I/flutter ( 4450): WebView is loading (progress : 10%)
2
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
I/flutter ( 4450): Page started loading: https://flutter.dev/
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
I/flutter ( 4450): url change to https://flutter.dev/
I/flutter ( 4450): WebView is loading (progress : 23%)
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
I/flutter ( 4450): Page resource error:
I/flutter ( 4450): code: -6
I/flutter ( 4450): description: net::ERR_CONNECTION_REFUSED
I/flutter ( 4450): errorType: WebResourceErrorType.connect
I/flutter ( 4450): isForMainFrame: false
I/flutter ( 4450):
I/flutter ( 4450): Page resource error:
I/flutter ( 4450): code: -6
I/flutter ( 4450): description: net::ERR_CONNECTION_REFUSED
I/flutter ( 4450): errorType: WebResourceErrorType.connect
I/flutter ( 4450): isForMainFrame: false
I/flutter ( 4450):
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
I/flutter ( 4450): WebView is loading (progress : 70%)
2
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
2
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
W/ImageReader_JNI( 4450): Unable to acquire a buffer item, very likely client tried to acquire more than maxImages buffers
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
W/ImageReader_JNI( 4450): Unable to acquire a buffer item, very likely client tried to acquire more than maxImages buffers
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
I/cr_MediaCodecBridge( 4450): create MediaCodec video decoder, mime video/avc, decoder name OMX.qcom.video.decoder.avc, block_model=false
I/OMXClient( 4450): IOmx service obtained
I/MediaCodec( 4450): MediaCodec will operate in async mode
D/MediaCodec( 4450): flushMediametrics
D/SurfaceUtils( 4450): connecting to surface 0x6f8ba38660, reason connectToSurface
I/MediaCodec( 4450): [OMX.qcom.video.decoder.avc] setting surface generation to 4556801
D/SurfaceUtils( 4450): disconnecting from surface 0x6f8ba38660, reason connectToSurface(reconnect)
D/SurfaceUtils( 4450): connecting to surface 0x6f8ba38660, reason connectToSurface(reconnect)
D/MediaCodec( 4450): keep callback message for reclaim
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
I/flutter ( 4450): WebView is loading (progress : 70%)
D/SurfaceUtils( 4450): set up nativeWindow 0x6f8ba38660 for 1632x1080, color 0x7fa30c06, rotation 0, usage 0x20402900
I/flutter ( 4450): Page resource error:
I/flutter ( 4450): code: -1
I/flutter ( 4450): description: net::ERR_FAILED
I/flutter ( 4450): errorType: WebResourceErrorType.unknown
I/flutter ( 4450): isForMainFrame: false
I/flutter ( 4450):
I/cr_MediaCodecBridge( 4450): create MediaCodec video decoder, mime video/avc, decoder name OMX.qcom.video.decoder.avc, block_model=false
I/OMXClient( 4450): IOmx service obtained
I/MediaCodec( 4450): MediaCodec will operate in async mode
D/MediaCodec( 4450): flushMediametrics
D/SurfaceUtils( 4450): connecting to surface 0x6f8ba34240, reason connectToSurface
I/MediaCodec( 4450): [OMX.qcom.video.decoder.avc] setting surface generation to 4556802
D/SurfaceUtils( 4450): disconnecting from surface 0x6f8ba34240, reason connectToSurface(reconnect)
D/SurfaceUtils( 4450): connecting to surface 0x6f8ba34240, reason connectToSurface(reconnect)
D/MediaCodec( 4450): keep callback message for reclaim
D/SurfaceUtils( 4450): set up nativeWindow 0x6f8ba34240 for 1632x1080, color 0x7fa30c06, rotation 0, usage 0x20402900
I/cr_MediaCodecBridge( 4450): create MediaCodec video decoder, mime video/avc, decoder name OMX.qcom.video.decoder.avc, block_model=false
I/OMXClient( 4450): IOmx service obtained
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
I/MediaCodec( 4450): MediaCodec will operate in async mode
D/MediaCodec( 4450): flushMediametrics
D/SurfaceUtils( 4450): connecting to surface 0x6f8ba452c0, reason connectToSurface
I/MediaCodec( 4450): [OMX.qcom.video.decoder.avc] setting surface generation to 4556803
D/SurfaceUtils( 4450): disconnecting from surface 0x6f8ba452c0, reason connectToSurface(reconnect)
D/SurfaceUtils( 4450): connecting to surface 0x6f8ba452c0, reason connectToSurface(reconnect)
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
I/flutter ( 4450): WebView is loading (progress : 80%)
D/MediaCodec( 4450): keep callback message for reclaim
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
I/flutter ( 4450): WebView is loading (progress : 80%)
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
D/SurfaceUtils( 4450): set up nativeWindow 0x6f8ba452c0 for 1632x1080, color 0x7fa30c06, rotation 0, usage 0x20402900
D/SurfaceUtils( 4450): set up nativeWindow 0x6f8ba38660 for 1632x1088, color 0x7fa30c06, rotation 0, usage 0x20402900
D/SurfaceUtils( 4450): set up nativeWindow 0x6f8ba34240 for 1632x1088, color 0x7fa30c06, rotation 0, usage 0x20402900
D/SurfaceUtils( 4450): set up nativeWindow 0x6f8ba452c0 for 1632x1088, color 0x7fa30c06, rotation 0, usage 0x20402900
2
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
2
E/chromium( 4450): [ERROR:gpu/command_buffer/service/image_reader_gl_owner.cc:311] no buffers currently available in the reader queue
I/flutter ( 4450): WebView is loading (progress : 100%)
E/FrameEvents( 4450): updateAcquireFence: Did not find frame.
E/flutter ( 4450): [ERROR:flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.cc(146)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not allocate device memory for external image : Incomplete
I/flutter ( 4450): WebView is loading (progress : 100%)
I/flutter ( 4450): Page finished loading: https://flutter.dev/
3
E/chromium( 4450): [ERROR:components/page_load_metrics/browser/page_load_metrics_update_dispatcher.cc:195] Invalid first_paint 1.788 s for first_meaningful_paint 1.586 s
D/MediaCodec( 4450): keep callback message for reclaim
E/chromium( 4450): [ERROR:components/page_load_metrics/browser/page_load_metrics_update_dispatcher.cc:195] Invalid first_paint 1.788 s for first_meaningful_paint 1.586 s
3
D/MediaCodec( 4450): keep callback message for reclaim
E/chromium( 4450): [ERROR:components/page_load_metrics/browser/page_load_metrics_update_dispatcher.cc:195] Invalid first_paint 1.788 s for first_meaningful_paint 1.586 s
3
D/MediaCodec( 4450): keep callback message for reclaim
E/chromium( 4450): [ERROR:components/page_load_metrics/browser/page_load_metrics_update_dispatcher.cc:195] Invalid first_paint 1.788 s for first_meaningful_paint 1.586 s
D/MediaCodec( 4450): keep callback message for reclaim
E/chromium( 4450): [ERROR:components/page_load_metrics/browser/page_load_metrics_update_dispatcher.cc:195] Invalid first_paint 1.788 s for first_meaningful_paint 1.586 s
3
D/MediaCodec( 4450): keep callback message for reclaim
E/chromium( 4450): [ERROR:components/page_load_metrics/browser/page_load_metrics_update_dispatcher.cc:195] Invalid first_paint 1.788 s for first_meaningful_paint 1.586 s
3
D/MediaCodec( 4450): keep callback message for reclaim
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.32.7, on Microsoft Windows [version 10.0.26100.4652], locale fr-FR) [637ms]
• Flutter version 3.32.7 on channel stable at C:\Users\adrie\AppData\Local\Flutter\Sdk
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision d7b523b356 (7 days ago), 2025-07-15 17:03:46 -0700
• Engine revision 39d6d6e699
• Dart version 3.8.1
• DevTools version 2.45.1
[✓] Windows Version (11 Professionnel 64-bit, 24H2, 2009) [4,8s]
[✓] Android toolchain - develop for Android devices (Android SDK version 36.0.0) [5,2s]
• Android SDK at C:\Users\adrie\AppData\Local\Android\sdk
• Platform android-36, build-tools 36.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.6+-13391695-b895.109)
• All Android licenses accepted.
[✓] Chrome - develop for the web [47ms]
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[✗] Visual Studio - develop Windows apps [45ms]
✗ Visual Studio not installed; this is necessary to develop Windows apps.
Download at https://visualstudio.microsoft.com/downloads/.
Please install the "Desktop development with C++" workload, including all of its default components
[✓] Android Studio (version 2025.1.1) [40ms]
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.6+-13391695-b895.109)
[✓] VS Code (version 1.102.1) [37ms]
• VS Code at C:\Users\adrie\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.114.0
[✓] Connected device (4 available) [554ms]
• FP3 (mobile) • A209F8600201 • android-arm64 • Android 13 (API 33)
• Windows (desktop) • windows • windows-x64 • Microsoft Windows [version 10.0.26100.4652]
• Chrome (web) • chrome • web-javascript • Google Chrome 138.0.7204.158
• Edge (web) • edge • web-javascript • Microsoft Edge 138.0.3351.95
[✓] Network resources [730ms]
• All expected network resources are available.
! Doctor found issues in 1 category.
Metadata
Metadata
Assignees
Labels
in triagePresently being triaged by the triage teamPresently being triaged by the triage team