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

Issue 599947 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug

Blocking:
issue 582615



Sign in to add a comment

Enterprise enrollment policy tests failing due to renderer crash

Project Member Reported by jdufault@chromium.org, Apr 1 2016

Issue description

All of the enterprise enrollment policy tests are failing because the renderer is crashing on the signin screen.

The failing tests are at [1]. An example failure logs are at [2]. You can find the crash logs for the example failure at [3].

1: https://wmatrix.googleplex.com/unfiltered?days_back=14&tests=policy_.*
2: https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/58634960-chromeos-test/chromeos4-row13-rack12-host12/policy_RestoreOnStartupURLs/?pli=1
3: https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/58634960-chromeos-test/chromeos4-row13-rack12-host12/policy_RestoreOnStartupURLs/sysinfo/iteration.1/var/spool/crash/?pli=1

Here's the stack trace for the renderer crash (also viewable at link [3])

 0  chrome!blink::ContentType::ContentType [RefPtr.h : 46 + 0x0]
 1  chrome!blink::protocol::StringValue::create [Values.h : 117 + 0x5]
 2  chrome!blink::protocol::Runtime::RemoteObject::serialize [TypeBuilder.cpp : 457 + 0xb]
 3  chrome!blink::protocol::DispatcherImpl::Runtime_evaluate [ValueConversions.h : 34 + 0xf]
 4  chrome!blink::protocol::DispatcherImpl::dispatch [Dispatcher.cpp : 8289 + 0x7]
 5  chrome!blink::WebDevToolsAgentImpl::dispatchMessageFromFrontend [WebDevToolsAgentImpl.cpp : 583 + 0xd]
 6  chrome!blink::WebDevToolsAgentImpl::dispatchOnInspectorBackend [WebDevToolsAgentImpl.cpp : 576 + 0xe]
 7  chrome!content::DevToolsAgent::OnDispatchOnInspectorBackend [devtools_agent.cc : 231 + 0xc]
 8  chrome!content::DevToolsAgent::OnMessageReceived [tuple.h : 166 + 0xf]
 9  chrome!content::RenderFrameImpl::OnMessageReceived [render_frame_impl.cc : 1360 + 0xc]
10  chrome!content::ChildThreadImpl::OnMessageReceived [child_thread_impl.cc : 636 + 0xd]
11  chrome!IPC::ChannelProxy::Context::OnDispatchMessage [ipc_channel_proxy.cc : 282 + 0x8]
12  chrome!base::debug::TaskAnnotator::RunTask [callback.h : 397 + 0x8]
13  chrome!scheduler::TaskQueueManager::DoWork [task_queue_manager.cc : 288 + 0x13]
14  chrome!base::internal::Invoker<base::IndexSequence<0ul, 1ul, 2ul>, base::internal::BindState<base::internal::RunnableAdapter<void (scheduler::TaskQueueManager::*)(base::TimeTicks, bool)>, void(scheduler::TaskQueueManager*, base::TimeTicks, bool), base::WeakPtr<scheduler::TaskQueueManager>, base::TimeTicks&, bool>, base::internal::InvokeHelper<true, void, base::internal::RunnableAdapter<void (scheduler::TaskQueueManager::*)(base::TimeTicks, bool)> >, void()>::Run + 0x89
15  chrome!base::debug::TaskAnnotator::RunTask [callback.h : 397 + 0x8]
16  chrome!base::MessageLoop::DoWork [message_loop.cc : 476 + 0x16]
17  chrome!base::MessagePumpDefault::Run [message_pump_default.cc : 33 + 0x9]
18  chrome!base::RunLoop::Run [run_loop.cc : 35 + 0x8]
19  chrome!base::MessageLoop::Run [message_loop.cc : 293 + 0x8]
20  chrome!content::RendererMain [renderer_main.cc : 219 + 0x8]
21  chrome!content::RunZygote [content_main_runner.cc : 315 + 0x8]

 
Cc: juanra...@chromium.org trapti@chromium.org krishna...@chromium.org
Components: Platform>DevTools Enterprise
Labels: OS-Chrome
Status: Assigned (was: Untriaged)
Cc: dgozman@chromium.org
Labels: Needs-Feedback
Owner: kozyatinskiy@chromium.org
Is there a page describing how to run these tests locally to reproduce the problem? Where is the test source code? This stack says something is wrong in DevTools, but doesn't help with finding the cause.
Re #2: The tests pass when run locally. AFAIK, they only fail when run in the HW lab, when previously they were passing.
That definitely doesn't make things easier. Could you please point to the source code?
Labels: -Needs-Feedback
Thanks a lot, that helps.
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 5 2016

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

commit be7bba69f100b52764f24e5545356a09f72f540f
Author: kozyatinskiy <kozyatinskiy@chromium.org>
Date: Tue Apr 05 06:03:01 2016

[DevTools] Speculative chrome os tests fix

After analysis every return point of V8RuntimAgentImpl::evaluate only one suspicious return was found in InjectedScript::wrapValue.
If function.call returns empty value without exception then we return empty MaybeLocal and return from wrapEvaluateResult without setting errorString.

BUG= 599947 
R=dgozman@chromium.org

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

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

[modify] https://crrev.com/be7bba69f100b52764f24e5545356a09f72f540f/third_party/WebKit/Source/platform/v8_inspector/InjectedScript.cpp

Comment 8 Deleted

I took a look into log which was generated by test and found there next Runtime.evaluate call:
04/07 06:45:47.972 DEBUG|inspector_websocke:0097| sent [{
  "id": 8, 
  "method": "Runtime.evaluate", 
  "params": {
    "contextId": 0, 
    "expression": "document.readyState == 'complete' && document.getElementById('Email') != null", 
    "returnByValue": true
  }
}]
It looks like error. If you'd like to evaluate in default context then you can omit contextId argument. If you'd like to evaluate in specific context then first frame has id equals 1 and devtools report context in contextCreated event with correct id.
I've uploaded and sent to commit queue fix of zero contextId processing:
https://codereview.chromium.org/1867903002/. 
The stack in the link in comment #11 seems to point to a devtools issue. This may be a different issue, though.

 0  chrome!blink::V8InspectorConnectionImpl::findInjectedScript [OwnPtr.h : 61 + 0x4]
 1  chrome!blink::V8RuntimeAgentImpl::evaluate [V8RuntimeAgentImpl.cpp : 97 + 0x1d]
 2  chrome!blink::InspectorRuntimeAgent::evaluate [InspectorRuntimeAgent.cpp : 119 + 0x10]
 3  chrome!blink::protocol::DispatcherImpl::Runtime_evaluate [Dispatcher.cpp : 1630 + 0x58]
 4  chrome!blink::protocol::DispatcherImpl::dispatch [Dispatcher.cpp : 8181 + 0x6]
 5  chrome!blink::WebDevToolsAgentImpl::dispatchMessageFromFrontend [WebDevToolsAgentImpl.cpp : 585 + 0xc]


Cc: ihf@chromium.org
Alexey: where did you find this error?

Comment 14 by ihf@chromium.org, Apr 13 2016

https://wmatrix.googleplex.com/unfiltered?hide_missing=True&tests=policy_RestoreOnStartupURLs&days_back=100&releases=52

Is red. Going to samus I get the one below, but I suspect there is a variety of backtraces?

https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/59834183-chromeos-test/chromeos2-row24-rack1-host21/policy_RestoreOnStartupURLs/sysinfo/iteration.1/var/spool/crash/

 3  chrome!logging::LogMessage::~LogMessage [logging.cc : 735 + 0x4]
 4  chrome!chromeos::LoginDisplayHostImpl::RenderProcessGone [login_display_host_impl.cc : 828 + 0x7]
 5  chrome!content::WebContentsImpl::RenderViewTerminated [web_contents_impl.cc : 4028 + 0x1e]
 6  chrome!content::RenderProcessHostImpl::ProcessDied [render_process_host_impl.cc : 2424 + 0x13]
 7  chrome!base::debug::TaskAnnotator::RunTask [callback.h : 397 + 0x7]
 8  chrome!base::MessageLoop::DoWork [message_loop.cc : 479 + 0x15]
Jacob, how can I determine revision of chromium for this test run? I ask because there is no V8InspectorConnectionImpl in ToT codebase.

Achuith, if you asked about #9, I've found it in test's debug log:
https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/59834183-chromeos-test/chromeos2-row24-rack1-host21/policy_RestoreOnStartupURLs/debug/
re #15, the chrome_version file says "Google Chrome 51.0.2701.0 unknown". Strange that V8InspectorConnectionImpl is not in the codebase, Chrome is probably too old?
Yes, it looks like Chrome was too old and doesn't have crash fix from #10.
Two last runs of tests policy_RestoreOnStartupURLs and policy_EditBookmarksEnabled were failed with:
Unhandled LoginException: Timed out going through login screen. Cryptohome not mounted. OOBE not dismissed.
Status: Fixed (was: Assigned)
Last runs were successful according https://wmatrix.googleplex.com/unfiltered?days_back=14&tests=policy_.*
Closed as fixed, feel free to reassign it back if it's still reproducible.
Status: Assigned (was: Fixed)
About half are failing again, and all on some devices, in M52: https://wmatrix.googleplex.com/unfiltered?tests=policy_.%2A&days_back=4&releases=52
Cc: kozyatinskiy@chromium.org
Owner: scunning...@chromium.org
There are following errors:
Unhandled LoginException: Timed out going through login screen. Cryptohome not mounted. OOBE not dismissed.
Image should be blocked.

It doesn't look like DevTools related issue. DevTools related message in test_name/debug/*.DEBUG folder looks good. Problem from #12 was fixed in #7. Please reassign it to someone more experienced with ChromeOS tests or could you provide information how to run this tests locally.
Owner: jdufault@chromium.org
That error message sounds like  issue 582615 , but I can't find any screenshots in the results folder to confirm. I expect to land the fixes for  issue 582615  today or tomorrow.
Status: Fixed (was: Assigned)
Cc: -juanra...@chromium.org -trapti@chromium.org
Components: Tests>Telemetry
Labels: upstreamquality
Status: Verified (was: Fixed)

Sign in to add a comment