Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Seeking source of crash on [BluetoothDevice classicDevice] unrecognized selector

I'm seeing a huge increase in crash instances, across a few different crash reports that all end in the same fatal exception:

[BluetoothDevice classicDevice]: unrecognized selector sent to instance 0x2805a8ba0

It occurred a few times in iOS 12, but in iOS 13 it's going off the rails. Anyone else seeing this? Is it related to the new privacy permission for Bluetooth in iOS 13? I've got no other leads to follow, just trying to find others that are seeing this.

The stack trace leading up to it has nothing from my app's code, just the declaration line of the AppDelegate. Its' all a mixture of Foundation, CoreFoundation, and some Apple framework called BluetoothSettings. And my crash logs are missing a lot of details as you can see -- might be something wrong with the dsyms, not sure about that... but here they are.

Fatal Exception: NSInvalidArgumentException
-[BluetoothDevice classicDevice]: unrecognized selector sent to instance 0x2805a8ba0
0  CoreFoundation                 0x191b8d54c (Missing)
1  libobjc.A.dylib                0x1918a80c8 (Missing)
2  CoreFoundation                 0x191a8bb60 (Missing)
3  CoreFoundation                 0x191b91bd4 (Missing)
4  CoreFoundation                 0x191b93ac0 (Missing)
5  BluetoothSettings              0x1bb3ae944 (Missing)
6  Foundation                     0x191f56a94 <redacted>
7  CoreFoundation                 0x191ae5478 (Missing)
8  CoreFoundation                 0x191ae54c8 (Missing)
9  CoreFoundation                 0x191ae47c0 (Missing)
10 CoreFoundation                 0x191ae446c (Missing)
11 CoreFoundation                 0x191a5d434 (Missing)
12 CoreFoundation                 0x191ae3d9c (Missing)
13 Foundation                     0x191e457fc (Missing)
14 libobjc.A.dylib                0x1918a3af0 <redacted>
15 Foundation                     0x191f81404 (Missing)
16 CoreFoundation                 0x191b08b40 (Missing)
17 CoreFoundation                 0x191b08a94 (Missing)
18 CoreFoundation                 0x191b08200 (Missing)
19 CoreFoundation                 0x191b030cc (Missing)
20 CoreFoundation                 0x191b02978 (Missing)
21 GraphicsServices               0x19bc32534 (Missing)
22 UIKitCore                      0x195bf4f0c (Missing)
23 MY APP                         0x1003bf8e8 main + 42 (AppDelegate.swift:42)
24 libdyld.dylib                  0x191982f04 <redacted>
like image 319
prolfe Avatar asked Sep 27 '19 18:09

prolfe


2 Answers

I'm seeing this issue as well in my app. Here's a stack track with symbols:

Fatal Exception: NSInvalidArgumentException
0  CoreFoundation                 0x18595dc30 __exceptionPreprocess
1  libobjc.A.dylib                0x1856780c8 objc_exception_throw
2  CoreFoundation                 0x18585bfc0 -[NSOrderedSet initWithSet:copyItems:]
3  CoreFoundation                 0x1859623d4 ___forwarding___
4  CoreFoundation                 0x185964570 _CF_forwarding_prep_0
5  BluetoothSettings              0x1af49f074 -[BTAlert showAlertWithResult:]
6  Foundation                     0x185d28288 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_2
7  CoreFoundation                 0x1858b5b30 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__
8  CoreFoundation                 0x1858b5b80 ___CFXRegistrationPost1_block_invoke
9  CoreFoundation                 0x1858b4e78 _CFXRegistrationPost1
10 CoreFoundation                 0x1858b4b10 ___CFXNotificationPost_block_invoke
11 CoreFoundation                 0x18582db08 -[_CFXNotificationRegistrar find:object:observer:enumerator:]
12 CoreFoundation                 0x1858b4440 _CFXNotificationPost
13 Foundation                     0x185c16dcc -[NSNotificationCenter postNotificationName:object:userInfo:]
14 libobjc.A.dylib                0x185673af0 -[NSObject performSelector:withObject:]
15 Foundation                     0x185d52c10 __NSThreadPerformPerform
16 CoreFoundation                 0x1858d9260 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
17 CoreFoundation                 0x1858d91b4 __CFRunLoopDoSource0
18 CoreFoundation                 0x1858d8920 __CFRunLoopDoSources0
19 CoreFoundation                 0x1858d37ec __CFRunLoopRun
20 CoreFoundation                 0x1858d3098 CFRunLoopRunSpecific
21 GraphicsServices               0x18fa3d534 GSEventRunModal
22 UIKitCore                      0x1899f37ac UIApplicationMain
23 <redacted>                     0x104e0ded0 main + 25 (main.mm:25)
24 libdyld.dylib                  0x185752f30 start

So far, this issue appears to be unique to iOS 13 (I have 25 reports of this crash, all on iOS 13).

like image 184
Shackleford Avatar answered Jan 24 '23 21:01

Shackleford


I'm experiencing the same issue. We were able to reproduce this crash when selecting an bluetooth device in the system pop up displayed when calling

    [[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:completion:]

I don't have more information for now but this might be due to IAP1 support. Is your app dealing with bluetooth devices?

like image 20
Marc_V Avatar answered Jan 24 '23 19:01

Marc_V