New issue
Advanced search Search tips

Issue 663950 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Crash during shutdown in FileDescriptorWatcher

Project Member Reported by bajones@chromium.org, Nov 9 2016

Issue description

Version: 56.0.2914.0
OS: Linux

In recent Linux builds when the Gamepad API is used shutting down the browser will cause a crash in base::FileDescriptorWatcher. Stack Trace:

[159895:159895:1109/154520:FATAL:file_descriptor_watcher_posix.cc(29)] Check failed: sequence_checker_.CalledOnValidSequence(). 
#0 0x7fdc1e26ccce base::debug::StackTrace::StackTrace()
#1 0x7fdc1e290feb logging::LogMessage::~LogMessage()
#2 0x7fdc1e27222c base::FileDescriptorWatcher::Controller::~Controller()
#3 0x7fdc136c1bd9 device::UdevLinux::~UdevLinux()
#4 0x7fdc136bbb4e device::GamepadPlatformDataFetcherLinux::~GamepadPlatformDataFetcherLinux()
#5 0x7fdc136bbb79 device::GamepadPlatformDataFetcherLinux::~GamepadPlatformDataFetcherLinux()
#6 0x7fdc136bcf55 device::GamepadProvider::~GamepadProvider()
#7 0x7fdc136bd029 device::GamepadProvider::~GamepadProvider()
#8 0x7fdc1bb479f2 content::BrowserMainLoop::ShutdownThreadsAndCleanUp()
#9 0x7fdc1bb4a123 content::BrowserMainRunnerImpl::Shutdown()
#10 0x7fdc1bb42349 content::BrowserMain()
#11 0x7fdc1c2ec577 content::RunNamedProcessTypeMain()
#12 0x7fdc1c2ecfeb content::ContentMainRunnerImpl::Run()
#13 0x7fdc1c2eb960 content::ContentMain()
#14 0x7fdc1ecec1dd ChromeMain
#15 0x7fdc149baf45 __libc_start_main
#16 0x7fdc1ecec0b9 <unknown>

It seems very much like this was introduced as part of this change: https://chromium.googlesource.com/chromium/src/+/92ebb94ad1bdf0d4aef4f74240d4933a945e14d8

To reproduce visit http://html5gamepad.com with a gamepad connected then exit the browser and watch the logs.
 
Summary: Crash during shutdown in FileDescriptorWatcher (was: Crash during shutdown in )
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 10 2016

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

commit f982e5aa10e88c9b0656ec751d47205d873069c2
Author: fdoray <fdoray@chromium.org>
Date: Thu Nov 10 21:56:23 2016

Destroy GamepadDataFetchers on the polling thread.

GamepadPlatformDataFetcherLinux encapsulates a
FileDescriptorWatcher::Controller whose destructor needs to be called
on the same sequence as its constructor. This decision was discussed
in the design doc for FileDescriptorWatcher
https://docs.google.com/document/d/1F5CjON2JNtCtdEug3LOL8-avj188k_xOgqzdv288Q_s/edit?usp=sharing

BUG= 663950 

Review-Url: https://codereview.chromium.org/2491943002
Cr-Commit-Position: refs/heads/master@{#431372}

[modify] https://crrev.com/f982e5aa10e88c9b0656ec751d47205d873069c2/device/gamepad/gamepad_provider.cc

Comment 3 by fdoray@chromium.org, Nov 11 2016

Status: Fixed (was: Assigned)

Sign in to add a comment