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

Issue 597000 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 0
Type: Bug
Team-Accessibility



Sign in to add a comment

ChromeVox crashes when enabled on login screen

Project Member Reported by xiy...@chromium.org, Mar 22 2016

Issue description

Repro steps:
1. Get on the login screen;
2. Turn on spoken feedback (either by ctrl+alt+z or system tray menu)

Chrome crashes after step 2, prior showing the ChromeVox panel. The crash is because ChromeVoxPanel tries to access ash shelf, which is not created on the login screen.

Stack:

Program received signal SIGSEGV, Segmentation fault.
0x00007fdbedfa87e3 in DidFirstVisuallyNonEmptyPaint (this=<optimized out>) at ../../chrome/browser/chromeos/accessibility/chromevox_panel.cc:114
warning: Source file is more recent than executable.
114           ->SetChromeVoxPanelHeight(kPanelHeight);
(gdb) bt
#0  0x00007fdbedfa87e3 in DidFirstVisuallyNonEmptyPaint (this=<optimized out>) at ../../chrome/browser/chromeos/accessibility/chromevox_panel.cc:114
#1  ChromeVoxPanelWebContentsObserver::DidFirstVisuallyNonEmptyPaint (this=<optimized out>) at ../../chrome/browser/chromeos/accessibility/chromevox_panel.cc:42
#2  0x00007fdbed5164e4 in content::WebContentsImpl::OnFirstVisuallyNonEmptyPaint (this=<optimized out>) at ../../content/browser/web_contents/web_contents_impl.cc:3605
#3  0x00007fdbed51e3b2 in DispatchToMethodImpl<content::WebContentsImpl*, void (content::WebContentsImpl::*)()> (obj=<optimized out>, arg=..., method=<optimized out>)
    at ../../base/tuple.h:166
#4  DispatchToMethod<content::WebContentsImpl*, void (content::WebContentsImpl::*)()> (obj=<optimized out>, arg=..., method=<optimized out>) at ../../base/tuple.h:173
#5  DispatchToMethod<content::WebContentsImpl, void (content::WebContentsImpl::*)(), void, std::tuple<> > (tuple=..., method=<optimized out>, obj=<optimized out>)
    at ../../ipc/ipc_message_templates.h:25
#6  Dispatch<content::WebContentsImpl, content::WebContentsImpl, void, void (content::WebContentsImpl::*)()> (sender=<optimized out>, parameter=<optimized out>, 
    func=<optimized out>, obj=<optimized out>, msg=<optimized out>) at ../../ipc/ipc_message_templates.h:119
#7  content::WebContentsImpl::OnMessageReceived (this=<optimized out>, render_view_host=<optimized out>, render_frame_host=<optimized out>, message=...)
    at ../../content/browser/web_contents/web_contents_impl.cc:606
#8  0x00007fdbed477431 in content::RenderViewHostImpl::OnMessageReceived (this=<optimized out>, msg=...) at ../../content/browser/renderer_host/render_view_host_impl.cc:892
#9  0x00007fdbed483123 in content::RenderWidgetHostImpl::OnMessageReceived (this=<optimized out>, msg=...) at ../../content/browser/renderer_host/render_widget_host_impl.cc:443
#10 0x00007fdbed46f3d5 in content::RenderProcessHostImpl::OnMessageReceived (this=<optimized out>, msg=...) at ../../content/browser/renderer_host/render_process_host_impl.cc:1804
#11 0x00007fdbed480399 in content::RenderWidgetHostImpl::OnSwapCompositorFrame (this=<optimized out>, message=...)
    at ../../content/browser/renderer_host/render_widget_host_impl.cc:1617
#12 0x00007fdbed482c35 in content::RenderWidgetHostImpl::OnMessageReceived (this=<optimized out>, msg=...) at ../../content/browser/renderer_host/render_widget_host_impl.cc:459
#13 0x00007fdbed46f3d5 in content::RenderProcessHostImpl::OnMessageReceived (this=<optimized out>, msg=...) at ../../content/browser/renderer_host/render_process_host_impl.cc:1804
#14 0x00007fdbeac79c28 in IPC::ChannelProxy::Context::OnDispatchMessage (this=<optimized out>, message=...) at ../../ipc/ipc_channel_proxy.cc:293

...
 
Cc: dtseng@chromium.org
Components: UI>Accessibility
Status: Assigned (was: Untriaged)
Cc: lpalmaro@chromium.org
Status: Started (was: Assigned)
Albert was able to reproduce on Lulu on latest canary but not on beta.

Labels: ReleaseBlock-Dev
Labels: -Pri-1 Pri-0
This is REALLY bad when it happens. It would be really hard for a user to recover from this state.
Filed issue 598839 to track adding an autotest for this.  I my quick experiments, I was able to catch this crash by extending an existing test.
Cc: bhthompson@chromium.org
The dev channel is over a week delayed at this point (we are targeting 8104.1/2 today), do you really want to block Dev channel on this?

If so can this be fixed in the next 24 hours?
Fix is in the commit queue now, I think it will land within an hour:

https://codereview.chromium.org/1837053003/

Can you try to wait for it for dev? If it fails to land I'm okay with waiting until the next dev, thanks.

Cool, would it be ok if we go with the dev we have staged and get this in the next scheduled dev (which is Thursday)?

Revving Chrome again will delay at least another day on this release :(.
Labels: -ReleaseBlock-Dev ReleaseBlock-Beta
Moving to beta block.

Since this is already broken in dev one more cycle doesn't make it worse, but we CAN'T let this reach beta.
Sounds good. Looks like the fix just landed.

Thanks for the quick fix!
Status: Fixed (was: Started)
Status: Verified (was: Fixed)
Verified on 51.0.2699.0 / 8155.0.0

Sign in to add a comment