Skip to content

Scenario App Integration Tests on Linux Android Emulator Tests are flaky #107667

Closed
flutter-team-archive/engine
#34675

Description

@zanderso

Over the past day or two, these tests have become very flaky.

Screen Shot 2022-07-14 at 12 55 21 PM

Here is an example:

https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20Android%20Emulator%20Tests/434/overview

I'm having trouble parsing the error out of the logs. Maybe @dnfield can read them? cc @GaryQian this week's engine sheriff.

Activity

  1. GaryQian commented on Jul 14, 2022

    @GaryQian
    Contributor
  2. dnfield commented on Jul 14, 2022

    @dnfield
    Contributor

    SurfaceFlinger is crashing when it tries to allocate an absurdly large buffer:

     [stdout] 07-14 10:37:21.018  6720  6781 E BufferQueueProducer: [SurfaceTexture-0-6720-15](id:1a400000005d,api:1,p:431,c:6720) dequeueBuffer: BufferQueue has been abandoned
     [stdout] 07-14 10:37:21.018   431   431 E CompositionEngine: ANativeWindow::dequeueBuffer failed for display [flutter-vd] with error: -19
     [stdout] 07-14 10:37:21.018   431   431 W CompositionEngine: Dequeuing buffer for display [flutter-vd] failed, bailing out of client composition for this frame
     [stdout] 07-14 10:37:21.018  6720  6781 E BufferQueueProducer: [SurfaceTexture-0-6720-16](id:1a400000005e,api:1,p:431,c:6720) dequeueBuffer: BufferQueue has been abandoned
     [stdout] 07-14 10:37:21.018   431   431 E CompositionEngine: ANativeWindow::dequeueBuffer failed for display [flutter-vd] with error: -19
     [stdout] 07-14 10:37:21.018   431   431 W CompositionEngine: Dequeuing buffer for display [flutter-vd] failed, bailing out of client composition for this frame
     [stdout] 07-14 10:37:21.019  6720  6781 E BufferQueueProducer: [SurfaceTexture-0-6720-17](id:1a4000000063,api:1,p:431,c:6720) dequeueBuffer: BufferQueue has been abandoned
     [stdout] 07-14 10:37:21.019   431   431 E CompositionEngine: ANativeWindow::dequeueBuffer failed for display [flutter-vd] with error: -19
     [stdout] 07-14 10:37:21.026   431   431 W CompositionEngine: Dequeuing buffer for display [flutter-vd] failed, bailing out of client composition for this frame
     [stdout] 07-14 10:37:21.026  6720  6781 E BufferQueueProducer: [SurfaceTexture-0-6720-18](id:1a4000000068,api:1,p:431,c:6720) dequeueBuffer: BufferQueue has been abandoned
     [stdout] 07-14 10:37:21.027   431   431 E CompositionEngine: ANativeWindow::dequeueBuffer failed for display [flutter-vd] with error: -19
     [stdout] 07-14 10:37:21.027   431   431 W CompositionEngine: Dequeuing buffer for display [flutter-vd] failed, bailing out of client composition for this frame
     [stdout] 07-14 10:37:21.032   367   410 E [email protected]: allocateCb:390 failed with 'Error3::NO_RESOURCES'
     [stdout] 07-14 10:37:21.043   431   456 E GraphicBufferAllocator: Failed to allocate (37500 x 150000) layerCount 1 format 1 usage b33: 5
     [stdout] 07-14 10:37:21.044   431   456 F SurfaceFlinger: captureScreenCommon: Buffer failed to allocate: 5
    

    That's causing the app to crash. Then, later, the app is failing to uninstall and failing CI.

    There are two problems here:

    • Sucessful runs also have the app crash. Something is asking surface flinger to acquire a very large buffer, the device can't handle that, and the system crashes.
    • Sometimes when the system crashes (and the test does not notice), it asks the system to uninstall the APK. My assumption here is that the flake is because sometimes the system has not recovered enough to actually perform the uninstall. We regard that as a failure and fail the shard at that point.
  3. dnfield commented on Jul 14, 2022

    @dnfield
    Contributor

    Ok. I believe I know what's happening here.

    The PlatformViewLargerThanDisplaySize test was intended to cover new logic that Emmanuel added when relanding the virtual display stuff. That logic was reverted by @cyanglaz and @bparrishMines because it caused regressions. Now we have a test that tickles a hard crasher and messes up CI.

    I think for now we need to disable that test.

  4. ricardoamador commented on Jul 15, 2022

    @ricardoamador
    Contributor

    Thanks for taking care of that @dnfield .

  5. added
    P2Important issues not at the top of the work list
    team: skip-testAn issue used to track tests that are skipped.
    and removed on Jul 18, 2022
  6. zanderso commented on Jul 27, 2022

    @zanderso
    MemberAuthor

    This was addressed by flutter-team-archive/engine#34675

  7. github-actions commented on Aug 10, 2022

    @github-actions

    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.

  8. locked as resolved and limited conversation to collaborators on Aug 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important issues not at the top of the work listc: disabled testTracks the restoration of a disabled testc: flakeTests that sometimes, but not always, incorrectly passengineflutter/engine related. See also e: labels.platform-androidAndroid applications specificallyteam: skip-testAn issue used to track tests that are skipped.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions