New issue
Advanced search Search tips

Issue 808096 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

DCHECK failure in AuthenticatorImpl if tab is closed while reqister/sign request is pending

Project Member Reported by engedy@chromium.org, Feb 1 2018

Issue description

[FATAL:authenticator.mojom.cc(376)] Check failed: !connected. Authenticator::MakeCredentialCallback was destroyed without first either being run or its corresponding binding being closed. It is an error to drop response callbacks which still correspond to an open interface pipe.

base::debug::StackTrace::StackTrace()
logging::LogMessage::~LogMessage()
webauth::mojom::Authenticator_MakeCredential_ProxyToResponder::OnIsConnectedComplete()
mojo::(anonymous namespace)::ResponderThunk::IsConnectedAsync()
_ZN4base8internal9BindStateIMN7webauth5mojom45Authenticator_MakeCredential_ProxyToResponderEFvNS3_19AuthenticatorStatusEN4mojo9StructPtrINS3_35MakeCredentialAuthenticatorResponseEEEEJNS0_13PassedWrapperINSt3__110unique_ptrIS4_NSD_14default_deleteIS4_EEEEEEEE7DestroyEPKNS0_13BindStateBaseE
content::AuthenticatorImpl::~AuthenticatorImpl()
content::AuthenticatorImpl::~AuthenticatorImpl()
content::RenderFrameHostImpl::~RenderFrameHostImpl()
content::RenderFrameHostImpl::~RenderFrameHostImpl()
content::RenderFrameHostManager::~RenderFrameHostManager()
content::FrameTreeNode::~FrameTreeNode()
content::FrameTree::~FrameTree()
content::WebContentsImpl::~WebContentsImpl()
content::WebContentsImpl::~WebContentsImpl()
CloseWebContentses()
TabStripModel::InternalCloseTabs()
TabStripModel::CloseWebContentsAt()
Tab::ButtonPressed()
views::Button::OnMouseReleased()
TabCloseButton::OnMouseReleased()
views::InkDropHostView::OnMouseEvent()
ui::EventDispatcher::ProcessEvent()
ui::EventDispatcherDelegate::DispatchEvent()
views::internal::RootView::OnMouseReleased()
views::Widget::OnMouseEvent()
views::DesktopNativeWidgetAura::OnMouseEvent()
ui::EventDispatcher::ProcessEvent()
ui::EventDispatcherDelegate::DispatchEvent()
ui::EventProcessor::OnEventFromSource()
ui::EventSource::SendEventToSink()
views::DesktopWindowTreeHostX11::DispatchMouseEvent()
views::DesktopWindowTreeHostX11::DispatchEvent()
views::DesktopWindowTreeHostX11::DispatchEvent()
ui::PlatformEventSource::DispatchEvent()
ui::X11EventSource::ExtractCookieDataDispatchEvent()
ui::X11EventSource::DispatchXEvents()
ui::(anonymous namespace)::XSourceDispatch()
g_main_context_dispatch
<unknown>
g_main_context_iteration
base::MessagePumpGlib::Run()
base::MessageLoop::Run()
base::RunLoop::Run()
ChromeBrowserMainParts::MainMessageLoopRun()
content::BrowserMainLoop::RunMainMessageLoopParts()
content::BrowserMainRunnerImpl::Run()
content::BrowserMain()
content::RunNamedProcessTypeMain()
content::ContentMainRunnerImpl::Run()
service_manager::Main()
content::ContentMain()
ChromeMain
__libc_start_main
_start

 
Kim, could you please take a look at this?
Components: Blink>WebAuthentication Blink>SecurityFeature>CredentialManagement
Status: Started (was: Assigned)
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 25 2018

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

commit eb0af94b0b294107c655f6cfe11ce1eadc2025e2
Author: Kim Paulhamus <kpaulhamus@chromium.org>
Date: Sun Feb 25 10:41:34 2018

[webauthn] Close AuthenticatorImpl bindings before callbacks are destroyed.

This will prevent crashing when a tab is closed while
an authenticator request is pending.

(Also remove some stray logs in authenticator_impl_unittest.cc).

Bug:  808096 
Change-Id: I00c67b7dea8d1e37d293428e28e61046ce1f3e98
Reviewed-on: https://chromium-review.googlesource.com/905929
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539037}
[modify] https://crrev.com/eb0af94b0b294107c655f6cfe11ce1eadc2025e2/content/browser/webauth/authenticator_impl.cc
[modify] https://crrev.com/eb0af94b0b294107c655f6cfe11ce1eadc2025e2/content/browser/webauth/authenticator_impl_unittest.cc
[add] https://crrev.com/eb0af94b0b294107c655f6cfe11ce1eadc2025e2/content/browser/webauth/webauth_browsertest.cc
[modify] https://crrev.com/eb0af94b0b294107c655f6cfe11ce1eadc2025e2/content/test/BUILD.gn

Project Member

Comment 5 by bugdroid1@chromium.org, Feb 25 2018

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

commit ef854dedc801f14ed507643f951d7286ea380df2
Author: Findit <findit-for-me@appspot.gserviceaccount.com>
Date: Sun Feb 25 12:02:10 2018

Revert "[webauthn] Close AuthenticatorImpl bindings before callbacks are destroyed."

This reverts commit eb0af94b0b294107c655f6cfe11ce1eadc2025e2.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 539037 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2ViMGFmOTRiMGIyOTQxMDdjNjU1ZjZjZmUxMWNlMWVhZGMyMDI1ZTIM

Sample Failed Build: https://ci.chromium.org/buildbot/chromium/Linux%20x64/59399

Sample Failed Step: compile

Original change's description:
> [webauthn] Close AuthenticatorImpl bindings before callbacks are destroyed.
> 
> This will prevent crashing when a tab is closed while
> an authenticator request is pending.
> 
> (Also remove some stray logs in authenticator_impl_unittest.cc).
> 
> Bug:  808096 
> Change-Id: I00c67b7dea8d1e37d293428e28e61046ce1f3e98
> Reviewed-on: https://chromium-review.googlesource.com/905929
> Commit-Queue: Balazs Engedy <engedy@chromium.org>
> Reviewed-by: Balazs Engedy <engedy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#539037}

Change-Id: I605ad40100f9a35cf6eecf4824ce0eb062a35ebd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  808096 
Reviewed-on: https://chromium-review.googlesource.com/936302
Cr-Commit-Position: refs/heads/master@{#539038}
[modify] https://crrev.com/ef854dedc801f14ed507643f951d7286ea380df2/content/browser/webauth/authenticator_impl.cc
[modify] https://crrev.com/ef854dedc801f14ed507643f951d7286ea380df2/content/browser/webauth/authenticator_impl_unittest.cc
[delete] https://crrev.com/eb0af94b0b294107c655f6cfe11ce1eadc2025e2/content/browser/webauth/webauth_browsertest.cc
[modify] https://crrev.com/ef854dedc801f14ed507643f951d7286ea380df2/content/test/BUILD.gn

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 27 2018

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

commit 91d26b6d39214699d5812da0c8772242ec68a679
Author: Kim Paulhamus <kpaulhamus@chromium.org>
Date: Tue Feb 27 23:11:15 2018

[webauthn] Reland: Close AuthenticatorImpl bindings before callbacks are destroyed.

This will prevent crashing when a tab is closed while
an authenticator request is pending.

(Also remove some stray logs in authenticator_impl_unittest.cc).

This is a reland of https://crrev.com/c/905929, which
was reverted due to the movement of the //services/device/public/interfaces directory.
This fixes the include in webauth_browsertest.

Bug:  808096 
Change-Id: Ia3ffee8deab4566844f839c6ead0b376749855a4
Reviewed-on: https://chromium-review.googlesource.com/937660
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Commit-Queue: Kim Paulhamus <kpaulhamus@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539572}
[modify] https://crrev.com/91d26b6d39214699d5812da0c8772242ec68a679/content/browser/webauth/authenticator_impl.cc
[modify] https://crrev.com/91d26b6d39214699d5812da0c8772242ec68a679/content/browser/webauth/authenticator_impl_unittest.cc
[add] https://crrev.com/91d26b6d39214699d5812da0c8772242ec68a679/content/browser/webauth/webauth_browsertest.cc
[modify] https://crrev.com/91d26b6d39214699d5812da0c8772242ec68a679/content/test/BUILD.gn

Status: Fixed (was: Started)

Sign in to add a comment