Skip to content

Race condition crash because of doing background work on GPU on iOS #26366

Closed

Description

@Arnold134777

Internal: b/140829173

Steps to Reproduce

  1. click to jump to flutter page, at the same time back to background
  2. iphone6, 6plus, 5s device
[✓] Flutter (Channel faceu_dev_1.0.0, v1.0.1-pre.5, on Mac OS X 10.13.6 17G65,
    locale zh-Hans-CN)
    • Flutter version 1.0.1-pre.5 at
      /Users/xiongzhuang/Documents/study/flutter/flutter
    • Framework revision 0fd43583b8 (5 weeks ago), 2018-12-09 19:12:32 +0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from:
      https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK
      components.
      (or visit https://flutter.io/setup/#android-setup for detailed
      instructions).
      If Android SDK has been installed to a custom location, set $ANDROID_HOME
      to that location.
      You may also want to add it to your PATH environment variable.


[✓] iOS toolchain - develop for iOS devices (Xcode 10.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.0, Build version 10A255
    • ios-deploy 2.0.0
    • CocoaPods version 1.5.3

[!] Android Studio (not installed)
    • Android Studio not found; download from
      https://developer.android.com/studio/index.html
      (or visit https://flutter.io/setup/#android-setup for detailed
      instructions).

[!] VS Code (version 1.29.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

Activity

  1. Arnold134777 commented on Jan 10, 2019

    @Arnold134777
    Author

    Our app on-line has many crashes about this.

  2. zoechi commented on Jan 10, 2019

    @zoechi
    Contributor
    1. click to jump to flutter page, at the same time back to background

    Can you please elaborate? What does "jump to flutter page" and "back to background" mean?

    Can you provide a minimal reproduction?

  3. zoechi commented on Jan 10, 2019

    @zoechi
    Contributor

    Is

    Crashed: io.flutter.1.gpu EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000001 gldUpdateDispatch

    the full error output?

  4. added
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Jan 10, 2019
  5. Arnold134777 commented on Jan 11, 2019

    @Arnold134777
    Author
    1. click to jump to flutter page, at the same time back to background

    Can you please elaborate? What does "jump to flutter page" and "back to background" mean?

    Can you provide a minimal reproduction?

    Our app has native and flutter page, we crate a entry can jump to a flutter page. According to online user reponses, we find almost action is click the entry button, and press home to back to background.

  6. removed
    waiting for responseThe Flutter team cannot make further progress on this issue until the original reporter responds
    on Jan 11, 2019
  7. Arnold134777 commented on Jan 11, 2019

    @Arnold134777
    Author

    Is

    Crashed: io.flutter.1.gpu EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000001 gldUpdateDispatch

    the full error output?

    @zoechi According to the Fabirc crash description:

    Heads Up!
    OpenGL rendering while app in background state
    
    Crashed: io.flutter.1.gpu
    0  libGPUSupportMercury.dylib     0x1bf3a6f28 gpus_ReturnNotPermittedKillClient + 12
    1  AGXGLDriver                    0x1c3b818d0 gldUpdateDispatch + 7216
    2  libGPUSupportMercury.dylib     0x1bf3a7f04 gpusSubmitDataBuffers + 176
    3  AGXGLDriver                    0x1c3b82e18 gldUpdateDispatch + 12664
    4  GLEngine                       0x1c4ddd4e4 gliPresentViewES_Exec + 188
    5  OpenGLES                       0x1a57a7a8c -[EAGLContext presentRenderbuffer:] + 80
    6  Flutter                        0x103a71124 shell::IOSSurfaceGL::GLContextPresent() + 176
    7  Flutter                        0x103dc4f64 std::__1::__function::__func<shell::GPUSurfaceGL::AcquireFrame(SkISize const&)::$_1, std::__1::allocator<shell::GPUSurfaceGL::AcquireFrame(SkISize const&)::$_1>, bool (shell::SurfaceFrame const&, SkCanvas*)>::operator()(shell::SurfaceFrame const&, SkCanvas*&&) + 400
    8  Flutter                        0x103ac3c20 shell::SurfaceFrame::Submit() + 112
    9  Flutter                        0x103ab6c84 shell::Rasterizer::DrawToSurface(flow::LayerTree&) + 364
    10 Flutter                        0x103ab7120 shell::Rasterizer::DoDraw(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >) + 44
    11 Flutter                        0x103ab7480 std::__1::__function::__func<std::__1::__bind<void (shell::Rasterizer::*)(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >), shell::Rasterizer*, std::__1::placeholders::__ph<1> const&>, std::__1::allocator<std::__1::__bind<void (shell::Rasterizer::*)(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >), shell::Rasterizer*, std::__1::placeholders::__ph<1> const&> >, void (std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >)>::operator()(std::__1::unique_ptr<flow::LayerTree, std::__1::default_delete<flow::LayerTree> >&&) + 60
    12 Flutter                        0x103ab6fcc shell::Rasterizer::Draw(fml::RefPtr<flutter::Pipeline<flow::LayerTree> >) + 504
    13 Flutter                        0x103abafd0 std::__1::__function::__func<shell::Shell::OnAnimatorDraw(fml::RefPtr<flutter::Pipeline<flow::LayerTree> >)::$_23, std::__1::allocator<shell::Shell::OnAnimatorDraw(fml::RefPtr<flutter::Pipeline<flow::LayerTree> >)::$_23>, void ()>::operator()() + 76
    14 Flutter                        0x103a7db20 fml::MessageLoopImpl::RunExpiredTasks() + 2028
    15 Flutter                        0x103a7ef58 fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 32
    16 CoreFoundation                 0x1a2428804 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
    17 CoreFoundation                 0x1a2428534 __CFRunLoopDoTimer + 864
    18 CoreFoundation                 0x1a2427d68 __CFRunLoopDoTimers + 248
    19 CoreFoundation                 0x1a2422c44 __CFRunLoopRun + 1880
    20 CoreFoundation                 0x1a24221cc CFRunLoopRunSpecific + 436
    21 Flutter                        0x103a7ede4 fml::MessageLoopDarwin::Run() + 88
    22 Flutter                        0x103a7e68c void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(void*) + 272
    23 libsystem_pthread.dylib        0x1a20b32ac _pthread_body + 128
    24 libsystem_pthread.dylib        0x1a20b320c _pthread_start + 48
    25 libsystem_pthread.dylib        0x1a20b6cf4 thread_start + 4
    
  8. zoechi commented on Jan 11, 2019

    @zoechi
    Contributor

    Our app has native and flutter page, we crate a entry can jump to a flutter page. According to online user reponses, we find almost action is click the entry button, and press home to back to background.

    Can you please provide a minimal reproduction project on GitHub?

  9. added
    c: crashStack traces logged to the console
    platform-iosiOS applications specifically
    engineflutter/engine related. See also e: labels.
    a: existing-appsIntegration with existing apps via the add-to-app flow
    on Jan 11, 2019
  10. added this to the milestone on Jan 11, 2019
  11. windvip commented on Jun 22, 2019

    @windvip

    Thread 15 name: xxx.1.gpu
    Thread 15 Crashed:
    0 libGPUSupportMercury.dylib 0x00000001a09f4efc gpus_ReturnNotPermittedKillClient + 12
    1 AGXGLDriver 0x00000001a4b63238 156216
    2 libGPUSupportMercury.dylib 0x00000001a09f5edc gpusSubmitDataBuffers + 176
    3 AGXGLDriver 0x00000001a4b64734 161588
    4 GLEngine 0x00000001a5c2601c gliPresentViewES_Exec + 188
    5 OpenGLES 0x0000000188716a8c -[EAGLContext presentRenderbuffer:] + 80
    6 Flutter 0x0000000108b175d4 161236
    7 Flutter 0x0000000108e6c9d0 3656144
    8 Flutter 0x0000000108b6ad9c 503196
    9 Flutter 0x0000000108b5d848 448584
    10 Flutter 0x0000000108b5dce4 449764
    11 Flutter 0x0000000108b5e044 450628
    12 Flutter 0x0000000108b5db90 449424
    13 Flutter 0x0000000108b620ac 467116
    14 Flutter 0x0000000108b24690 214672
    15 Flutter 0x0000000108b25acc 219852
    16 CoreFoundation 0x000000018581a92c CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 28
    17 CoreFoundation 0x000000018581a650 __CFRunLoopDoTimer + 864
    18 CoreFoundation 0x0000000185819e50 __CFRunLoopDoTimers + 248
    19 CoreFoundation 0x0000000185817a38 __CFRunLoopRun + 1928
    20 CoreFoundation 0x0000000185737fb8 CFRunLoopRunSpecific + 436
    21 Flutter 0x0000000108b25958 219480
    22 Flutter 0x0000000108b25200 217600
    23 libsystem_pthread.dylib 0x000000018549c31c _pthread_body + 308
    24 libsystem_pthread.dylib 0x000000018549c1e8 _pthread_body + 0
    25 libsystem_pthread.dylib 0x000000018549ac28 thread_start + 4

  12. windvip commented on Jun 22, 2019

    @windvip
  13. 34 remaining items

  14. voiddog commented on Nov 20, 2019

    @voiddog

    same issues

  15. gaaclarke commented on Nov 22, 2019

    @gaaclarke
    Member

    Should be fixed now. We opted to guard each call site instead of locking down the thread so this might pop up again in the future for new code. I tested with the original repro code and the landed PR fixes that.

  16. BharathMG-ShareChat commented on Dec 18, 2019

    @BharathMG-ShareChat

    @gaaclarke Thanks a lot for this work. I was trying very hard to find which flutter version includes that engine commit. But, the flutter commit fad3c70 doesn't include any version information.

    Could you let us know which version has this fix? Thanks!

  17. MrLittleStrong commented on Dec 19, 2019

    @MrLittleStrong

    @gaaclarke Thanks a lot for this work. I was trying very hard to find which flutter version includes that engine commit. But, the flutter commit fad3c70 doesn't include any version information.

    Could you let us know which version has this fix? Thanks!

    Stable Channel Flutter 1.12.13+hotfix 5

  18. suzhenghao commented on Mar 16, 2020

    @suzhenghao

    @gaaclarke hi, my app has upgraded flutter to 1.12.13+hotfix 5, but the crash is still there. Can you give me a help please ?

  19. gaaclarke commented on Mar 16, 2020

    @gaaclarke
    Member

    This fix is in 1.15.21 and later.

    144eb45

  20. livotov commented on Mar 23, 2020

    @livotov

    Deployed updated app to production - still happens on iOS 12, Flutter v1.16.0

    Crashed: io.flutter.1.gpu
    0 libGPUSupportMercury.dylib 0x1df279fe4 gpus_ReturnNotPermittedKillClient + 12
    1 AGXGLDriver 0x1e38deed8 gldUpdateDispatch + 7184
    2 libGPUSupportMercury.dylib 0x1df27afac gpusSubmitDataBuffers + 176
    3 AGXGLDriver 0x1e38e0404 gldUpdateDispatch + 12604
    4 GLEngine 0x1e498a234 gliPresentViewES_Exec + 184
    5 OpenGLES 0x1c6542aa4 -[EAGLContext presentRenderbuffer:] + 80
    6 Flutter 0x1012fb624 (Missing)
    7 Flutter 0x1016f8280 (Missing)
    8 Flutter 0x10135fdf0 (Missing)
    9 Flutter 0x10134d2c0 (Missing)
    10 Flutter 0x10134e044 (Missing)
    11 Flutter 0x10134d56c (Missing)
    12 Flutter 0x1013534c0 (Missing)
    13 Flutter 0x10130bea0 (Missing)
    14 Flutter 0x10130db18 (Missing)
    15 CoreFoundation 0x1c32c9554 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 28
    16 CoreFoundation 0x1c32c9284 __CFRunLoopDoTimer + 864
    17 CoreFoundation 0x1c32c8ab8 __CFRunLoopDoTimers + 248
    18 CoreFoundation 0x1c32c3a08 __CFRunLoopRun + 1844
    19 CoreFoundation 0x1c32c2fb4 CFRunLoopRunSpecific + 436
    20 Flutter 0x10130d9f4 (Missing)
    21 Flutter 0x10130d3c0 (Missing)
    22 libsystem_pthread.dylib 0x1c2f552c0 _pthread_body + 128
    23 libsystem_pthread.dylib 0x1c2f55220 _pthread_start + 44
    24 libsystem_pthread.dylib 0x1c2f58cdc thread_start + 4

  21. MrLittleStrong commented on Mar 29, 2020

    @MrLittleStrong

    Deployed updated app to production - still happens on iOS 12, Flutter v1.16.0

    Crashed: io.flutter.1.gpu
    0 libGPUSupportMercury.dylib 0x1df279fe4 gpus_ReturnNotPermittedKillClient + 12
    1 AGXGLDriver 0x1e38deed8 gldUpdateDispatch + 7184
    2 libGPUSupportMercury.dylib 0x1df27afac gpusSubmitDataBuffers + 176
    3 AGXGLDriver 0x1e38e0404 gldUpdateDispatch + 12604
    4 GLEngine 0x1e498a234 gliPresentViewES_Exec + 184
    5 OpenGLES 0x1c6542aa4 -[EAGLContext presentRenderbuffer:] + 80
    6 Flutter 0x1012fb624 (Missing)
    7 Flutter 0x1016f8280 (Missing)
    8 Flutter 0x10135fdf0 (Missing)
    9 Flutter 0x10134d2c0 (Missing)
    10 Flutter 0x10134e044 (Missing)
    11 Flutter 0x10134d56c (Missing)
    12 Flutter 0x1013534c0 (Missing)
    13 Flutter 0x10130bea0 (Missing)
    14 Flutter 0x10130db18 (Missing)
    15 CoreFoundation 0x1c32c9554 CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION + 28
    16 CoreFoundation 0x1c32c9284 __CFRunLoopDoTimer + 864
    17 CoreFoundation 0x1c32c8ab8 __CFRunLoopDoTimers + 248
    18 CoreFoundation 0x1c32c3a08 __CFRunLoopRun + 1844
    19 CoreFoundation 0x1c32c2fb4 CFRunLoopRunSpecific + 436
    20 Flutter 0x10130d9f4 (Missing)
    21 Flutter 0x10130d3c0 (Missing)
    22 libsystem_pthread.dylib 0x1c2f552c0 _pthread_body + 128
    23 libsystem_pthread.dylib 0x1c2f55220 _pthread_start + 44
    24 libsystem_pthread.dylib 0x1c2f58cdc thread_start + 4

    @gaaclarke please check this

  22. rohnsht commented on Mar 30, 2020

    @rohnsht

    @gaaclarke Has this issue been fixed for real? I am still getting this error in the latest flutter version 1.16.2.

    0  libGPUSupportMercury.dylib     0x1c757bfe4 gpus_ReturnNotPermittedKillClient + 12
    1  AGXGLDriver                    0x1cbc29ed8 gldUpdateDispatch + 7184
    2  libGPUSupportMercury.dylib     0x1c757cfac gpusSubmitDataBuffers + 176
    3  AGXGLDriver                    0x1cbc2b404 gldUpdateDispatch + 12604
    4  GLEngine                       0x1cccdc234 gliPresentViewES_Exec + 184
    5  OpenGLES                       0x1ae776aa4 -[EAGLContext presentRenderbuffer:] + 80
    6  Flutter                        0x1016af2b0 (Missing)
    7  Flutter                        0x101aac26c (Missing)
    8  Flutter                        0x10171390c (Missing)
    9  Flutter                        0x1017012bc (Missing)
    10 Flutter                        0x101701be8 (Missing)
    11 Flutter                        0x101701568 (Missing)
    12 Flutter                        0x101707064 (Missing)
    13 Flutter                        0x1016bfb2c (Missing)
    14 Flutter                        0x1016c17a4 (Missing)
    15 CoreFoundation                 0x1ab4fd554 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
    16 CoreFoundation                 0x1ab4fd284 __CFRunLoopDoTimer + 864
    17 CoreFoundation                 0x1ab4fcab8 __CFRunLoopDoTimers + 248
    18 CoreFoundation                 0x1ab4f7a08 __CFRunLoopRun + 1844
    19 CoreFoundation                 0x1ab4f6fb4 CFRunLoopRunSpecific + 436
    20 GraphicsServices               0x1ad6f879c GSEventRunModal + 104
    21 UIKitCore                      0x1d7d58c38 UIApplicationMain + 212
    22 Runner                         0x100f0a5f4 main + 5 (AppDelegate.swift:5)
    23 libdyld.dylib                  0x1aafba8e0 start + 4```
    
    I am getting this crash in ios 12 and below. Can we get the fix for this issue asap as my app is already in appstore and there are lots of this crashes?
    
  23. suancaiAmour commented on Mar 30, 2020

    @suancaiAmour

    My previous PR got caught up in debate and a few proposals were floating around. @chinmaygarde and I just had a chat and we came up with a solution that may make everyone happy:

    1. Guard the image decoder's call to MakeCrossContextFromPixmap such that it will execute if we are foregrounded. If we are backgrounded it will make a CPU backed image. (note SkiaGPUObject doesn't actually mean it's a GPU object).
    2. Make AppWillBackground notification wait until that the switch in 1 is executed.
    3. Make the UnrefQueue also stop consuming its queue while backgrounded, using a mechanism similar to the one used in 1. We'll have to make a way to flip it back on when the app is foregrounded as well, unlike the image decoder.

    The benefits of this are that it doesn't pause the io thread which was worrisome since it's hard to test and could be broken in future PRs. The disadvantages are that it may cause the first frame after foregrounding to be slower and cause extra memory usage since Skia will cache the GPU texture representation.

    This solution still leaves us open to future opengl code on the io thread we haven't considered. It is up to every implementor to know when a call may use OpenGL and guard it. I think we may safely be able to implement this. I'm worried about introducing minefields for a bug that is somewhat rare. I'll give it a shot shortly.

    @gaaclarke, could you tell me the link for this PR? Is it 97a23a8 ?
    Thank you very much.

  24. yrom commented on Apr 3, 2020

    @yrom

    @gaaclarke
    This issue has not been completly resolved by flutter-team-archive/engine#13908.

    #26366 (comment) illustrates it may happen on platform thread, not just io thread:

    ...
    21 UIKitCore                      0x1d7d58c38 UIApplicationMain + 212
    22 Runner                         0x100f0a5f4 main + 5 (AppDelegate.swift:5)
    23 libdyld.dylib                  0x1aafba8e0 start + 4
    

    Enable io.flutter.embedded_views_preview in info.plist. And now the GPU task runner would be same as platform, see https://github.com/flutter/engine/blob/v1.12.13-hotfixes/shell/platform/darwin/ios/framework/Source/FlutterEngine.mm#L423-L443.
    In this case the platform thread of App might be more frozen than before when embedding Flutter, related issue #38689.
    The Shell would post a rendering task to GPUTaskRunner on Flutter drawing, see https://github.com/flutter/engine/blob/v1.12.13-hotfixes/shell/common/shell.cc#L904. But at some rare times, the GPUTaskRunner (platform thread) blocked, that task would be fired after the app DidEnterBackground and then the app crashed.

    backtrace:

    flutter::IOSSurfaceGL::GLContextPresent() (in Flutter) (ios_gl_render_target.mm:0)
    std::__1::__function::__func<flutter::GPUSurfaceGL::AcquireFrame(SkISize const&)::$_1, std::__1::allocator<flutter::GPUSurfaceGL::AcquireFrame(SkISize const&)::$_1>, bool (flutter::SurfaceFrame const&, SkCanvas*)>::operator()(flutter::SurfaceFrame const&, SkCanvas*&&) (in Flutter) (functional:1651)
    flutter::SurfaceFrame::Submit() (in Flutter) (surface.cc:30)
    flutter::Rasterizer::DrawToSurface(flutter::LayerTree&) (in Flutter) (rasterizer.cc:317)
    std::__1::__function::__func<flutter::Rasterizer::Draw(fml::RefPtr<flutter::Pipeline<flutter::LayerTree> >)::$_0, std::__1::allocator<flutter::Rasterizer::Draw(fml::RefPtr<flutter::Pipeline<flutter::LayerTree> >)::$_0>, void (std::__1::unique_ptr<flutter::LayerTree, std::__1::default_delete<flutter::LayerTree> >)>::operator()(std::__1::unique_ptr<flutter::LayerTree, std::__1::default_delete<flutter::LayerTree> >&&) (in Flutter) (rasterizer.cc:223)
    flutter::Rasterizer::Draw(fml::RefPtr<flutter::Pipeline<flutter::LayerTree> >) (in Flutter) (pipeline.h:154)
    std::__1::__function::__func<flutter::Shell::OnAnimatorDraw(fml::RefPtr<flutter::Pipeline<flutter::LayerTree> >)::$_29, std::__1::allocator<flutter::Shell::OnAnimatorDraw(fml::RefPtr<flutter::Pipeline<flutter::LayerTree> >)::$_29>, void ()>::operator()() (in Flutter) (functional:1651)
    fml::MessageLoopImpl::FlushTasks(fml::FlushType) (in Flutter) (message_loop_impl.cc:125)
    fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) (in Flutter) (message_loop_darwin.mm:76)
    
  25. godLoveY commented on Apr 3, 2020

    @godLoveY
    Flutter 1.5.4-hotfix.2 • channel stable • https://github.com/flutter/flutter.git
    Framework • revision 7a4c33425d (2 months ago) • 2019-04-29 11:05:24 -0700
    Engine • revision 52c7a1e849
    Tools • Dart 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)
    

    复现

    import 'dart:async';
    
    import 'package:flutter/material.dart';
    
    const int delayInitializeTime = 1000;
    
    void main() async {
      await Future.delayed(Duration(seconds: 2));
      runApp(MaterialApp(
        title: 'Title2',
        home: Scaffold(
          appBar: AppBar(
            title: Text('114'),
          ),
          body: Container(
            height: 52.0,
            decoration: BoxDecoration(
              image: DecorationImage(
                image: AssetImage('assets/slide_A_login_background.png'),
                fit: BoxFit.cover,
              ),
            ),
          ),
        ),
      ));
    }
    

    启动瞬间点击home 按钮

    设备

    iOS 12.1.4 (16D57)
    Model: iPad mini 3 (Model A1599))

    堆栈信息

    * thread #10, name = 'io.flutter.1.io', stop reason = EXC_BAD_ACCESS (code=1, address=0x1)
      * frame #0: 0x00000001b0e56f28 libGPUSupportMercury.dylib`gpus_ReturnNotPermittedKillClient + 12
        frame #1: 0x00000001b563c8e0 AGXGLDriver`___lldb_unnamed_symbol555$$AGXGLDriver + 464
        frame #2: 0x00000001b0e57f04 libGPUSupportMercury.dylib`gpusSubmitDataBuffers + 176
        frame #3: 0x00000001b563de28 AGXGLDriver`___lldb_unnamed_symbol576$$AGXGLDriver + 292
        frame #4: 0x0000000100ce20f0 Flutter`SkImage::MakeCrossContextFromEncoded(GrContext*, sk_sp<SkData>, bool, SkColorSpace*, bool) + 584
        frame #5: 0x0000000100adf0d8 Flutter`std::__1::__function::__func<fml::internal::CopyableLambda<flutter::(anonymous namespace)::InstantiateImageCodec(_Dart_NativeArguments*)::$_1>, std::__1::allocator<fml::internal::CopyableLambda<flutter::(anonymous namespace)::InstantiateImageCodec(_Dart_NativeArguments*)::$_1> >, void ()>::operator()() + 1264
        frame #6: 0x0000000100acfac8 Flutter`fml::MessageLoopImpl::FlushTasks(fml::MessageLoopImpl::FlushType) + 816
        frame #7: 0x0000000100ad31d4 Flutter`fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*) + 32
        frame #8: 0x0000000193e6a718 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
        frame #9: 0x0000000193e6a448 CoreFoundation`__CFRunLoopDoTimer + 864
        frame #10: 0x0000000193e69c7c CoreFoundation`__CFRunLoopDoTimers + 248
        frame #11: 0x0000000193e64b58 CoreFoundation`__CFRunLoopRun + 1880
        frame #12: 0x0000000193e640e0 CoreFoundation`CFRunLoopRunSpecific + 436
        frame #13: 0x0000000100ad32f8 Flutter`fml::MessageLoopDarwin::Run() + 88
        frame #14: 0x0000000100acf71c Flutter`fml::MessageLoopImpl::DoRun() + 52
        frame #15: 0x0000000100ad26d0 Flutter`void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, fml::Thread::Thread(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0> >(void*) + 200
        frame #16: 0x0000000193af425c libsystem_pthread.dylib`_pthread_body + 128
        frame #17: 0x0000000193af41bc libsystem_pthread.dylib`_pthread_start + 48
        frame #18: 0x0000000193af7cf4 libsystem_pthread.dylib`thread_start + 4
    

    log

    2019-07-10 18:40:29.539666+0800 Runner[1742:367348] You've implemented -[<UIApplicationDelegate> application:performFetchWithCompletionHandler:], but you still need to add "fetch" to the list of your supported UIBackgroundModes in your Info.plist.
    2019-07-10 18:40:29.539793+0800 Runner[1742:367348] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
    2019-07-10 18:40:30.154093+0800 Runner[1742:367394] flutter: Observatory listening on http://127.0.0.1:54303/0cbL-6hWs4U=/
    2019-07-10 18:40:35.117194+0800 Runner[1742:367348] Could not load IOSurface for time string. Rendering locally instead.
    

    这种复现方式在Flutter 1.12.13无效

  26. lock commented on Apr 19, 2020

    @lock

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  27. locked and limited conversation to collaborators on Apr 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions