ARC Bluetooth does not pick up active scan results after disconnect
Reported by
steven.l...@makewonder.com,
Jun 14 2018
|
||||||||||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15 Platform: 10718.13.0 (Official Build) dev-channel kevin Steps to reproduce the problem: - Install and run “nRF Connect for Mobile” by Nordic Semiconductor ASA from the Google Play store on a Chromebook running OS M68 dev (68.0.3440.15) to be exact - Turn on a BLE device which provides a 128-bit Service UUID in a BLE Active Scan Response. Wonder Workshop robots (Dash, Dot or Cue) are examples of such a device. See https://blog.bluetooth.com/advertising-works-part-1 for information about how 128-bit Service UUIDs are provided in the scan response. - Find the device in the list of advertisements on the right. It may be helpful to filter by device name, but this is not necessary - Note that the device information contains a field “Complete list of 128-bit Service UUIDs”. For WW robots, this is “af237777-879d-6186-1f49-deca0e85d9c1” or “af237778-879d-6186-1f49-deca0e85d9c1” - Click on the CONNECT button to the right of the device name. - Once connected, disconnect from the device by clicking the X next to device name near the top of the page - Click on SCANNER in the upper left part of the page - Click on SCAN in the upper right part of the page - Find the device in the list of advertisements on the right What is the expected behavior? - The device’s 128-bit Service UUID is shown (as in attachments IMG_0047.jpg and IMG_0049.jpg) What went wrong? - The Service UUID is missing (as in attachments IMG_0048.jpg and IMG_0050.jpg) Did this work before? N/A Does this work in other browsers? Yes Chrome version: 68.0.3440.15 (Official Build) dev (32-bit) Channel: dev OS Version: 68.0.3440.15 Flash Version: 30.0.0.113 /opt/google/chrome/pepper/libpepflashplayer.so - After disconnecting, the Service UUID does not show up in any android app until the Chromebook is rebooted - After disconnecting, the Service UUID does not show up when attempting to access the device using a filtered scan in Web Bluetooth on the Chromebook’s Chrome browser
,
Jun 14 2018
,
Jun 14 2018
Thanks for reporting. It's quite encouraging that you somehow make https://bugs.chromium.org/p/chromium/issues/detail?id=841041 reproducible. Would you mind if you do a simple scan on that bug? I would like to know two things now: 1. In reproducing this bug, does the issue look the same as the one mentioned above? 2. Have you encountered this issue previously? Thanks!
,
Jun 14 2018
Can you tell me more about this simple scan you request? I'm not sure how to perform it.
,
Jun 14 2018
I have noticed, in previous OS versions, that sometimes devices got lost. However, I did not investigate in enough detail to say with certainty that this is the same issue.
,
Jun 14 2018
Really sorry... My bad. Horrible wording. I just want you to watch the video tapes in that bug. Does it look like the same issue as you reproduce this bug? Please let me know your answers to the following questions: 1. In reproducing this bug, does the issue look the same as the one mentioned above? 2. Have you encountered this issue previously? Thanks you so much!
,
Jun 15 2018
The issue could be the same, yes. The service UUID does seem to disappear after connecting/disconnecting as shown in one of the videos.
,
Jun 15 2018
HUGE. I would try to reproduce it next week. Once I can reproduce this issue reliably, we should be able to fix it soon. Lots of thanks go to you.
,
Jun 15 2018
+Edwin. We have another developer reporting the same issue. Could you do me a favor to see whether you can reproduce it also following his steps? Thanks!
,
Jun 15 2018
@qiyuh Yeah sure. I will get back to you next week. From the looks of it, the issue is similar to the video I posted in https://bugs.chromium.org/p/chromium/issues/detail?id=841041
,
Jun 15 2018
Issue 853038 has been merged into this issue.
,
Jun 15 2018
,
Jun 15 2018
,
Jun 16 2018
In case developers want some early fix, I have a patch fixing this one. https://chromium-review.googlesource.com/c/chromiumos/third_party/bluez/+/1102670 Before it's merged in, you have to manually build ChromeOS (specifically BlueZ) if you want to get a first try though.
,
Jun 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/69e6a7872f1de61abdaee62d873f12a4c8340e6e commit 69e6a7872f1de61abdaee62d873f12a4c8340e6e Author: Qiyu Hu <qiyuh@google.com> Date: Tue Jun 19 17:17:11 2018 arc: bluetooth: Fix a bug where we never send cached device as intended SendCached.*() never works as our imagination goes. Cached found devices are always ignored in SendDevices(). Also sends out paired devices in SendCachedDevicesFound(). A paired device can still have different UUIDs from last time we report to Android, which should get the latest UUID list as long as it's scanning. As a matter of fact, the secure client test needs to know the updated UUIDs on a paired device in order to figure out which one to connect to. This has an impact on crbug/853037 and crbug/841041 also, as devices are always paired before connected in BlueZ. BUG=b:78593133, chromium:853037 , chromium:841041 TEST=Confirm from logs that UUIDs are updated even for paired devices Change-Id: I6f1dae8be9bb1eb9b0d8cb5c2a146ec07d4ee099 Reviewed-on: https://chromium-review.googlesource.com/1105559 Commit-Queue: Qiyu Hu <qiyuh@google.com> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Cr-Commit-Position: refs/heads/master@{#568505} [modify] https://crrev.com/69e6a7872f1de61abdaee62d873f12a4c8340e6e/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.cc [modify] https://crrev.com/69e6a7872f1de61abdaee62d873f12a4c8340e6e/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.h
,
Jun 19 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/33c9e8163c4b728bbf0d88e088f20eb4988ba7ae commit 33c9e8163c4b728bbf0d88e088f20eb4988ba7ae Author: Qiyu Hu <qiyuh@google.com> Date: Tue Jun 19 21:38:47 2018 CHROMIUM: Merge eir_uuids into uuids When service uuids are only availabe in eir (extended inquery response), current implementation clears eir_uuids and refuses to update them once service is resolved. Thus, it's impossible to retrieve those service uuids once a device is connected, unless that device is removed from BlueZ cache. The effect of distinguishing uuids from eir_uuids is adding more code and cost to maintain two lists only. Time to simplify this piece. BUG= chromium:853037 , chromium:841041 TEST=Cannot reproduce the missing service uuid bug anymore Change-Id: Ia4659b055e24c4a572ab403fda375e460ad096e9 Reviewed-on: https://chromium-review.googlesource.com/1102670 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Dmitry Grinberg <dmitrygr@google.com> [modify] https://crrev.com/33c9e8163c4b728bbf0d88e088f20eb4988ba7ae/src/device.h [modify] https://crrev.com/33c9e8163c4b728bbf0d88e088f20eb4988ba7ae/src/adapter.c [modify] https://crrev.com/33c9e8163c4b728bbf0d88e088f20eb4988ba7ae/src/device.c
,
Jun 20 2018
Can I get an indication when this change may make it into the dev channel? 69.0.3464.0 doesn't appear to have the fix. I made a custom build, however ARC++ isn't supported on Chromium OS (https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/zg-ZDIYVhm0) Thanks for your fix, btw.
,
Jun 20 2018
Further changes are still needed to ensure we don't send GATT uuids as part of the scan result. However, things are broken only if you have a large number of GATT services. In other cases, it should be good to scan for service uuids after disconnection.
,
Jun 21 2018
All patches has been landed. Please allow a few days for the fix showing up in dev. If you want to try out early, you can switch to canary. I would close this one for now. Feel free to reopen if this issue still hangs around.
,
Jul 16
Can this change be pushed to Chrome OS version 68? We have discovered that this issue also affects our users via Web Bluetooth on version 67. This bug did not affect users on version 66, so it appears to be a regression.
,
Jul 16
Re-assign to Bernie for an M68 merge request.
,
Jul 16
This bug requires manual review: We are only 7 days from stable. Please contact the milestone owner if you have questions. Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 16
,
Jul 16
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/7459edbcbd0d2735827a96bb684260360f04562e commit 7459edbcbd0d2735827a96bb684260360f04562e Author: Qiyu Hu <qiyuh@google.com> Date: Mon Jul 16 21:43:25 2018 CHROMIUM: Merge eir_uuids into uuids When service uuids are only availabe in eir (extended inquery response), current implementation clears eir_uuids and refuses to update them once service is resolved. Thus, it's impossible to retrieve those service uuids once a device is connected, unless that device is removed from BlueZ cache. The effect of distinguishing uuids from eir_uuids is adding more code and cost to maintain two lists only. Time to simplify this piece. BUG= chromium:853037 , chromium:841041 TEST=Cannot reproduce the missing service uuid bug anymore Change-Id: Ia4659b055e24c4a572ab403fda375e460ad096e9 Reviewed-on: https://chromium-review.googlesource.com/1102670 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Dmitry Grinberg <dmitrygr@google.com> (cherry picked from commit 33c9e8163c4b728bbf0d88e088f20eb4988ba7ae) Reviewed-on: https://chromium-review.googlesource.com/1138981 Reviewed-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Commit-Queue: Qiyu Hu <qiyuh@google.com> [modify] https://crrev.com/7459edbcbd0d2735827a96bb684260360f04562e/src/device.h [modify] https://crrev.com/7459edbcbd0d2735827a96bb684260360f04562e/src/adapter.c [modify] https://crrev.com/7459edbcbd0d2735827a96bb684260360f04562e/src/device.c
,
Jul 16
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/eba14ad88e7fa55f1ae3d24209893f94738815d1 commit eba14ad88e7fa55f1ae3d24209893f94738815d1 Author: Miao-chen Chou <mcchou@chromium.org> Date: Mon Jul 16 22:30:45 2018 arc: bluetooth: Fix a bug where we never send cached device as intended SendCached.*() never works as our imagination goes. Cached found devices are always ignored in SendDevices(). Also sends out paired devices in SendCachedDevicesFound(). A paired device can still have different UUIDs from last time we report to Android, which should get the latest UUID list as long as it's scanning. As a matter of fact, the secure client test needs to know the updated UUIDs on a paired device in order to figure out which one to connect to. This has an impact on crbug/853037 and crbug/841041 also, as devices are always paired before connected in BlueZ. BUG=b:78593133, chromium:853037 , chromium:841041 TEST=Confirm from logs that UUIDs are updated even for paired devices TBR=qiyuh@google.com (cherry picked from commit 69e6a7872f1de61abdaee62d873f12a4c8340e6e) Change-Id: I6f1dae8be9bb1eb9b0d8cb5c2a146ec07d4ee099 Reviewed-on: https://chromium-review.googlesource.com/1105559 Commit-Queue: Qiyu Hu <qiyuh@google.com> Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> Cr-Original-Commit-Position: refs/heads/master@{#568505} Reviewed-on: https://chromium-review.googlesource.com/1138434 Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Cr-Commit-Position: refs/branch-heads/3440@{#686} Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733} [modify] https://crrev.com/eba14ad88e7fa55f1ae3d24209893f94738815d1/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.cc [modify] https://crrev.com/eba14ad88e7fa55f1ae3d24209893f94738815d1/chrome/browser/chromeos/arc/bluetooth/arc_bluetooth_bridge.h
,
Jul 23
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/0d576c388c30023b21ef559c018621b75af73ace commit 0d576c388c30023b21ef559c018621b75af73ace Author: Qiyu Hu <qiyuh@google.com> Date: Mon Jul 23 20:24:54 2018 Revert "CHROMIUM: Merge eir_uuids into uuids" This reverts commit 7459edbcbd0d2735827a96bb684260360f04562e. Reason for revert: <INSERT REASONING HERE> Original change's description: > CHROMIUM: Merge eir_uuids into uuids > > When service uuids are only availabe in eir (extended inquery response), > current implementation clears eir_uuids and refuses to update them once > service is resolved. Thus, it's impossible to retrieve those service > uuids once a device is connected, unless that device is removed from > BlueZ cache. > > The effect of distinguishing uuids from eir_uuids is adding more code > and cost to maintain two lists only. Time to simplify this piece. > > BUG= chromium:853037 , chromium:841041 > TEST=Cannot reproduce the missing service uuid bug anymore > > Change-Id: Ia4659b055e24c4a572ab403fda375e460ad096e9 > Reviewed-on: https://chromium-review.googlesource.com/1102670 > Commit-Ready: Qiyu Hu <qiyuh@google.com> > Tested-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Dmitry Grinberg <dmitrygr@google.com> > (cherry picked from commit 33c9e8163c4b728bbf0d88e088f20eb4988ba7ae) > Reviewed-on: https://chromium-review.googlesource.com/1138981 > Reviewed-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> > Commit-Queue: Qiyu Hu <qiyuh@google.com> Bug: chromium:853037 , chromium:841041 Change-Id: Idad8354a5135e7a643e4b28d77ef6f1c4af24e8c Reviewed-on: https://chromium-review.googlesource.com/1147401 Reviewed-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Commit-Queue: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> [modify] https://crrev.com/0d576c388c30023b21ef559c018621b75af73ace/src/device.h [modify] https://crrev.com/0d576c388c30023b21ef559c018621b75af73ace/src/adapter.c [modify] https://crrev.com/0d576c388c30023b21ef559c018621b75af73ace/src/device.c
,
Jul 23
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/e2c9f59ca00f96eb50296b4294f9590816559e34 commit e2c9f59ca00f96eb50296b4294f9590816559e34 Author: Qiyu Hu <qiyuh@google.com> Date: Mon Jul 23 20:37:27 2018 Revert "CHROMIUM: Merge eir_uuids into uuids" This reverts commit 7459edbcbd0d2735827a96bb684260360f04562e. Reason for revert: Breaking headset connection Original change's description: > CHROMIUM: Merge eir_uuids into uuids > > When service uuids are only availabe in eir (extended inquery response), > current implementation clears eir_uuids and refuses to update them once > service is resolved. Thus, it's impossible to retrieve those service > uuids once a device is connected, unless that device is removed from > BlueZ cache. > > The effect of distinguishing uuids from eir_uuids is adding more code > and cost to maintain two lists only. Time to simplify this piece. > > BUG= chromium:853037 , chromium:841041 > TEST=Cannot reproduce the missing service uuid bug anymore > > Change-Id: Ia4659b055e24c4a572ab403fda375e460ad096e9 > Reviewed-on: https://chromium-review.googlesource.com/1102670 > Commit-Ready: Qiyu Hu <qiyuh@google.com> > Tested-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Dmitry Grinberg <dmitrygr@google.com> > (cherry picked from commit 33c9e8163c4b728bbf0d88e088f20eb4988ba7ae) > Reviewed-on: https://chromium-review.googlesource.com/1138981 > Reviewed-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Luis Hector Chavez <lhchavez@chromium.org> > Commit-Queue: Qiyu Hu <qiyuh@google.com> Bug: chromium:853037 , chromium:841041 Change-Id: Idad8354a5135e7a643e4b28d77ef6f1c4af24e8c Reviewed-on: https://chromium-review.googlesource.com/1147401 Reviewed-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Commit-Queue: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> (cherry picked from commit 0d576c388c30023b21ef559c018621b75af73ace) Reviewed-on: https://chromium-review.googlesource.com/1147402 [modify] https://crrev.com/e2c9f59ca00f96eb50296b4294f9590816559e34/src/device.h [modify] https://crrev.com/e2c9f59ca00f96eb50296b4294f9590816559e34/src/adapter.c [modify] https://crrev.com/e2c9f59ca00f96eb50296b4294f9590816559e34/src/device.c
,
Jul 24
Sounds like this fix won’t be in 68. Is that accurate? If so, can we reopen this ticket?
,
Jul 24
Yup. We revert it due to a regressing issue. We still target to fix it in 68 though.
,
Jul 24
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/7e13faff2b3bce0ceacf7c809746f073e43910e1 commit 7e13faff2b3bce0ceacf7c809746f073e43910e1 Author: Qiyu Hu <qiyuh@google.com> Date: Tue Jul 24 19:44:12 2018 Revert "CHROMIUM: Merge eir_uuids into uuids" This reverts commit 33c9e8163c4b728bbf0d88e088f20eb4988ba7ae. Reason for revert: Breaks service probing on devices putting service uuids in EIR Original change's description: > CHROMIUM: Merge eir_uuids into uuids > > When service uuids are only availabe in eir (extended inquery response), > current implementation clears eir_uuids and refuses to update them once > service is resolved. Thus, it's impossible to retrieve those service > uuids once a device is connected, unless that device is removed from > BlueZ cache. > > The effect of distinguishing uuids from eir_uuids is adding more code > and cost to maintain two lists only. Time to simplify this piece. > > BUG= chromium:853037 , chromium:841041 > TEST=Cannot reproduce the missing service uuid bug anymore > > Change-Id: Ia4659b055e24c4a572ab403fda375e460ad096e9 > Reviewed-on: https://chromium-review.googlesource.com/1102670 > Commit-Ready: Qiyu Hu <qiyuh@google.com> > Tested-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Dmitry Grinberg <dmitrygr@google.com> Bug: chromium:853037 , chromium:841041 Change-Id: Ifb49aacc3227248282fc5df771daeabeb3794c2b Reviewed-on: https://chromium-review.googlesource.com/1147600 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> [modify] https://crrev.com/7e13faff2b3bce0ceacf7c809746f073e43910e1/src/device.h [modify] https://crrev.com/7e13faff2b3bce0ceacf7c809746f073e43910e1/src/adapter.c [modify] https://crrev.com/7e13faff2b3bce0ceacf7c809746f073e43910e1/src/device.c
,
Jul 25
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/6f62d1461e02a6911bb3a687d9cf71cb6957f5c7 commit 6f62d1461e02a6911bb3a687d9cf71cb6957f5c7 Author: Qiyu Hu <qiyuh@google.com> Date: Wed Jul 25 07:14:55 2018 CHROMIUM: Merge eir_uuids into uuids This is a reland of crrev.com/c/1102670. crrev.com/c/1102670 merges eir_uuids into uuids. Due to the check of duplicate uuids during profile probing, service uuids in eir are not probed. As a result, those profiles become unavailable and cause disconnection after pairing. As profile probing involves only internal state lookup in BlueZ, we can fix the issue by removing the duplicate uuid check. The only cost is a few more CPU cycles. BUG= chromium:853037 , chromium:841041 TEST=Verify that the missing service UUID bug is no longer reproducible and no regression on connection is introduced Change-Id: Icef35a24f2ebf290fc56482cdfcc96debee54482 Reviewed-on: https://chromium-review.googlesource.com/1148901 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> [modify] https://crrev.com/6f62d1461e02a6911bb3a687d9cf71cb6957f5c7/src/device.h [modify] https://crrev.com/6f62d1461e02a6911bb3a687d9cf71cb6957f5c7/src/adapter.c [modify] https://crrev.com/6f62d1461e02a6911bb3a687d9cf71cb6957f5c7/src/device.c
,
Jul 25
My tests show that beta version pushed earlier today 68.0.3440.76 still has this bug. My apologies if this information is already included in the ticket, however I am not privy to the meanings of the tags and bugdroid messages.
,
Jul 25
We reverted the fix due to a regression in both 68 and 69. We are now working on a reland to both branches.
,
Jul 25
,
Jul 25
+Cindy, we need to merge this fix back to M69. @Bernie and @Miao, we will reland this patch w/ the fix on the regression.
,
Jul 25
,
Jul 25
,
Jul 26
Your change meets the bar and is auto-approved for M69. Please go ahead and merge the CL to branch 3497 manually. Please contact milestone owner if you have questions. Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 26
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/a5ca7848eda56c60758273ffa13338937c1411d1 commit a5ca7848eda56c60758273ffa13338937c1411d1 Author: Qiyu Hu <qiyuh@google.com> Date: Thu Jul 26 17:47:58 2018 CHROMIUM: Merge eir_uuids into uuids This is a reland of crrev.com/c/1102670. crrev.com/c/1102670 merges eir_uuids into uuids. Due to the check of duplicate uuids during profile probing, service uuids in eir are not probed. As a result, those profiles become unavailable and cause disconnection after pairing. As profile probing involves only internal state lookup in BlueZ, we can fix the issue by removing the duplicate uuid check. The only cost is a few more CPU cycles. BUG= chromium:853037 , chromium:841041 TEST=Verify that the missing service UUID bug is no longer reproducible and no regression on connection is introduced Change-Id: Icef35a24f2ebf290fc56482cdfcc96debee54482 Reviewed-on: https://chromium-review.googlesource.com/1148901 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> (cherry picked from commit 6f62d1461e02a6911bb3a687d9cf71cb6957f5c7) Reviewed-on: https://chromium-review.googlesource.com/1150303 Commit-Queue: Qiyu Hu <qiyuh@google.com> [modify] https://crrev.com/a5ca7848eda56c60758273ffa13338937c1411d1/src/device.h [modify] https://crrev.com/a5ca7848eda56c60758273ffa13338937c1411d1/src/adapter.c [modify] https://crrev.com/a5ca7848eda56c60758273ffa13338937c1411d1/src/device.c
,
Jul 26
We reverted the initial fix due to a regression on connection and pairing. A new patch has been merged to master and 69, crrev.com/c/1148901. We request a merge to 68 also. Please help take a look. Thank you!
,
Jul 26
,
Jul 26
This bug requires manual review: Request affecting a post-stable build Please contact the milestone owner if you have questions. Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 26
,
Jul 26
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/0487388899be7fb66c717083606ccfd4ab6429fb commit 0487388899be7fb66c717083606ccfd4ab6429fb Author: Qiyu Hu <qiyuh@google.com> Date: Thu Jul 26 20:59:50 2018 CHROMIUM: Merge eir_uuids into uuids This is a reland of crrev.com/c/1102670. crrev.com/c/1102670 merges eir_uuids into uuids. Due to the check of duplicate uuids during profile probing, service uuids in eir are not probed. As a result, those profiles become unavailable and cause disconnection after pairing. As profile probing involves only internal state lookup in BlueZ, we can fix the issue by removing the duplicate uuid check. The only cost is a few more CPU cycles. BUG= chromium:853037 , chromium:841041 TEST=Verify that the missing service UUID bug is no longer reproducible and no regression on connection is introduced Change-Id: Icef35a24f2ebf290fc56482cdfcc96debee54482 Reviewed-on: https://chromium-review.googlesource.com/1148901 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> (cherry picked from commit 6f62d1461e02a6911bb3a687d9cf71cb6957f5c7) Reviewed-on: https://chromium-review.googlesource.com/1150301 Commit-Queue: Qiyu Hu <qiyuh@google.com> [modify] https://crrev.com/0487388899be7fb66c717083606ccfd4ab6429fb/src/device.h [modify] https://crrev.com/0487388899be7fb66c717083606ccfd4ab6429fb/src/adapter.c [modify] https://crrev.com/0487388899be7fb66c717083606ccfd4ab6429fb/src/device.c
,
Jul 30
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible! If all merges have been completed, please remove any remaining Merge-Approved labels from this issue. Thanks for your time! To disable nags, add the Disable-Nags label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Jul 30
,
Aug 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/15b9c78bdac722010ffbfafc85aeb0d874f59cda commit 15b9c78bdac722010ffbfafc85aeb0d874f59cda Author: Bernie Thompson <bhthompson@chromium.org> Date: Thu Aug 02 02:21:34 2018 Revert "CHROMIUM: Merge eir_uuids into uuids" This reverts commit 6f62d1461e02a6911bb3a687d9cf71cb6957f5c7. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=870011 Original change's description: > CHROMIUM: Merge eir_uuids into uuids > > This is a reland of crrev.com/c/1102670. > > crrev.com/c/1102670 merges eir_uuids into uuids. Due to the check of > duplicate uuids during profile probing, service uuids in eir are not > probed. As a result, those profiles become unavailable and cause > disconnection after pairing. > > As profile probing involves only internal state lookup in BlueZ, we > can fix the issue by removing the duplicate uuid check. The only cost is > a few more CPU cycles. > > BUG= chromium:853037 , chromium:841041 > TEST=Verify that the missing service UUID bug is no longer reproducible > and no regression on connection is introduced > Change-Id: Icef35a24f2ebf290fc56482cdfcc96debee54482 > Reviewed-on: https://chromium-review.googlesource.com/1148901 > Commit-Ready: Qiyu Hu <qiyuh@google.com> > Tested-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Bug: chromium:853037 , chromium:841041 Change-Id: I9f67e553288e9e72304202e8cb9d43d7985cebd9 Reviewed-on: https://chromium-review.googlesource.com/1159833 Reviewed-by: Bernie Thompson <bhthompson@chromium.org> Commit-Queue: Bernie Thompson <bhthompson@chromium.org> Tested-by: Bernie Thompson <bhthompson@chromium.org> [modify] https://crrev.com/15b9c78bdac722010ffbfafc85aeb0d874f59cda/src/device.h [modify] https://crrev.com/15b9c78bdac722010ffbfafc85aeb0d874f59cda/src/adapter.c [modify] https://crrev.com/15b9c78bdac722010ffbfafc85aeb0d874f59cda/src/device.c
,
Aug 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/baaff790f7ca37ca08d7ad9786ba4b3d6905b07b commit baaff790f7ca37ca08d7ad9786ba4b3d6905b07b Author: Bernie Thompson <bhthompson@chromium.org> Date: Thu Aug 02 02:21:35 2018 Revert "CHROMIUM: Merge eir_uuids into uuids" This reverts commit 6f62d1461e02a6911bb3a687d9cf71cb6957f5c7. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=870011 Original change's description: > CHROMIUM: Merge eir_uuids into uuids > > This is a reland of crrev.com/c/1102670. > > crrev.com/c/1102670 merges eir_uuids into uuids. Due to the check of > duplicate uuids during profile probing, service uuids in eir are not > probed. As a result, those profiles become unavailable and cause > disconnection after pairing. > > As profile probing involves only internal state lookup in BlueZ, we > can fix the issue by removing the duplicate uuid check. The only cost is > a few more CPU cycles. > > BUG= chromium:853037 , chromium:841041 > TEST=Verify that the missing service UUID bug is no longer reproducible > and no regression on connection is introduced > Change-Id: Icef35a24f2ebf290fc56482cdfcc96debee54482 > Reviewed-on: https://chromium-review.googlesource.com/1148901 > Commit-Ready: Qiyu Hu <qiyuh@google.com> > Tested-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Bug: chromium:853037 , chromium:841041 Change-Id: I9f67e553288e9e72304202e8cb9d43d7985cebd9 Reviewed-on: https://chromium-review.googlesource.com/1159834 Reviewed-by: Bernie Thompson <bhthompson@chromium.org> Commit-Queue: Bernie Thompson <bhthompson@chromium.org> Tested-by: Bernie Thompson <bhthompson@chromium.org> [modify] https://crrev.com/baaff790f7ca37ca08d7ad9786ba4b3d6905b07b/src/device.h [modify] https://crrev.com/baaff790f7ca37ca08d7ad9786ba4b3d6905b07b/src/adapter.c [modify] https://crrev.com/baaff790f7ca37ca08d7ad9786ba4b3d6905b07b/src/device.c
,
Aug 2
This CL appears to have damaged the R68 release branch. At this point unless this is a major regression, this bug is considered merge rejected for 68.
,
Aug 2
https://bugs.chromium.org/p/chromium/issues/detail?id=870011 for reference.
,
Aug 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/2d9d500b283d0a20a0151c4c8fc826e637ad651c commit 2d9d500b283d0a20a0151c4c8fc826e637ad651c Author: Bernie Thompson <bhthompson@chromium.org> Date: Thu Aug 02 02:25:49 2018 Revert "CHROMIUM: Merge eir_uuids into uuids" This reverts commit 6f62d1461e02a6911bb3a687d9cf71cb6957f5c7. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=870011 Original change's description: > CHROMIUM: Merge eir_uuids into uuids > > This is a reland of crrev.com/c/1102670. > > crrev.com/c/1102670 merges eir_uuids into uuids. Due to the check of > duplicate uuids during profile probing, service uuids in eir are not > probed. As a result, those profiles become unavailable and cause > disconnection after pairing. > > As profile probing involves only internal state lookup in BlueZ, we > can fix the issue by removing the duplicate uuid check. The only cost is > a few more CPU cycles. > > BUG= chromium:853037 , chromium:841041 > TEST=Verify that the missing service UUID bug is no longer reproducible > and no regression on connection is introduced > Change-Id: Icef35a24f2ebf290fc56482cdfcc96debee54482 > Reviewed-on: https://chromium-review.googlesource.com/1148901 > Commit-Ready: Qiyu Hu <qiyuh@google.com> > Tested-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Bug: chromium:853037 , chromium:841041 Change-Id: I9f67e553288e9e72304202e8cb9d43d7985cebd9 Reviewed-on: https://chromium-review.googlesource.com/1159837 Reviewed-by: Bernie Thompson <bhthompson@chromium.org> Commit-Queue: Bernie Thompson <bhthompson@chromium.org> Tested-by: Bernie Thompson <bhthompson@chromium.org> [modify] https://crrev.com/2d9d500b283d0a20a0151c4c8fc826e637ad651c/src/device.h [modify] https://crrev.com/2d9d500b283d0a20a0151c4c8fc826e637ad651c/src/adapter.c [modify] https://crrev.com/2d9d500b283d0a20a0151c4c8fc826e637ad651c/src/device.c
,
Aug 2
This is a major regression for us, as the regression breaks connectivity to our devices with our currently deployed applications with many users. Since this is a bug on the operating system level that requires a reboot of the system any time a device disconnects, there is no possible way for us to patch around this at an application level.
,
Aug 2
At this point I would be hesitant to take a fix in R68, while this bug breaks some devices, the fix broke BT in a much broader fashion (e.g. keyboards stopped working). We will still work toward fixing this, but the deployment to stable may be delayed while we get to a stable solution.
,
Aug 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/533d756c4dd407b36027968067ad459399695f1b commit 533d756c4dd407b36027968067ad459399695f1b Author: Bernie Thompson <bhthompson@chromium.org> Date: Thu Aug 02 20:53:31 2018 Revert "CHROMIUM: Merge eir_uuids into uuids" This reverts commit 6f62d1461e02a6911bb3a687d9cf71cb6957f5c7. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=870011 Original change's description: > CHROMIUM: Merge eir_uuids into uuids > > This is a reland of crrev.com/c/1102670. > > crrev.com/c/1102670 merges eir_uuids into uuids. Due to the check of > duplicate uuids during profile probing, service uuids in eir are not > probed. As a result, those profiles become unavailable and cause > disconnection after pairing. > > As profile probing involves only internal state lookup in BlueZ, we > can fix the issue by removing the duplicate uuid check. The only cost is > a few more CPU cycles. > > BUG= chromium:853037 , chromium:841041 > TEST=Verify that the missing service UUID bug is no longer reproducible > and no regression on connection is introduced > Change-Id: Icef35a24f2ebf290fc56482cdfcc96debee54482 > Reviewed-on: https://chromium-review.googlesource.com/1148901 > Commit-Ready: Qiyu Hu <qiyuh@google.com> > Tested-by: Qiyu Hu <qiyuh@google.com> > Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Bug: chromium:853037 , chromium:841041 Change-Id: I9f67e553288e9e72304202e8cb9d43d7985cebd9 Reviewed-on: https://chromium-review.googlesource.com/1159832 Commit-Ready: Bernie Thompson <bhthompson@chromium.org> Tested-by: Bernie Thompson <bhthompson@chromium.org> Reviewed-by: Bernie Thompson <bhthompson@chromium.org> [modify] https://crrev.com/533d756c4dd407b36027968067ad459399695f1b/src/device.h [modify] https://crrev.com/533d756c4dd407b36027968067ad459399695f1b/src/adapter.c [modify] https://crrev.com/533d756c4dd407b36027968067ad459399695f1b/src/device.c
,
Aug 7
,
Aug 8
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/7e730a02ca9e04ef673a54cf7cf0b366bf4a64b3 commit 7e730a02ca9e04ef673a54cf7cf0b366bf4a64b3 Author: Qiyu Hu <qiyuh@google.com> Date: Wed Aug 08 01:09:06 2018 CHROMIUM: Change the semantic of UUIDs property in device Keep the list of eir_uuids in property "UUID". Avoid removing eir_uuids after service discovery. So the semantic of UUIDs property in device changes in the following way: 1. Without this patch, UUIDs contains eir uuids only before service discovery. After service discovery, UUIDs contains service UUIDs BlueZ discovers. 2. With this patch, UUIDs contains eir uuids only before service discovery. After service discovery, UUIDs continas service UUIDs and eir_uuids. BUG= chromium:853037 , chromium:841041 , chromium:870011 TEST=Verify that the missing service UUIDs bug is no longer reproducible Pair and connect w/ baiscally all peripherals @pbathini can provide Change-Id: Ifa2fcb4e074d8de10b6ed6902c36d451ebbea359 Reviewed-on: https://chromium-review.googlesource.com/1161543 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> [modify] https://crrev.com/7e730a02ca9e04ef673a54cf7cf0b366bf4a64b3/src/device.c [modify] https://crrev.com/7e730a02ca9e04ef673a54cf7cf0b366bf4a64b3/doc/device-api.txt
,
Aug 8
,
Aug 8
This bug requires manual review: M69 has already been promoted to the beta branch, so this requires manual review Please contact the milestone owner if you have questions. Owners: amineer@(Android), kariahda@(iOS), cindyb@(ChromeOS), govind@(Desktop) For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Aug 8
qiyuh@ - is there any more work to be done on this bug? If not, please mark it as fixed so pbathini@ can help test/verify it. Thanks
,
Aug 8
Need a merge back to 69, after pbathini@ verifies things still work.
,
Aug 15
FYI, this bug is still occurring in beta build 69.0.3497.35 (on Samsung Chromebook Pro)
,
Aug 15
Yup. Unfortunately I never got the approval to merge the fix on 69.
,
Aug 15
,
Aug 15
Could this fix still make it into 69 in a future build? Thanks, btw.
,
Aug 16
I checked on 10971.0.0 build on eve and was able to pair , connect and use below devices 1.Bose AE2 headphones 2.Designer Mouse 3.Dell BT keyboard 4.Arteck BT 3.0 keyboard 5.Microsoft Universal Kb 6.Logitech M535 BT mouse 7.66 BTS headphones 8.HM 1200 headphones
,
Aug 17
qiyuh@ - you can proceed with the merge.
,
Aug 24
This bug is still reproducible in today's beta release 69.0.3497.58 (See attached screenshots). Has the merged occurred?
,
Aug 24
@cindyb, could you help take a look at our merge request to 69 for this one?
,
Aug 28
Do we know if the fix was either - not merged into the beta 69.0.3497.58 or - merged, and did not fix the issue ?
,
Aug 28
Nope. It's not merged yet.
,
Aug 31
Thank you, @qiyuh . Appears to still not be merged as of this morning's beta release 69.0.3497.73
,
Sep 4
Appears to have been merged, updating labels for M69.
,
Sep 10
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible! If all merges have been completed, please remove any remaining Merge-Approved labels from this issue. Thanks for your time! To disable nags, add the Disable-Nags label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Sep 10
This fix does not appear to be merged as of today's 69.0.3497.87 beta release. The bug is still reproducible for me on a Samsung Chromebook Pro.
,
Sep 10
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/bluez/+/7950443b86cf0ef89a2473b62206fea68df8fae3 commit 7950443b86cf0ef89a2473b62206fea68df8fae3 Author: Qiyu Hu <qiyuh@google.com> Date: Mon Sep 10 23:09:19 2018 CHROMIUM: Change the semantic of UUIDs property in device Keep the list of eir_uuids in property "UUID". Avoid removing eir_uuids after service discovery. So the semantic of UUIDs property in device changes in the following way: 1. Without this patch, UUIDs contains eir uuids only before service discovery. After service discovery, UUIDs contains service UUIDs BlueZ discovers. 2. With this patch, UUIDs contains eir uuids only before service discovery. After service discovery, UUIDs continas service UUIDs and eir_uuids. BUG= chromium:853037 , chromium:841041 , chromium:870011 TEST=Verify that the missing service UUIDs bug is no longer reproducible Pair and connect w/ baiscally all peripherals @pbathini can provide Change-Id: Ifa2fcb4e074d8de10b6ed6902c36d451ebbea359 Reviewed-on: https://chromium-review.googlesource.com/1161543 Commit-Ready: Qiyu Hu <qiyuh@google.com> Tested-by: Qiyu Hu <qiyuh@google.com> Reviewed-by: Miao-chen Chou <mcchou@chromium.org> (cherry picked from commit 7e730a02ca9e04ef673a54cf7cf0b366bf4a64b3) Reviewed-on: https://chromium-review.googlesource.com/1216748 Commit-Queue: Qiyu Hu <qiyuh@google.com> Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org> [modify] https://crrev.com/7950443b86cf0ef89a2473b62206fea68df8fae3/src/device.c [modify] https://crrev.com/7950443b86cf0ef89a2473b62206fea68df8fae3/doc/device-api.txt
,
Sep 14
Thank you! |
||||||||||||||||||||||||||||||||
►
Sign in to add a comment |
||||||||||||||||||||||||||||||||
Comment 1 by steven.l...@makewonder.com
, Jun 14 2018