Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skipping between composited frames #1

Closed
EwanRoycroft opened this issue Jun 29, 2020 · 3 comments
Closed

Skipping between composited frames #1

EwanRoycroft opened this issue Jun 29, 2020 · 3 comments
Assignees
Labels
bug Something isn't working ozone Specific to the Ozone implementation

Comments

@EwanRoycroft
Copy link
Member

EwanRoycroft commented Jun 29, 2020

Description

When running Ozone-GBM on the RPi 4, the browser will jump backwards a few frames, before jumping forwards again. This occurs every few seconds throughout the session. Happens to the entire frame, including all HTML, browser, and OS elements. The only exception is video elements, which will play smoothly whilst everything around them skips.

More information

Attribute Value
Version 86.0.4184.0 (32-bit)
Build Release
Platform Ozone-GBM
Target chrome
Device Raspberry Pi 4B (4GB)
OS Raspbian 10 "buster"

Steps to reproduce

Run Ozone-GBM on the RPi 4. Typing makes this bug particularly obvious.

GN arguments

(Ignoring any additional debug/release/codec args.)

use_ozone = true
ozone_platform_gbm = true
use_vc4_minigbm = true

ffmpeg_branding = "Chrome" 
proprietary_codecs = true 

target_os = "chromeos"
target_cpu = "arm"
use_sysroot = true
target_sysroot = "//build/linux/debian_sid_arm-sysroot"

enable_nacl = false
blink_symbol_level = 0

Command

EGL_PLATFORM=surfaceless ./chrome --ozone-platform=gbm --force-system-compositor-mode
@EwanRoycroft EwanRoycroft added the bug Something isn't working label Jun 29, 2020
@EwanRoycroft EwanRoycroft self-assigned this Jun 29, 2020
@EwanRoycroft EwanRoycroft added the ozone Specific to the Ozone implementation label Jun 30, 2020
@EwanRoycroft
Copy link
Member Author

EwanRoycroft commented Jul 10, 2020

Created Chromium bug: https://crbug.com/1104165

@EwanRoycroft
Copy link
Member Author

Video demonstrating the issue: https://youtu.be/HAYFYRwHQE8

EwanRoycroft pushed a commit that referenced this issue Oct 6, 2020
A previous bug fix resulted in the path being trimmed from the URL
shown in PageInfo on Android. This CL fixes that bug.

(cherry picked from commit b5a1657)

Bug: 1082051
Change-Id: I193d7e044d412504478f3240ed94464c13c26f39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2199989
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Reviewed-by: Mustafa Emre Acer <meacer@chromium.org>
Commit-Queue: Carlos IL <carlosil@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#769041}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2203027
Reviewed-by: Ben Mason <benmason@chromium.org>
Cr-Commit-Position: refs/branch-heads/4147@{#1}
Cr-Branched-From: 1630782-refs/heads/master@{#768962}
EwanRoycroft pushed a commit that referenced this issue Oct 6, 2020
This CL addresses the two potential reasons that
ChromeActivity#getCompositorViewHolder() == null when
SplashController#hideSplash() is called
Reason #1: ChromeActivity#onInitialLayoutInflationComplete() has not yet
been called
Reason #2: SplashController#hideSplash() is called after
ChromeActivity#onDestroy()

BUG=1096171

(cherry picked from commit 3a055f3)

Change-Id: If46daf4bcf007fab26c6c9066d355b3c4506eb38
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2259483
Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#781376}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2261353
Reviewed-by: Ella Ge <eirage@chromium.org>
Commit-Queue: Ella Ge <eirage@chromium.org>
Cr-Commit-Position: refs/branch-heads/4147@{#768}
Cr-Branched-From: 1630782-refs/heads/master@{#768962}
EwanRoycroft pushed a commit that referenced this issue Oct 26, 2020
This reverts commit 27e795c.

Reason for revert: Sorry for another revert, but this is still causing flake. See https://ci.chromium.org/p/chrome/builders/ci/linux-chromeos-chrome/9353 . Specifically:
../../content/public/test/browser_test_base.cc:702: Failure
Failed
RunLoop::Run() timed out.
Stack trace:
#0 0x56324b6c5e50 base::internal::Invoker<>::Run()
#1 0x56324b623b4f base::(anonymous namespace)::OnRunLoopTimeout()
#2 0x56324b6249e3 base::internal::Invoker<>::RunOnce()
#3 0x5632492266ab base::internal::CancelableCallbackImpl<>::ForwardOnce<>()
#4 0x56324b63bc46 base::TaskAnnotator::RunTask()
#5 0x56324b64c845 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl()
chromium#6 0x56324b64c588 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork()
#7 0x56324b69fb29 base::MessagePumpLibevent::Run()
#8 0x56324b64cf9a base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run()
#9 0x56324b62363e base::RunLoop::Run()
#10 0x5632483f1f23 chromeos::EduCoexistenceLoginBrowserTest::WaitForScreenExit()
#11 0x563248402206 chromeos::ParentalHandoffScreenBrowserTest_RegularUserLogin_Test::RunTestOnMainThread()
#12 0x56324bae8dd1 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#13 0x56324b6fff04 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#14 0x56324b6ff3b9 ChromeBrowserMainParts::PreMainMessageLoopRun()
#15 0x563248bf574e chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#16 0x563249bdf3b0 content::BrowserMainLoop::PreMainMessageLoopRun()
#17 0x563249f3668a content::StartupTaskRunner::RunAllTasksNow()
#18 0x563249bde45b content::BrowserMainLoop::CreateStartupTasks()
#19 0x563249be0bba content::BrowserMainRunnerImpl::Initialize()
#20 0x563249bdcbd2 content::BrowserMain()
#21 0x56324b198740 content::RunBrowserProcessMain()
#22 0x56324b1995d1 content::ContentMainRunnerImpl::RunServiceManager()
#23 0x56324b199234 content::ContentMainRunnerImpl::Run()
#24 0x56324a5c8687 content::RunContentProcess()
#25 0x56324a5c8c16 content::ContentMain()
#26 0x56324bae8a00 content::BrowserTestBase::SetUp()
#27 0x56324b5d8620 InProcessBrowserTest::SetUp()

Original change's description:
> Reland "Adds parental handoff login screen in oobe."
>
> This is a reland of dca1afe
>
> This is an interesting failure point due to the difference between
> official builds and non official builds. In official builds, the
> Sync Consent screen is shown and it will not exit until we interact
> with it. The waiters timeout waiting for the Parental Handoff Screen
> to be shown.
>
> Original change's description:
>
> > Adds parental handoff login screen in oobe.
> >
> > The description and mock can be seen in the comments in the bug report.
> >
> > Bug: 1134567
> > Change-Id: I2ecd7c72629dc96dfbc054f747c6cb2508210709
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2466618
> > Commit-Queue: Yilkal Abe <yilkal@chromium.org>
> > Reviewed-by: Aga Wronska <agawronska@chromium.org>
> > Reviewed-by: Roman Sorokin [CET] <rsorokin@chromium.org>
> > Reviewed-by: Jesse Doherty <jwd@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#819158}
>
> Bug: 1134567
> Change-Id: Id4d8c15363579799da14a3f3ed0a285e61dde5d6
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2489756
> Commit-Queue: Yilkal Abe <yilkal@chromium.org>
> Reviewed-by: Aga Wronska <agawronska@chromium.org>
> Reviewed-by: Roman Sorokin [CET] <rsorokin@chromium.org>
> Reviewed-by: Jesse Doherty <jwd@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#820388}

TBR=jwd@chromium.org,rsorokin@chromium.org,agawronska@chromium.org,yilkal@chromium.org

Change-Id: I6febf7f06a0d5d7a072be1e50aaa9cc2a4d3c217
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1134567
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2495423
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820489}
EwanRoycroft pushed a commit that referenced this issue Nov 2, 2020
# This is an automated release commit.
# Do not revert without consulting chrome-pmo@google.com.
NOAUTOREVERT=true
TBR=pbommana@chromium.org

Change-Id: Ib4d190a2687abbbc259510909db9c12ada589725
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2368014
Reviewed-by: Chrome Release Bot (LUCI) <chrome-official-brancher@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/4240@{#1}
Cr-Branched-From: f297677-refs/heads/master@{#800218}
EwanRoycroft pushed a commit that referenced this issue Nov 2, 2020
This reverts commit 2268725.

Reason for revert: Needs to create build #1 without this change.

Original change's description:
> Disable building Feed v2 for a binary experiment
> 
> This change will be temporarily landed to allow the execution of a
> binary experiment on the Beta channel of Chrome on Android. It will be
> included in a single build and reverted soon after.
> 
> Bug: 1130680
> Change-Id: I67ec47c58427626e34e37ea4531802c4fd9b7d5c
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2422965
> Reviewed-by: Justin DeWitt <dewittj@chromium.org>
> Cr-Commit-Position: refs/branch-heads/4240@{#927}
> Cr-Branched-From: f297677-refs/heads/master@{#800218}

TBR=dewittj@chromium.org,govind@chromium.org,carlosk@chromium.org

Change-Id: I06c651a05bf4ba915e9cb95adbc1ca6057eea4ac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1130680
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2424662
Reviewed-by: Krishna Govind <govind@chromium.org>
Cr-Commit-Position: refs/branch-heads/4240@{#938}
Cr-Branched-From: f297677-refs/heads/master@{#800218}
@EwanRoycroft
Copy link
Member Author

This issue is caused by poor synchronisation using DMA fences. Disabling DMA fences with --disable-explicit-dma-fences negates the problem and closes this issue. Any further work to fix DMA fences with be documented on https://crbug.com/1104165.

EwanRoycroft pushed a commit that referenced this issue Mar 3, 2021
# This is an automated release commit.
# Do not revert without consulting chrome-pmo@google.com.
NOAUTOREVERT=true
TBR=govind@chromium.org

Change-Id: Iac577d54fefe67a732e7f5c9e3059b5aaf7972c7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2631691
Reviewed-by: Chrome Release Bot (LUCI) <chrome-official-brancher@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/branch-heads/4389@{#1}
Cr-Branched-From: 9251c5d-refs/heads/master@{#843830}
EwanRoycroft pushed a commit that referenced this issue Mar 3, 2021
UX/PM are researching an experimental key combo (hold ctrl for X time,
then press V to show multipaste).

Things UX/PM would like to know prior to creating this prototype:
1. Are users pressing Ctrl + V with generally consistent timing?
  - No current data here. This is important because we do not want to
    be annoying to users.
2. What time period would be reasonable for holding ctrl without
disrupting users?

After this metric lands, we will at least know the answer to #1, and may
be able to determine #2.

This key combo is just an idea as of now, but this data will lead to us
being able to build a prototype. There are a11y concerns with this
approach, but we likely will not get rid of the old key combo for
multipaste, but add this one as a faster way to show multipaste.

(cherry picked from commit 00e31f6)

Bug: 1158619
Change-Id: Ie7b15b2330b1828e1fa99a46218514870efa74a7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2616243
Commit-Queue: Alex Newcomer <newcomer@chromium.org>
Reviewed-by: Toni Baržić <tbarzic@chromium.org>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#844224}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2639942
Auto-Submit: Alex Newcomer <newcomer@chromium.org>
Reviewed-by: Alex Newcomer <newcomer@chromium.org>
Cr-Commit-Position: refs/branch-heads/4389@{chromium#93}
Cr-Branched-From: 9251c5d-refs/heads/master@{#843830}
EwanRoycroft pushed a commit that referenced this issue Mar 3, 2021
CL #1 of 2 for chromevox announcements (second part is for tab
navigation).

Add the following announcements:
-Entering capture mode
-Exiting capture mode
-Selecting the type (image/video)
-Selecting the source (window/region/fullscreen)
-Screenshot captured
-Recording starting
-Recording stopped

(cherry picked from commit ba8ae9e)

Bug: 1140597
Test: manual
Change-Id: I17c8d62de27507dfd4a9711201525fbd76b993cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2598056
Commit-Queue: Richard Chui <richui@chromium.org>
Reviewed-by: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: Sammie Quon <sammiequon@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#843917}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2648271
Cr-Commit-Position: refs/branch-heads/4389@{#245}
Cr-Branched-From: 9251c5d-refs/heads/master@{#843830}
EwanRoycroft pushed a commit that referenced this issue Mar 3, 2021
It now does the following:
1. copies checked-in metadata to the output directory
2. [optionally] loads baselines and looks for subtest fails or harness
errors.
3. loads combined statuses from Expectations files in standard blinkpy
order.

Normally, data from #2 and #3 are merged together and clobber whatever
was copied in #1. The exception is Skips which overwrite any other
statuses found in #2 and #3. This is called "translated" metadata.

However, after this change, if an Expectation is annotated with
'wpt_use_checked_in_metadata' in #3 then the statuses from #2 and #3
are discarded and #1 is used. This is called "checked-in" metadata.

This CL also annotates all tests from identity and input bots to use the
'wpt_use_checked_in_metadata' annotation. This uncovered a couple cases
where TestExpectations was covering test failures, and we generated
real metadata for these tests.

Additionally, if we ever use "translated" metadata, we always tell
wptrunner to ignore subtest results, because the translation is unable
to capture this level of granularity.

Bug: 1157848
Change-Id: Ibcabb3a304822d406457515bfe026003e44b62f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2692751
Commit-Queue: Luke Z <lpz@chromium.org>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#859023}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working ozone Specific to the Ozone implementation
Projects
None yet
Development

No branches or pull requests

1 participant