Skip to content

[Flutter GPU] ReactorGLES::CanReactOnCurrentThread() segfaults when called during UI thread TextureGLES creation. #172880

@bdero

Description

@bdero

Note: This has been worked around and does not cause an immediate user-visible issue, but is blocking us from making an API better.

See also #172588 (comment).

During #172588, I tried to use ReactorGLES::CanReactOnCurrentThread() to infer the threadsafe parameter in the TextureGLES constructor, but this results in a segfault while acquiring the mutex lock on the UI thread while running Flutter GPU example content.

When using Flutter GPU, the user must grab the Flutter GPU context in order to create texture resources. Grabbing the context triggers the UI thread to block until the Impeller context has completed initializing if it's not ready yet. So the reactor should be ready by the time texture creation can occur.

To reproduce:

  1. Make ReactorGLES::CanReactOnCurrentThread() public.
  2. Call reactor->CanReactOnCurrentThread() in the TextureGLES constructor here.
  3. Build the android and host engine targets:
    et build -c android_debug_unopt_arm64 --verbose --no-lto && et build -c host_debug_unopt_arm64 --verbose --no-lto
    
  4. Clone https://github.com/bdero/flutter_scene and navigate to the example app under cd flutter_scene/examples/flutter_app
  5. Enable Impeller w/ OpenGLES and Flutter GPU by setting the following metadata under <application> in android/app/src/main/AndroidManifest.xml:
        <meta-data
            android:name="io.flutter.embedding.android.EnableImpeller"
            android:value="true" />
        <meta-data
            android:name="io.flutter.embedding.android.ImpellerBackend"
            android:value="opengles" />
        <meta-data
            android:name="io.flutter.embedding.android.EnableFlutterGPU"
            android:value="true" />
    
  6. Run Flutter on a real Android arm device with your compiled engine:
    flutter run --debug --local-engine-src-path /path/to/your/flutter/engine/src --local-engine=android_debug_unopt_arm64 --local-engine-host=host_debug_unopt_arm64 -d 29151FDH3006KG
    
❯ flutter run --debug --local-engine-src-path ~/projects/flutter/flutter/engine/src --local-engine=android_debug_unopt_arm64 --local-engine-host=host_debug_unopt_arm64 -d 29151FDH3006KG
Launching lib/main.dart on Pixel 7 Pro in debug mode...
Project does not support Flutter build mode: profile, skipping adding Flutter dependencies
Project does not support Flutter build mode: release, skipping adding Flutter dependencies
Running Gradle task 'assembleDebug'...                              3.1s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
Installing build/app/outputs/flutter-apk/app-debug.apk...          51.0s
D/FlutterJNI(20414): Beginning load of flutter...
D/FlutterJNI(20414): flutter (null) was loaded normally!
I/flutter (20414): [IMPORTANT:flutter/shell/platform/android/android_context_gl_impeller.cc(104)] Using the Impeller rendering backend (OpenGLES).
Syncing files to device Pixel 7 Pro...                              21ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on Pixel 7 Pro is available at: http://127.0.0.1:50140/ZnUJVjtpBlg=/
I/flutter (20414): MSAA is not currently supported on this backend.
The Flutter DevTools debugger and profiler on Pixel 7 Pro is available at: http://127.0.0.1:9103?uri=http://127.0.0.1:50140/ZnUJVjtpBlg=/
F/libc    (20414): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xfc in tid 20492 (1.io), pid 20414 (ple.example_app)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/cheetah/cheetah:16/BP2A.250805.005/13691446:user/release-keys'
Revision: 'MP1.0'
ABI: 'arm64'
Timestamp: 2025-07-25 15:30:07.143958613-0700
Process uptime: 3s
Cmdline: bdero.com.example.example_app
pid: 20414, tid: 20492, name: 1.io  >>> bdero.com.example.example_app <<<
uid: 10550
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x00000000000000fc
Cause: null pointer dereference
    x0  00000000000000fc  x1  00000000000000fc  x2  0000000000000038  x3  0000000000000000
    x4  00000077b8d032b0  x5  b400007a7022f730  x6  0000000000000000  x7  0000000000000000
    x8  00000077b8d02f60  x9  00000000000000fc  x10 000000003ed0d680  x11 fffffffffffffff0
    x12 0070000000000000  x13 000000007fffffff  x14 0000000001857606  x15 000004ea34996daa
    x16 00000077bc7a8720  x17 0000007b980da520  x18 00000077b2b14000  x19 0000000000000000
    x20 0000000000000000  x21 0000000000000000  x22 00000000ffffffff  x23 b400007a40220710
    x24 00000077b8d05880  x25 00000077b8d04fa0  x26 b400007a40221928  x27 b400007a40221948
    x28 0000000000000000  x29 00000077b8d02e80
    lr  00000077bacac354  sp  00000077b8d02e70  pc  0000007b980da520  pst 0000000080001000
56 total frames
backtrace:
      #00 pc 0000000000082520  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+0) (BuildId: 56d1c072e220860e239a4a1824a78f97)
      #01 pc 0000000001fa2350  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__libcpp_mutex_lock[abi:nn210000](pthread_mutex_t*)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #02 pc 00000000020075b0  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::mutex::lock()+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #03 pc 0000000003275ccc  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (impeller::Mutex::Lock()+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #04 pc 0000000003274120  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (impeller::Lock::Lock(impeller::Mutex&)+36) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #05 pc 000000000328049c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (impeller::ReactorGLES::CanReactOnCurrentThread() const+44) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #06 pc 0000000003293ee0  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (impeller::TextureGLES::TextureGLES(std::_fl::shared_ptr<impeller::ReactorGLES>, impeller::TextureDescriptor, bool, std::_fl::optional<unsigned int>, std::_fl::optional<impeller::HandleGLES>)+248) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #07 pc 0000000003293dd0  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (impeller::TextureGLES::TextureGLES(std::_fl::shared_ptr<impeller::ReactorGLES>, impeller::TextureDescriptor, bool)+144) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #08 pc 00000000032578e4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::allocator<impeller::TextureGLES>::construct[abi:nn210000]<impeller::TextureGLES, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&>(impeller::TextureGLES*, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&)+100) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #09 pc 0000000003257870  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::allocator_traits<std::_fl::allocator<impeller::TextureGLES>>::construct[abi:nn210000]<impeller::TextureGLES, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&, 0>(std::_fl::allocator<impeller::TextureGLES>&, impeller::TextureGLES*, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&)+52) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #10 pc 000000000325782c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__shared_ptr_emplace<impeller::TextureGLES, std::_fl::allocator<impeller::TextureGLES>>::__shared_ptr_emplace[abi:nn210000]<std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&, std::_fl::allocator<impeller::TextureGLES>, 0>(std::_fl::allocator<impeller::TextureGLES>, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&)+124) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #11 pc 0000000003257778  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::shared_ptr<impeller::TextureGLES> std::_fl::allocate_shared[abi:nn210000]<impeller::TextureGLES, std::_fl::allocator<impeller::TextureGLES>, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&, 0>(std::_fl::allocator<impeller::TextureGLES> const&, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&)+80) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #12 pc 00000000032573a4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::shared_ptr<impeller::TextureGLES> std::_fl::make_shared[abi:nn210000]<impeller::TextureGLES, std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&, 0>(std::_fl::shared_ptr<impeller::ReactorGLES>&, impeller::TextureDescriptor const&, bool&)+64) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #13 pc 0000000003257340  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (impeller::AllocatorGLES::OnCreateTexture(impeller::TextureDescriptor const&, bool)+64) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #14 pc 0000000002d075f0  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (impeller::Allocator::CreateTexture(impeller::TextureDescriptor const&, bool)+444) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #15 pc 000000000341db6c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (flutter::ImageDecoderImpeller::UnsafeUploadTextureToPrivate(std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::optional<SkImageInfo> const&)+532) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #16 pc 0000000003420e6c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0::operator()() const+76) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #17 pc 0000000003420e10  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (decltype(std::declval<flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0&>()()) std::_fl::__invoke[abi:nn210000]<flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0&>(flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #18 pc 0000000003420dec  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::__invoke_void_return_wrapper<void, true>::__call[abi:nn210000]<flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0&>(flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #19 pc 0000000003420dc8  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::__invoke_r[abi:nn210000]<void, flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0&>(flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #20 pc 0000000003420da4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__alloc_func<flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0, std::_fl::allocator<flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0>, void ()>::operator()[abi:nn210000]()+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #21 pc 0000000003420cdc  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__func<flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0, std::_fl::allocator<flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)::$_0>, void ()>::operator()()+24) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #22 pc 0000000002023df4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__value_func<void ()>::operator()[abi:nn210000]() const+56) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #23 pc 00000000020231b4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::function<void ()>::operator()() const+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #24 pc 00000000020354c4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::SyncSwitch::Execute(fml::SyncSwitch::Handlers const&) const+72) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #25 pc 000000000341e8b4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (flutter::ImageDecoderImpeller::UploadTextureToPrivate(std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)>, std::_fl::shared_ptr<impeller::Context> const&, std::_fl::shared_ptr<impeller::DeviceBuffer> const&, SkImageInfo const&, std::_fl::shared_ptr<SkBitmap> const&, std::_fl::optional<SkImageInfo> const&, std::_fl::shared_ptr<fml::SyncSwitch const> const&)+580) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #26 pc 0000000003424368  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()::operator()() const+140) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #27 pc 0000000003424b50  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (decltype(std::declval<flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()&>()()) std::_fl::__invoke[abi:nn210000]<flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()&>(flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #28 pc 0000000003424b2c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::__invoke_void_return_wrapper<void, true>::__call[abi:nn210000]<flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()&>(flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #29 pc 0000000003424b08  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::__invoke_r[abi:nn210000]<void, flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()&>(flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #30 pc 0000000003424ae4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__alloc_func<flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'(), std::_fl::allocator<flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()>, void ()>::operator()[abi:nn210000]()+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #31 pc 0000000003424838  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__func<flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'(), std::_fl::allocator<flutter::ImageDecoderImpeller::Decode(fml::RefPtr<flutter::ImageDescriptor>, unsigned int, unsigned int, std::_fl::function<void (sk_sp<flutter::DlImage>, std::_fl::basic_string<char, std::_fl::char_traits<char>, std::_fl::allocator<char>>)> const&)::$_1::operator()() const::'lambda'()>, void ()>::operator()()+24) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #32 pc 0000000002023df4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__value_func<void ()>::operator()[abi:nn210000]() const+56) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #33 pc 00000000020231b4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::function<void ()>::operator()() const+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #34 pc 000000000202d0f0  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoopImpl::FlushTasks(fml::FlushType)+156) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #35 pc 000000000202d000  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoopImpl::RunExpiredTasksNow()+24) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #36 pc 000000000203ff30  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoopAndroid::OnEventFired()+52) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #37 pc 000000000203ffa8  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoopAndroid::MessageLoopAndroid()::$_0::operator()(int, int, void*) const+44) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #38 pc 000000000203ff6c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoopAndroid::MessageLoopAndroid()::$_0::__invoke(int, int, void*)+40) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #39 pc 0000000000014ce0  /system/lib64/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+1152) (BuildId: 9d74bc2400ab310cbaa448d0e6b71b67)
      #40 pc 0000000000025784  /system/lib64/libandroid.so (ALooper_pollOnce+100) (BuildId: 6d4a87d15c6046eea274ecedadc1f01b)
      #41 pc 000000000203fd9c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoopAndroid::Run()+232) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #42 pc 000000000202cf64  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoopImpl::DoRun()+56) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #43 pc 000000000202c518  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::MessageLoop::Run()+24) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #44 pc 000000000203a48c  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0::operator()() const+104) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #45 pc 000000000203a414  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (decltype(std::declval<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>()()) std::_fl::__invoke[abi:nn210000]<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #46 pc 000000000203a3f0  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::__invoke_void_return_wrapper<void, true>::__call[abi:nn210000]<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #47 pc 000000000203a3cc  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (void std::_fl::__invoke_r[abi:nn210000]<void, fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #48 pc 000000000203a3a8  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__alloc_func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()[abi:nn210000]()+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #49 pc 000000000203a360  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()()+24) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #50 pc 0000000002023df4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::__function::__value_func<void ()>::operator()[abi:nn210000]() const+56) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #51 pc 00000000020231b4  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (std::_fl::function<void ()>::operator()() const+20) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #52 pc 0000000002039d08  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::operator()(void*) const+44) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #53 pc 0000000002039ccc  /data/app/~~gQWozONleoUft2cTFZXb-w==/bdero.com.example.example_app-2VIbS24nG_PQ-Ib1Ye2ntA==/base.apk!libflutter.so (offset 0x2ef84000) (fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*)+24) (BuildId: 8a17c8d3392dc42855d30f51f139baa125626ced)
      #54 pc 0000000000080e6c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+236) (BuildId: 56d1c072e220860e239a4a1824a78f97)
      #55 pc 00000000000736d0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 56d1c072e220860e239a4a1824a78f97)
Lost connection to device.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Issues that are less important to the Flutter projecte: impellerImpeller rendering backend issues and features requestsflutter-gputeam-engineOwned by Engine teamtriaged-engineTriaged by Engine team

    Type

    Projects

    Status

    🤔 Needs Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions