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

Brave crashes when OOP rasterization is enabled #7581

Closed
crysman opened this issue Jan 3, 2020 · 15 comments · Fixed by brave/brave-core#4318
Closed

Brave crashes when OOP rasterization is enabled #7581

crysman opened this issue Jan 3, 2020 · 15 comments · Fixed by brave/brave-core#4318
Assignees
Labels
crash OS/Linux priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass-Linux QA/Test-Plan-Specified QA/Yes release-notes/include workaround/flags resolve by flipping brave://flags

Comments

@crysman
Copy link

crysman commented Jan 3, 2020

Test plan

See brave/brave-core#4318

Description

Brave has started to crash all the time (I cannot even finish this post until it crashes) this week. The only change I am aware of is installing proprietary NVIDIA drivers (running Xubuntu 19.10 with Brave Version 1.1.22 Chromium: 79.0.3945.79 (Official Build) (64-bit))
How can we debug and fix this, please? Thanks

@crysman
Copy link
Author

crysman commented Jan 3, 2020

What I've tried already:

  1. switched Use hardware acceleration when available to OFF - did not help.
  2. deleted entire ~/.cache/BraveSoftware folder - did not help.
  3. turned off Brave rewards - did not help.

@bsclifton
Copy link
Member

I'm curious if this is related to #7435 (comment) or different

Root cause for that issue is https://bugs.chromium.org/p/chromium/issues/detail?id=1036427

@bsclifton bsclifton added needs-investigation A bug not 100% confirmed/fixed OS/Linux labels Jan 3, 2020
@rebron rebron added the priority/P2 A bad problem. We might uplift this to the next planned release. label Jan 3, 2020
@bsclifton
Copy link
Member

+1 from @Naahuel via #6705

@bsclifton
Copy link
Member

bsclifton commented Jan 3, 2020

@crysman can you try an older version of Brave? For example, version 1.0.1?
https://github.com/brave/brave-browser/releases/tag/v1.0.1

Suggested per comment in #7435 (comment)

@crysman
Copy link
Author

crysman commented Jan 4, 2020

@bsclifton not necessary, I've been using Brave continuously for more than a year, and it had never been crashing like this before. Until just very recently (one week?) it was actually really stable, surviving suspends and everything.

I am not experiencing any freezes. It just crashes after some minute or so of using.
If it is only running in background (no focus, no mouse and/or keyboard), it doesn't crash - once you focus it, it crashes within two minutes every single time.

I am not runnung it in VirtualBox (or am I?), have a look:

myuser@laptop ~ 05:06:17 
❱ which brave-browser
/usr/bin/brave-browser
myuser@laptop ~ 05:06:19 
❱ file `which brave-browser`
/usr/bin/brave-browser: symbolic link to /etc/alternatives/brave-browser
myuser@laptop ~ 05:06:26 
❱ file --dereference `which brave-browser`
/usr/bin/brave-browser: Bourne-Again shell script, ASCII text executable
myuser@laptop ~ 05:07:51 
❱ cat /etc/alternatives/brave-browser
#!/bin/bash
#
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Let the wrapped binary know that it has been run through the wrapper.
export CHROME_WRAPPER="`readlink -f "$0"`"

HERE="`dirname "$CHROME_WRAPPER"`"

# We include some xdg utilities next to the binary, and we want to prefer them
# over the system versions when we know the system versions are very old. We
# detect whether the system xdg utilities are sufficiently new to be likely to
# work for us by looking for xdg-settings. If we find it, we leave $PATH alone,
# so that the system xdg utilities (including any distro patches) will be used.
if ! which xdg-settings &> /dev/null; then
  # Old xdg utilities. Prepend $HERE to $PATH to use ours instead.
  export PATH="$HERE:$PATH"
else
  # Use system xdg utilities. But first create mimeapps.list if it doesn't
  # exist; some systems have bugs in xdg-mime that make it fail without it.
  xdg_app_dir="${XDG_DATA_HOME:-$HOME/.local/share/applications}"
  mkdir -p "$xdg_app_dir"
  [ -f "$xdg_app_dir/mimeapps.list" ] || touch "$xdg_app_dir/mimeapps.list"
fi

# Always use our versions of ffmpeg libs.
# This also makes RPMs find the compatibly-named library symlinks.
if [[ -n "$LD_LIBRARY_PATH" ]]; then
  LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
else
  LD_LIBRARY_PATH="$HERE:$HERE/lib"
fi
export LD_LIBRARY_PATH

export CHROME_VERSION_EXTRA="stable"

# We don't want bug-buddy intercepting our crashes. http://crbug.com/24120
export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME

# Sanitize std{in,out,err} because they'll be shared with untrusted child
# processes (http://crbug.com/376567).
exec < /dev/null
exec > >(exec cat)
exec 2> >(exec cat >&2)

"$HERE/brave" "$@" || true
myuser@laptop ~ 05:08:19

Chromium is still working normally, as it has been so far. I've got Version 78.0.3904.97 (Official Build) Built on Ubuntu , running on Ubuntu 19.10 (64-bit)

What do we do next? What kind of debug info d you need from me? May I run in some debug mode or something?

Thank you

@crysman
Copy link
Author

crysman commented Jan 4, 2020

I've just updated to Version 1.1.23 Chromium: 79.0.3945.88 (Official Build) (64-bit) via issuing standard apt update && upgrade - did not help.

So I run it in terminal, and here is how it crashes:

myuser@laptop ~ 05:29:30 
❱ brave-browser

(brave:2008): Gtk-WARNING **: 17:29:34.228: Theme parsing error: gtk-widgets.css:186:14: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.228: Theme parsing error: gtk-widgets.css:186:14: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.234: Theme parsing error: gtk-widgets.css:2749:24: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.234: Theme parsing error: gtk-widgets.css:2749:24: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.235: Theme parsing error: gtk-widgets.css:2940:14: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.235: Theme parsing error: gtk-widgets.css:2940:14: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.235: Theme parsing error: gtk-widgets.css:2946:17: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.238: Theme parsing error: gtk-widgets.css:4083:14: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.238: Theme parsing error: gtk-widgets.css:4083:14: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.238: Theme parsing error: gtk-widgets.css:4088:17: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.239: Theme parsing error: gtk-widgets.css:4729:14: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.239: Theme parsing error: gtk-widgets.css:4729:14: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.242: Theme parsing error: xfce.css:47:16: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.242: Theme parsing error: xfce.css:47:16: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:16:14: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:16:14: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:26:14: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:26:14: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:40:16: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:40:16: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:96:14: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:100:16: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.243: Theme parsing error: lightdm-gtk-greeter.css:100:16: Expected a string.

(brave:2008): Gtk-WARNING **: 17:29:34.244: Theme parsing error: lightdm-gtk-greeter.css:279:14: not a number

(brave:2008): Gtk-WARNING **: 17:29:34.244: Theme parsing error: lightdm-gtk-greeter.css:279:14: Expected a string.
[2008:2008:0104/172936.551485:ERROR:CONSOLE(1)] "Error: PollingBlockTracker - encountered an error while attempting to update latest block:
undefined", source: chrome-extension://odbfpeeihdkbihmopkbjmoonfanlbfcl/background.js (1)
[2137:1:0104/172941.712817:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[2137:1:0104/172941.713737:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[2137:1:0104/172941.820093:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[2137:1:0104/172941.824450:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[2137:1:0104/172941.828124:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
[2137:1:0104/172941.829563:ERROR:child_process_sandbox_support_impl_linux.cc(79)] FontService unique font name matching request did not receive a response.
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:(tg)kill() failure
[2008:2008:0104/172952.483724:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)
[2008:2008:0104/172952.483808:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)
[2008:2008:0104/172952.483980:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1)
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:(tg)kill() failure
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:(tg)kill() failure
[2281:2281:0104/173006.656042:ERROR:gpu_channel_manager.cc(450)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:(tg)kill() failure
[2296:2296:0104/173021.499324:ERROR:gpu_channel_manager.cc(450)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:(tg)kill() failure
[2324:2324:0104/173032.980501:ERROR:gpu_channel_manager.cc(450)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
../../sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc:**CRASHING**:(tg)kill() failure
[2008:2019:0104/173050.743114:FATAL:gpu_data_manager_impl_private.cc(990)] The display compositor is frequently crashing. Goodbye.
/usr/bin/brave-browser: line 48:  2008 Trace/breakpoint trap   (core dumped) "$HERE/brave" "$@"

@bsclifton
Copy link
Member

@crysman if you're able to get the browser running long enough to visit brave://crashes, you should be able to send crash reports. Then, you can share the Report ID that is shown there. You may need to restart after clicking Send now in order for the ID to show

@crysman
Copy link
Author

crysman commented Jan 6, 2020

@bsclifton OK, I've enabled the option ("automatically send crashes..."), then reopened chrome://crashes/ after it crashed, here is the result:

Crashes
Crashes (12)
Uploaded Crash Report ID a426e1556cb419a0 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:28:27 AM

Uploaded Crash Report ID 8c71e9073a300749 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:28:14 AM

Uploaded Crash Report ID 0f75e8cd1896ef3a (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:28:03 AM

Uploaded Crash Report ID 885f44d3c5970306 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:27:45 AM

Uploaded Crash Report ID 67e9c378db417979 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:27:23 AM

Uploaded Crash Report ID 5b6059d0db8f15f1 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:27:22 AM

Uploaded Crash Report ID 7f8c8498a1e857f8 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:27:22 AM

Uploaded Crash Report ID 76271ec5b54aef18 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:27:07 AM

Uploaded Crash Report ID 94f582683311075f (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:26:52 AM

Uploaded Crash Report ID 71d9a09981fb078c (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:26:39 AM

Uploaded Crash Report ID 7d05c9835c9ab0bc (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:26:17 AM

Uploaded Crash Report ID 1a9e4b5ff6f4a5a4 (Local Context: Brave)
Crash report uploaded on Monday, January 6, 2020 at 10:26:07 AM

@bsclifton
Copy link
Member

bsclifton commented Jan 6, 2020

@crysman OK I believe I found (based on the crash reports) what the problem is

Can you please try visiting brave://flags/#enable-oop-rasterization and then DISABLING this flag?

It should require a restart of Brave, but I believe it will fix the issue

@BobbyByrne
Copy link

@bsclifton I'm also experiencing this issue, and the above flag change seems to be working. If I encounter the issue again while this flag is disabled, I'll report back with more info.

@crysman
Copy link
Author

crysman commented Jan 7, 2020

@bsclifton disabling brave://flags/#enable-oop-rasterization with re-enabling chrome://settings/?search=Use+hardware+acceleration+when+available makes Brave stable again! Thanks! Will anything be done in general for other users, too?

@bsclifton bsclifton removed the needs-investigation A bug not 100% confirmed/fixed label Jan 7, 2020
@bsclifton
Copy link
Member

bsclifton commented Jan 7, 2020

@crysman thanks for confirming! Will check with the team about next steps. We had enabled for performance wins, but I don't think the potential compatibility problems were known

@rebron rebron added this to P1 & P2 Backlog in General Jan 7, 2020
@bsclifton bsclifton self-assigned this Jan 7, 2020
@bsclifton bsclifton added this to the 1.5.x - Nightly milestone Jan 7, 2020
General automation moved this from P1 & P2 Backlog to Completed Jan 9, 2020
@bsclifton bsclifton changed the title brave keeps crashing all the time Brave crashes when OOP rasterization is enabled Jan 9, 2020
@btlechowski
Copy link
Collaborator

Verification passed on

Brave 1.3.90 Chromium: 79.0.3945.117 (Official Build) beta (64-bit)
Revision 04f0a055010adab4484f7497fbfdbf312c307f1d-refs/branch-heads/3945@{#1019}
OS Ubuntu 18.04 LTS

Verified test plan from brave/brave-core#4318

image

@gcoelho05
Copy link

I did everything suggested, but I still have the same problem.
It started when I first opened google sheets, and know brave won't last more than 20 seconds without crashing.

@gcoelho05
Copy link

Oh, I already sent the crash report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crash OS/Linux priority/P2 A bad problem. We might uplift this to the next planned release. QA Pass-Linux QA/Test-Plan-Specified QA/Yes release-notes/include workaround/flags resolve by flipping brave://flags
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants