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

Issue 604443 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug

Blocking:
issue 603959
issue 604109



Sign in to add a comment

Chrome broswer process crashes on startup in mash_session

Project Member Reported by kylec...@chromium.org, Apr 18 2016

Issue description

When running mash_session, the chrome browser process crashes. It produces the following stack trace:

[88838:88838:0418/144808:FATAL:mojo_shell_context.cc(306)] Check failed: shell_connection. 
#0 0x7f2a266f0e3e base::debug::StackTrace::StackTrace()
#1 0x7f2a2670d39a logging::LogMessage::~LogMessage()
#2 0x7f2a2422632a content::MojoShellContext::MojoShellContext()
#3 0x7f2a240404da content::BrowserMainLoop::BrowserThreadsStarted()
#4 0x7f2a24376cb7 content::StartupTaskRunner::RunAllTasksNow()
#5 0x7f2a2403f85e content::BrowserMainLoop::CreateStartupTasks()
#6 0x7f2a24043d1a content::BrowserMainRunnerImpl::Initialize()
#7 0x7f2a2403cb20 content::BrowserMain()
#8 0x7f2a2492ac41 content::ContentMainRunnerImpl::Run()
#9 0x7f2a24929930 content::ContentMain()
#10 0x7f2a26e49903 ChromeMain
#11 0x7f2a1e505ec5 __libc_start_main
#12 0x7f2a26e4978f <unknown>

It's crashing on this CHECK: https://code.google.com/p/chromium/codesearch#chromium/src/content/browser/mojo/mojo_shell_context.cc&sq=package:chromium&type=cs&l=304

It looks like the problem was likely introduced here: https://chromium.googlesource.com/chromium/src/+/3cc6df2e0b129c29e4e9e02ca290d13ad32b4ae1
 

Comment 1 by sadrul@chromium.org, Apr 18 2016

I assume you are running 'mojo_runner mojo:mash_session', instead of 'chrome --mash'? Can you try with --wait-for-mojo-shell flag with mojo_runner?
The following steps cause a crash:

$ gn gen out/oxygen --args='use_goma = true is_component_build = true is_debug = false use_ozone = true ozone_auto_platforms = false ozone_platform_x11 = true ozone_platform = "x11" target_os = "chromeos"'
$ ninja -C out/oxygen chrome chrome_sandbox mash:all
$ out/oxygen/mojo_runner mojo:mash_session # this crashes
$ out/oxygen/chrome --mash # this also crashes

In all cases mash_session starts/runs without issues beyond chrome browser crashing.
Running with --wait-for-mojo-shell results in the same crash too.
Blocking: 604109
Owner: kylec...@chromium.org
Status: Started (was: Untriaged)

Comment 6 by roc...@chromium.org, Apr 18 2016

Hmm. We should initialize the external shell connection earlier in BrowserMainLoop. Should be an easy fix to move that code from PreMainMessageLoopRun() to just before MojoShellContext construction in BrowserThreadsStarted().
Yep, that works. If the try bots are all happy I'll send out that CL for review.
Blocking: 603959
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 19 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2117bf3be12fc1a4ef2be40d3d6c28804917759a

commit 2117bf3be12fc1a4ef2be40d3d6c28804917759a
Author: kylechar <kylechar@chromium.org>
Date: Tue Apr 19 18:05:37 2016

Fix chrome crashing in mash_session.

The chrome browser process would crash upon starting in mash_session.
This resulted from the MojoShellConnection being initialized after it
was used for the first time. Move the initialization of
MojoShellConnection to immediately before it's first used to fix crash.

BUG= 604443 

Review URL: https://codereview.chromium.org/1894273002

Cr-Commit-Position: refs/heads/master@{#388243}

[modify] https://crrev.com/2117bf3be12fc1a4ef2be40d3d6c28804917759a/content/browser/browser_main_loop.cc

Status: Fixed (was: Started)
Components: Internals>Services>WindowService
Components: -MUS>Phase>1

Sign in to add a comment