-
Notifications
You must be signed in to change notification settings - Fork 867
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
fix Linux build, GetDefaultUserDataDirectory issue, fix brave/brave#92 #56
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I can confirm that this fixes Linux builds for me (on Ubuntu 16.04.4). |
bbondy
approved these changes
Mar 14, 2018
bbondy
pushed a commit
that referenced
this pull request
Feb 18, 2019
re-allow inline scripts for dev mode
mariospr
added a commit
that referenced
this pull request
Dec 21, 2021
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED)
mariospr
added a commit
that referenced
this pull request
Jan 13, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Jan 18, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Jan 21, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Jan 26, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Jan 31, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Feb 3, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Feb 7, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Feb 8, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Feb 16, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Feb 16, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Feb 16, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Feb 16, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 1, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Mar 1, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 3, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Mar 3, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 4, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Mar 4, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 11, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Mar 11, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 14, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Mar 14, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 15, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Mar 15, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 15, 2022
This fixes several upstream browser tests crashing on DCHECK-enabled builds because of calls to dom_distiller::RunIsolatedJavaScript() being run without the ID being previously set, with erros like this: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is necessary or all browser tests will crash when running on CI.
mariospr
added a commit
that referenced
this pull request
Mar 15, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
mariospr
added a commit
that referenced
this pull request
Mar 23, 2022
BraveMainDelegate::BasicStartupComplete() is where several features are enabled and disabled for Brave via command line switches, but that method is not being called when running usptream tests, which use ChromeMainDelegate instead. Because of this, all browser tests crash on DCHECK-enabled builds with a backtrace like the following one: [497557:497557:1221/135319.265636:FATAL:distiller_javascript_utils.cc(41)] Check failed: distiller_javascript_world_id != invalid_world_id. #0 0x7fd8cc5b7459 base::debug::CollectStackTrace() #1 0x7fd8cc4b12d3 base::debug::StackTrace::StackTrace() #2 0x7fd8cc4d3a34 logging::LogMessage::~LogMessage() #3 0x7fd8cc4d44ae logging::LogMessage::~LogMessage() #4 0x56550ee1de70 dom_distiller::RunIsolatedJavaScript() #5 0x56550fffc990 brave_ads::AdsTabHelper::RunIsolatedJavaScript() #6 0x7fd8c6332b3d content::WebContentsImpl::WebContentsObserverList::NotifyObservers<>() #7 0x7fd8c63531a9 content::WebContentsImpl::DocumentOnLoadCompleted() [...] #56 0x56550ccba27a _start Task trace: #0 0x7fd8c6c6ebee IPC::(anonymous namespace)::ChannelAssociatedGroupController::Accept() #1 0x7fd8cbce69df mojo::SimpleWatcher::Context::Notify() Crash keys: "ui_scheduler_async_stack" = "0x7FD8C6C6EBEE 0x7FD8CBCE69DF" "io_scheduler_async_stack" = "0x7FD8CBCE69DF 0x0" [1/1] TabStripBrowsertest.ShiftGroupLeft_OtherGroup (CRASHED) This is because the DOM Distiller feature is not enabled as expected (for Brave) on startup, and when AdsTabHelper::RunIsolatedJavaScript() (called via the WebContentsObserver machinery) calls dom_distiller::RunIsolatedJavaScript() it will fail the DCHECK that makes sure the JS World ID is already set. To fix this, we move the code of BraveMainDelegate::BasicStartupComplete() to ChromeMainDelegate::BasicStartupComplete() via a chromium_src override, so that we make sure that exactly the same initialization done for Brave and Brave-related browser tests also applies when running upstrem browser tests. This does not only fix that crash, but also makes sure that upstream browser tests are run with the same features as Brave, which is the right thing to do.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes Linux build, issue https://github.com/brave/brave/issues/92