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

Issue 761106 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

MessageTransferOperations can leave Bluetooth connections pending

Project Member Reported by khorimoto@chromium.org, Aug 31 2017

Issue description

If a MessageTransferOperation is destroyed before it has called UnregisterDevice() on all of its devices, Bluetooth connections can persist forever, until the device reboots or Tether is disabled.

This does not happen under normal use, but it does happen if you start connecting to a device then disconnect before the ConnectTetheringOperation completes.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 1 2017

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

commit e9efa4448ac426dc9c958493560a4135bc5efab8
Author: Kyle Horimoto <khorimoto@google.com>
Date: Fri Sep 01 00:56:58 2017

[CrOS Tether] Unregister all pending devices on operation shutdown.

This fixes an edge case where if an operation is killed while still in
progress, it can leave an open Bluetooth connection which is not killed
until the Tether component is shut down. This situation does not occur
regularly, but it can manifest itself in race conditions, such as when
a connection attempt is canceled while the Bluetooth operation to
bootstrap the connection is still underway.

Bug:  761106 , 672263
Change-Id: I08f1ce3643934c923d799dca503d6cdd6f68ac94
Reviewed-on: https://chromium-review.googlesource.com/646493
Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499087}
[modify] https://crrev.com/e9efa4448ac426dc9c958493560a4135bc5efab8/chromeos/components/tether/fake_ble_connection_manager.cc
[modify] https://crrev.com/e9efa4448ac426dc9c958493560a4135bc5efab8/chromeos/components/tether/fake_ble_connection_manager.h
[modify] https://crrev.com/e9efa4448ac426dc9c958493560a4135bc5efab8/chromeos/components/tether/message_transfer_operation.cc
[modify] https://crrev.com/e9efa4448ac426dc9c958493560a4135bc5efab8/chromeos/components/tether/message_transfer_operation.h
[modify] https://crrev.com/e9efa4448ac426dc9c958493560a4135bc5efab8/chromeos/components/tether/message_transfer_operation_unittest.cc

Labels: Merge-Request-61
Project Member

Comment 3 by sheriffbot@chromium.org, Sep 1 2017

Labels: -Merge-Request-61 Merge-Review-61 Hotlist-Merge-Review
This bug requires manual review: We are only 3 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 4 by ketakid@google.com, Sep 1 2017

Labels: -Merge-Review-61 Merge-Approved-61
Approved merge to M61.
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 1 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ca5e8c82d653abb296469a107c040932ea6470a2

commit ca5e8c82d653abb296469a107c040932ea6470a2
Author: Kyle Horimoto <khorimoto@google.com>
Date: Fri Sep 01 18:02:38 2017

[CrOS Tether] Unregister all pending devices on operation shutdown.

This fixes an edge case where if an operation is killed while still in
progress, it can leave an open Bluetooth connection which is not killed
until the Tether component is shut down. This situation does not occur
regularly, but it can manifest itself in race conditions, such as when
a connection attempt is canceled while the Bluetooth operation to
bootstrap the connection is still underway.

TBR=khorimoto@google.com

(cherry picked from commit e9efa4448ac426dc9c958493560a4135bc5efab8)

Bug:  761106 , 672263
Change-Id: I08f1ce3643934c923d799dca503d6cdd6f68ac94
Reviewed-on: https://chromium-review.googlesource.com/646493
Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#499087}
Reviewed-on: https://chromium-review.googlesource.com/648003
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1068}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/ca5e8c82d653abb296469a107c040932ea6470a2/chromeos/components/tether/fake_ble_connection_manager.cc
[modify] https://crrev.com/ca5e8c82d653abb296469a107c040932ea6470a2/chromeos/components/tether/fake_ble_connection_manager.h
[modify] https://crrev.com/ca5e8c82d653abb296469a107c040932ea6470a2/chromeos/components/tether/message_transfer_operation.cc
[modify] https://crrev.com/ca5e8c82d653abb296469a107c040932ea6470a2/chromeos/components/tether/message_transfer_operation.h
[modify] https://crrev.com/ca5e8c82d653abb296469a107c040932ea6470a2/chromeos/components/tether/message_transfer_operation_unittest.cc

Status: Fixed (was: Started)

Comment 7 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 8 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)

Sign in to add a comment