New issue
Advanced search Search tips

Issue 707601 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 690204
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug

Blocking:
issue 510287


Show other hotlists

Hotlists containing this issue:
web-bluetooth


Sign in to add a comment

bluetooth: Crash when connecting to a device with descriptors

Project Member Reported by ortuno@chromium.org, Apr 3 2017

Issue description

I think this is related to that issue in which two connect events are sent.


[35653:775:0403/100241.240707:VERBOSE1:web_bluetooth_service_impl.cc(898)] Device: C6
[35653:775:0403/100241.244746:VERBOSE1:bluetooth_adapter_mac.mm(654)] <BluetoothLowEnergyDeviceMac B3:C8:67:66:C4:AC/0x7fbfba9e2440, "C6">: Create gatt connection.
[35653:775:0403/100241.772318:VERBOSE1:bluetooth_low_energy_device_mac.mm(376)] <BluetoothLowEnergyDeviceMac B3:C8:67:66:C4:AC/0x7fbfba9e2440, "C6">: DiscoverPrimaryServices, pending count 0
[35653:775:0403/100241.773273:VERBOSE1:bluetooth_low_energy_device_mac.mm(214)] <BluetoothLowEnergyDeviceMac B3:C8:67:66:C4:AC/0x7fbfba9e2440, "C6">: DidDiscoverPrimaryServices, pending count: 0
[35653:775:0403/100241.775267:VERBOSE1:bluetooth_low_energy_device_mac.mm(226)] <BluetoothRemoteGattServiceMac b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: New service.
[35653:775:0403/100241.775328:VERBOSE1:bluetooth_low_energy_device_mac.mm(226)] <BluetoothRemoteGattServiceMac 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: New service.
[35653:775:0403/100241.775357:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(81)] <BluetoothRemoteGattServiceMac 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: DiscoverCharacteristics.
[35653:775:0403/100241.775422:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(81)] <BluetoothRemoteGattServiceMac b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: DiscoverCharacteristics.
[35653:775:0403/100241.775784:VERBOSE1:web_bluetooth_service_impl.cc(412)] Services not yet discovered.
[35653:775:0403/100241.977367:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(88)] <BluetoothRemoteGattServiceMac 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: DidDiscoverCharacteristics.
[35653:775:0403/100241.979391:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(112)] <BluetoothRemoteGattCharacteristicMac 00002a19-0000-1000-8000-00805f9b34fb/0x7fbfb5995c40, service: 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60>: New characteristic, properties 18
[35653:775:0403/100241.979617:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(246)] <BluetoothRemoteGattCharacteristicMac 00002a19-0000-1000-8000-00805f9b34fb/0x7fbfb5995c40, service: 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60>: Discover descriptors.
[35653:775:0403/100242.008081:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(88)] <BluetoothRemoteGattServiceMac b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: DidDiscoverCharacteristics.
[35653:775:0403/100242.008151:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(112)] <BluetoothRemoteGattCharacteristicMac 00000100-0004-1000-8000-001a11000102/0x7fbfb45cbd50, service: b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730>: New characteristic, properties 32
[35653:775:0403/100242.008178:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(246)] <BluetoothRemoteGattCharacteristicMac 00000100-0004-1000-8000-001a11000102/0x7fbfb45cbd50, service: b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730>: Discover descriptors.
[35653:775:0403/100242.008281:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(112)] <BluetoothRemoteGattCharacteristicMac 00000100-0004-1000-8000-001a11000101/0x7fbfbe317740, service: b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730>: New characteristic, properties 8
[35653:775:0403/100242.008306:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(246)] <BluetoothRemoteGattCharacteristicMac 00000100-0004-1000-8000-001a11000101/0x7fbfbe317740, service: b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730>: Discover descriptors.
[35653:775:0403/100242.008584:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(349)] <BluetoothRemoteGattCharacteristicMac 00000100-0004-1000-8000-001a11000101/0x7fbfbe317740, service: b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730>: Did discover descriptors.
[35653:775:0403/100242.037660:VERBOSE1:bluetooth_low_energy_device_mac.mm(376)] <BluetoothLowEnergyDeviceMac B3:C8:67:66:C4:AC/0x7fbfba9e2440, "C6">: DiscoverPrimaryServices, pending count 0
[35653:775:0403/100242.038273:VERBOSE1:bluetooth_low_energy_device_mac.mm(214)] <BluetoothLowEnergyDeviceMac B3:C8:67:66:C4:AC/0x7fbfba9e2440, "C6">: DidDiscoverPrimaryServices, pending count: 0
[35653:775:0403/100242.038312:VERBOSE1:bluetooth_low_energy_device_mac.mm(229)] <BluetoothRemoteGattServiceMac b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: Known service.
[35653:775:0403/100242.038330:VERBOSE1:bluetooth_low_energy_device_mac.mm(229)] <BluetoothRemoteGattServiceMac 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: Known service.
[35653:775:0403/100242.038344:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(81)] <BluetoothRemoteGattServiceMac 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: DiscoverCharacteristics.
[35653:775:0403/100242.038403:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(81)] <BluetoothRemoteGattServiceMac b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: DiscoverCharacteristics.
[35653:775:0403/100242.127335:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(349)] <BluetoothRemoteGattCharacteristicMac 00002a19-0000-1000-8000-00805f9b34fb/0x7fbfb5995c40, service: 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60>: Did discover descriptors.
[35653:775:0403/100242.127456:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(371)] <BluetoothRemoteGattServiceMac 00002902-0000-1000-8000-00805f9b34fb/0x7fbfbe620730, characteristic: 00002a19-0000-1000-8000-00805f9b34fb/0x7fbfb5995c40>: New descriptor.
[35653:775:0403/100242.127508:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(371)] <BluetoothRemoteGattServiceMac 00002901-0000-1000-8000-00805f9b34fb/0x7fbfb5c98a80, characteristic: 00002a19-0000-1000-8000-00805f9b34fb/0x7fbfb5995c40>: New descriptor.
[35653:775:0403/100242.127549:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(371)] <BluetoothRemoteGattServiceMac 00002900-0000-1000-8000-00805f9b34fb/0x7fbfb5cc6b10, characteristic: 00002a19-0000-1000-8000-00805f9b34fb/0x7fbfb5995c40>: New descriptor.
[35653:775:0403/100242.127568:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(153)] <BluetoothRemoteGattServiceMac 0000180f-0000-1000-8000-00805f9b34fb/0x7fbfb5ce6c60, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: Discovery complete.
[35653:775:0403/100242.157253:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(349)] <BluetoothRemoteGattCharacteristicMac 00000100-0004-1000-8000-001a11000102/0x7fbfb45cbd50, service: b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730>: Did discover descriptors.
[35653:775:0403/100242.157341:VERBOSE1:bluetooth_remote_gatt_characteristic_mac.mm(371)] <BluetoothRemoteGattServiceMac 00002902-0000-1000-8000-00805f9b34fb/0x7fbfb5e30030, characteristic: 00000100-0004-1000-8000-001a11000102/0x7fbfb45cbd50>: New descriptor.
[35653:775:0403/100242.157363:VERBOSE1:bluetooth_remote_gatt_service_mac.mm(153)] <BluetoothRemoteGattServiceMac b3b7e28e-a000-3e17-bd86-6e97b9e28c11/0x7fbfb5824730, device: B3:C8:67:66:C4:AC/0x7fbfba9e2440>: Discovery complete.
[35653:775:0403/100242.157385:VERBOSE1:bluetooth_low_energy_device_mac.mm(394)] <BluetoothLowEnergyDeviceMac B3:C8:67:66:C4:AC/0x7fbfba9e2440, "C6">: Discovery complete.
[35653:775:0403/100242.157412:VERBOSE1:web_bluetooth_service_impl.cc(240)] Services discovered for device: B3:C8:67:66:C4:AC
[35653:775:0403/100242.157441:VERBOSE2:bluetooth_device.cc(457)] Looking for service: 0000180f-0000-1000-8000-00805f9b34fb
[35653:775:0403/100242.157456:VERBOSE2:bluetooth_device.cc(459)] Service in cache: 0000180f-0000-1000-8000-00805f9b34fb
[35653:775:0403/100242.157469:VERBOSE2:bluetooth_device.cc(459)] Service in cache: b3b7e28e-a000-3e17-bd86-6e97b9e28c11
[35653:775:0403/100242.157504:VERBOSE1:web_bluetooth_service_impl.cc(861)] Services found in device.
[35653:775:0403/100242.157671:FATAL:bluetooth_remote_gatt_service_mac.mm(87)] Check failed: !is_discovery_complete_. 
0   libbase.dylib                       0x000000010f2423fc base::debug::StackTrace::StackTrace(unsigned long) + 28
1   libbase.dylib                       0x000000010f26a7c3 logging::LogMessage::~LogMessage() + 67
2   libbluetooth.dylib                  0x0000000115290c5f device::BluetoothRemoteGattServiceMac::DidDiscoverCharacteristics() + 111
3   libbluetooth.dylib                  0x00000001152825ba device::BluetoothLowEnergyDeviceMac::DidDiscoverCharacteristics(CBService*, NSError*) + 346
4   CoreBluetooth                       0x00007fffb8ea363c -[CBCentralManager xpcConnection:didReceiveMsg:args:] + 79
5   CoreBluetooth                       0x00007fffb8ead996 __34-[CBXpcConnection handleMsg:args:]_block_invoke + 77
6   libdispatch.dylib                   0x00007fffce893ef7 _dispatch_call_block_and_release + 12
7   libdispatch.dylib                   0x00007fffce88b0b8 _dispatch_client_callout + 8
8   libdispatch.dylib                   0x00007fffce898b4b _dispatch_main_queue_callback_4CF + 925
9   CoreFoundation                      0x00007fffb9304669 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
10  CoreFoundation                      0x00007fffb92c565d __CFRunLoopRun + 2221
11  CoreFoundation                      0x00007fffb92c4b54 CFRunLoopRunSpecific + 420
12  HIToolbox                           0x00007fffb884fa5c RunCurrentEventLoopInMode + 240
13  HIToolbox                           0x00007fffb884f891 ReceiveNextEventCommon + 432
14  HIToolbox                           0x00007fffb884f6c6 _BlockUntilNextEventMatchingListInModeWithFilter + 71
15  AppKit                              0x00007fffb6df55b4 _DPSNextEvent + 1120
16  AppKit                              0x00007fffb756fd6b -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2789
17  libchrome_dll.dylib                 0x0000000109ea68d0 __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke + 64
18  libbase.dylib                       0x000000010f26bc7a base::mac::CallWithEHFrame(void () block_pointer) + 10
19  libchrome_dll.dylib                 0x0000000109ea6814 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 164
20  AppKit                              0x00007fffb6de9f35 -[NSApplication run] + 926
21  libbase.dylib                       0x000000010f289187 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*) + 359
22  libbase.dylib                       0x000000010f2883d7 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 119
23  libbase.dylib                       0x000000010f2835e1 base::MessageLoop::RunHandler() + 369
24  libbase.dylib                       0x000000010f2bbab7 base::RunLoop::Run() + 151
25  libchrome_dll.dylib                 0x0000000109eaca0f ChromeBrowserMainParts::MainMessageLoopRun(int*) + 303
26  libcontent.dylib                    0x00000001113fb724 content::BrowserMainLoop::RunMainMessageLoopParts() + 52
27  libcontent.dylib                    0x00000001113fef76 content::BrowserMainRunnerImpl::Run() + 102
28  libcontent.dylib                    0x00000001113f6cac content::BrowserMain(content::MainFunctionParams const&) + 124
29  libcontent.dylib                    0x0000000111d67f34 content::ContentMainRunnerImpl::Run() + 548
30  libembedder.dylib                   0x00000001169ed078 service_manager::Main(service_manager::MainParams const&) + 1096
31  libcontent.dylib                    0x0000000111d67304 content::ContentMain(content::ContentMainParams const&) + 68
32  libchrome_dll.dylib                 0x000000010980db67 ChromeMain + 119
33  Chromium                            0x00000001097a1d9a main + 522
34  libdyld.dylib                       0x00007fffce8c1255 start + 1
35  ???                                 0x0000000000000005 0x0 + 5
 
Mergedinto: 690204
Status: Duplicate (was: Available)
Yes, there is 2 DiscoverPrimaryServices. And 2 discovery processes are started. The cause is a duplicate of  crbug.com/681414 .
But the consequence is the DCHECK failure. This will be fixed with  crbug.com/690204 .

Comment 2 by jlebel@chromium.org, Apr 12 2017

To sum up:
+ Start service discovery
+ DidDiscoverPrimaryServices with new 2 services b3b7e28e and 0000180f
+ Start characteristic discovery for service b3b7e28e
+ Start characteristic discovery for service 0000180f
+ DidDiscoverCharacteristics for service 0000180f, 1 new characteristics 00002a19
+ Start discover descriptor for characteristic 00002a19
+ DidDiscoverCharacteristics for service b3b7e28e, 2 new characteristics 001a11000102 and 001a11000101
+ Start descriptor discovery for characteristic 001a11000102
+ Start descriptor discovery for characteristic 001a11000101
+ DidDiscoverDescriptors for characteristic 001a11000101
= Start service discovery
= DidDiscoverPrimaryServices with 2 known services
= Start characteristic discovery for service 0000180f
= Start characteristic discovery for service b3b7e28e
+ DidDiscoverDescriptors for characteristic 00002a19 with 3 new descriptors 00002902, 00002901 and 00002900
+ Service 0000180f done
+ DidDiscoverDescriptors characteristic 001a11000102 with 1 new descriptors 00002902
+ Service b3b7e28e done
+ Device done
= DidDiscoverCharacteristics xx

Comment 3 by ortuno@chromium.org, Apr 12 2017

Thanks for the summary. Is there a test in http://crrev.com/2638653002 to ensure this is fixed there?

Sign in to add a comment