New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 819216 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug

Blocking:
issue 817982
issue 818376
issue 818844



Sign in to add a comment

Many Mac GPU FYI tests failing

Project Member Reported by kylec...@chromium.org, Mar 6 2018

Issue description

There are multiple failing tests on multiple mac trybots in chromium.gpu.fyi.

Mac FYI Experimental Release (Intel)
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20Experimental%20Release%20%28Intel%29/523

Mac FYI Experimental Retina Release (NVIDIA)
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20Experimental%20Retina%20Release%20%28NVIDIA%29/130

Mac FYI GPU ASAN Release
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20GPU%20ASAN%20Release/195

Multiple failing test suites on each bot. The browser process is crashing on startup in all cases with a similar stack trace:

[0305/210338.148154:FATAL:string_piece.h(223)] Check failed: i < length_. 
0   crashpad_handler                    0x000000010f68df1c base::debug::StackTrace::StackTrace(unsigned long) + 28
1   crashpad_handler                    0x000000010f6ac980 logging::LogMessage::~LogMessage() + 224
2   crashpad_handler                    0x000000010f77c897 bool (anonymous namespace)::StringToIntegerInternal<(anonymous namespace)::StringToIntTraits>(base::BasicStringPiece<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&, (anonymous namespace)::StringToIntTraits::IntType*) + 151
3   crashpad_handler                    0x000000010f66e64e crashpad::HandlerMain(int, char**, std::__1::vector<std::__1::unique_ptr<crashpad::UserStreamDataSource, std::__1::default_delete<crashpad::UserStreamDataSource> >, std::__1::allocator<std::__1::unique_ptr<crashpad::UserStreamDataSource, std::__1::default_delete<crashpad::UserStreamDataSource> > > > const*) + 1726
4   libdyld.dylib                       0x00007fff7eb26015 start + 1
[0305/210338.162271:ERROR:file_io.cc(89)] ReadExactly: expected 8, observed 0
[427:775:0305/210338.840779:FATAL:crashpad_client_mac.cc(491)] Check failed: exception_port_.is_valid(). 
0   Chromium Framework                  0x0000000116d6a4dc base::debug::StackTrace::StackTrace(unsigned long) + 28
1   Chromium Framework                  0x0000000116d8f3f0 logging::LogMessage::~LogMessage() + 224
2   Chromium Framework                  0x0000000117bfb34d crashpad::CrashpadClient::GetHandlerMachPort() const + 93
3   Chromium Framework                  0x00000001169768b0 -[AlertDispatcherImpl serviceProxy] + 80
4   Chromium Framework                  0x000000011697609b -[AlertDispatcherImpl getDisplayedAlertsForProfileId:incognito:notificationCenter:callback:] + 107
5   Chromium Framework                  0x0000000116974fa3 NotificationPlatformBridgeMac::GetDisplayed(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, base::RepeatingCallback<void (std::__1::unique_ptr<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::default_delete<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >, bool)> const&) const + 83
6   Chromium Framework                  0x0000000116971b9a NotificationDisplayServiceImpl::GetDisplayed(base::RepeatingCallback<void (std::__1::unique_ptr<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::default_delete<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >, bool)> const&) + 122
7   Chromium Framework                  0x000000011697adfe PlatformNotificationServiceImpl::GetDisplayedNotifications(content::BrowserContext*, base::RepeatingCallback<void (std::__1::unique_ptr<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::default_delete<std::__1::set<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > > >, bool)> const&) + 382
8   Chromium Framework                  0x0000000114d50128 content::PlatformNotificationContextImpl::Initialize() + 376
9   Chromium Framework                  0x0000000114f750ce content::StoragePartitionImpl::Create(content::BrowserContext*, bool, base::FilePath const&) + 2654
10  Chromium Framework                  0x0000000114f7c740 content::StoragePartitionImplMap::Get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool) + 272
11  Chromium Framework                  0x0000000114a2538d content::(anonymous namespace)::GetStoragePartitionFromConfig(content::BrowserContext*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool, bool) + 157
12  Chromium Framework                  0x0000000114a254c9 content::BrowserContext::GetDefaultStoragePartition(content::BrowserContext*) + 57
13  Chromium Framework                  0x0000000116a3b40e ProfileImpl::DoFinalInit() + 2462
14  Chromium Framework                  0x0000000116a3d312 ProfileImpl::OnLocaleReady() + 1218
15  Chromium Framework                  0x0000000116a3a9cd ProfileImpl::OnPrefsLoaded(Profile::CreateMode, bool) + 173
16  Chromium Framework                  0x0000000116a3a5d9 ProfileImpl::ProfileImpl(base::FilePath const&, Profile::Delegate*, Profile::CreateMode, scoped_refptr<base::SequencedTaskRunner>) + 2425
17  Chromium Framework                  0x0000000116a38849 Profile::CreateProfile(base::FilePath const&, Profile::Delegate*, Profile::CreateMode) + 345
18  Chromium Framework                  0x0000000116a58947 ProfileManager::CreateProfileHelper(base::FilePath const&) + 71
19  Chromium Framework                  0x0000000116a51d4a ProfileManager::CreateAndInitializeProfile(base::FilePath const&) + 138
20  Chromium Framework                  0x0000000116a51a0e ProfileManager::GetProfile(base::FilePath const&) + 78
21  Chromium Framework                  0x000000011a162465 GetStartupProfile(base::FilePath const&, base::CommandLine const&) + 69
22  Chromium Framework                  0x000000011685bd71 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() + 2097
23  Chromium Framework                  0x000000011685b43e ChromeBrowserMainParts::PreMainMessageLoopRun() + 62
24  Chromium Framework                  0x0000000114a2c3d3 content::BrowserMainLoop::PreMainMessageLoopRun() + 67
25  Chromium Framework                  0x0000000114f73145 content::StartupTaskRunner::RunAllTasksNow() + 117
26  Chromium Framework                  0x0000000114a2abbd content::BrowserMainLoop::CreateStartupTasks() + 765
27  Chromium Framework                  0x0000000114a2f2c3 content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) + 99
28  Chromium Framework                  0x0000000114a28912 content::BrowserMain(content::MainFunctionParams const&) + 210
29  Chromium Framework                  0x00000001167ed2cb content::ContentMainRunnerImpl::Run() + 555
30  Chromium Framework                  0x0000000118962747 service_manager::Main(service_manager::MainParams const&) + 2471
31  Chromium Framework                  0x00000001167ec664 content::ContentMain(content::ContentMainParams const&) + 68
32  Chromium Framework                  0x000000011390cd13 ChromeMain + 179
33  Chromium                            0x000000010b0f9de4 main + 404
34  libdyld.dylib                       0x00007fff7eb26015 start + 1

The smallest revision range for first failure is 541009-541021.

https://chromium.googlesource.com/chromium/src/+log/9dd1ef42a8a33c5ba09ec645150f580724979b36%5E..fc897c242fac290704e0f3e9297ce97012e849f0?pretty=fuller&n=

Looking now to see if anything stands out.
 
Cc: palmer@chromium.org miguelg@chromium.org
+palmer, miguelg

The failing DCHECK was added to StringPiece in https://crrev.com/c/945049. That appears to be the cause of all the failures. It's tripping over something in NotificationPlatformBridgeMac. It's not obvious to me what is happening since this is written in objective C.
Oh, it's already reverted at https://crrev.com/c/950822.

Comment 3 by kbr@chromium.org, Mar 6 2018

Blocking: 817982 818844 818376
Status: WontFix (was: Untriaged)
Thanks for reporting kylechar@. Closing as WontFix and linking to the dependent bugs.

Cc: jperaza@chromium.org rsesek@chromium.org
rsesek, jperaza: Is this the same root cause as the crashpad bug that's already been/being fixed? It kind of looks like it, with Objective C wrapping. But maybe I'm wrong. I'm just wondering if we have a 4th bug to fix, or if re-landing the crashpad bug fix will fix this. Thanks for clues!
Yeah, this looks like the same StringToIntegerInternal, which is causing crashpad_handler to fail to start. Then stuff blows up later when Crashpad's Mach port is invalid (because it's not running).

Sign in to add a comment