Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential Bug in the SDK #27

Closed
mohitb117 opened this issue Feb 20, 2014 · 5 comments
Closed

Potential Bug in the SDK #27

mohitb117 opened this issue Feb 20, 2014 · 5 comments
Labels

Comments

@mohitb117
Copy link

Hi Wiktor,
The Estimote SDK is pretty Solid on working with Estimotes.

I am working around Bluetooth LE beacons including Estimote and Qualcomm Gimbal's and they Estimote SDK does not behave well with Gimbal Bluetooth Beacon Signals.

The Estimote BeaconService tries to scan the nearby Bluetooth LE devices, seems to encounter Gimbals and Fails to parse Gimbal Bluetooth LE devices and throws
NullPointerException and Crashes the BluetoothShare Scanning module and restarts the Bluetooth Adapter...

Here are the Logs:-

02-20 17:48:19.908 15209-15220/com.example.estimote_app W/Utils﹕ Manufacturer specific data should have 26 bytes length: 1107ad7700c6a00099b2e2114c24934a0c960cff8c00f68fd804a9fd63548e00000000000000000000000000000000000000000000000000000000000000
02-20 17:48:19.908 15209-15220/com.example.estimote_app W/BluetoothAdapter﹕ Unhandled exception: java.lang.NullPointerException

02-20 17:48:19.938 15209-20253/com.example.estimote_app D/BluetoothAdapter﹕ stopLeScan()

02-20 17:48:19.948 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Transmitting Beacons Entered:- 0 :: []

02-20 17:48:19.948 15209-20253/com.example.estimote_app D/BluetoothAdapter﹕ startLeScan(): null

02-20 17:48:19.948 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Transmitting Beacons Exited:-3 :: [Beacon{macAddress=EF:A0:61:44:0F:30, proximityUUID=b9407f30-f5f8-466e-aff9-25556b57fe6d, major=3888, minor=24900, measuredPower=-76, rssi=-68}, Beacon{macAddress=C7:E0:8A:A6:1A:62, proximityUUID=b9407f30-f5f8-466e-aff9-25556b57fe6d, major=6754, minor=35494, measuredPower=-74, rssi=-80}, Beacon{macAddress=F9:57:DA:5A:67:09, proximityUUID=b9407f30-f5f8-466e-aff9-25556b57fe6d, major=26377, minor=55898, measuredPower=-81, rssi=-85}]

02-20 17:48:19.948 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Entered region of BreadKrum EF:A0:61:44:0F:30
02-20 17:48:19.948 15209-15399/com.example.estimote_app D/BluetoothAdapter﹕ onClientRegistered() - status=0 clientIf=5
02-20 17:48:19.958 15209-15209/com.example.estimote_app D/BreadKrumBluetoothReceiver﹕ Entered region of BreadKrum C7:E0:8A:A6:1A:62

02-20 17:48:20.959 15209-20253/com.example.estimote_app D/BluetoothAdapter﹕ stopLeScan()

02-20 17:48:21.049 15209-20253/com.example.estimote_app E/BluetoothAdapter﹕ Failed to stop scan and unregisterandroid.os.DeadObjectException

@wiktor
Copy link
Contributor

wiktor commented Feb 25, 2014

Does it happen constantly?

@mohitb117
Copy link
Author

oh yes.. every scan of the possible beacons in the region, the gimbals are intercepted and hence the problem.

Once the Beacons are out of range.. the exceptions stop ... this is not a big deal as far as dealing solely with Estimotes but Gimbals can cause UnExpected behavior in any application using Estimote SDK in their frameworks!

The Gimbals Manufacturer specific Data Parse fails as far as I can tell from the logs:-

02-20 17:48:19.908 15209-15220/com.example.estimote_app W/Utils﹕ Manufacturer specific data should have 26 bytes length:
1107ad7700c6a00099b2e2114c24934a0c960cff8c00f68fd804a9fd63548e00000000000000000000000000000000000000000000000000000000000000
02-20 17:48:19.908 15209-15220/com.example.estimote_app W/BluetoothAdapter﹕ Unhandled exception: java.lang.NullPointerException

@mohitb117
Copy link
Author

I personally like Estimote SDK .. Great JOB +1 , but it seems possible to crash APPS using Gimbals which have different BlutoothLE device params and throw Exceptions while parsing them

@wiktor
Copy link
Contributor

wiktor commented Feb 25, 2014

Do you have those blue Gimbals? (http://cdn0.mos.techradar.futurecdn.net///art/events/Uplinq-2013/Beacon/Beacon-08-578-80.JPG)

I'll deep dive into it. I'm a bit worried as this unhandled exception is in BluetoothAdapter which is Android class in their BluetoothStack :/.

@mohitb117
Copy link
Author

Yes.. I am working on a project to use Bluetooth LE devices and I am using Estimotes and was thinking using Gimbals.(I have the blue gimbals) but decided against them due to overly complex SDK and rigid usage pattern !

@wiktor wiktor added the bug label Mar 18, 2014
wiktor added a commit that referenced this issue Mar 18, 2014
 - CAN BREAK BUILD: MonitoringListener returns list of beacons the triggered enter region event (#18)
 - Better messaging when BeaconManager cannot start service to scan beacons (#25)
 - Fixed bug in SDK when other beacons are around (#27)
@wiktor wiktor closed this as completed Mar 18, 2014
jamesmontemagno added a commit to jamesmontemagno/Estimotes-Xamarin that referenced this issue Aug 7, 2014
0.4.2 (June 24, 2014):

Fixes Estimote/Android-Fleet-Management-SDK#55: it is safe to
use library from remote process
0.4.1 (March 18, 2014)

CAN BREAK BUILD: MonitoringListener returns list of beacons the
triggered enter region event
(Estimote/Android-Fleet-Management-SDK#18)
Better messaging when BeaconManager cannot start service to scan
beacons (Estimote/Android-Fleet-Management-SDK#25)
Fixed bug in SDK when other beacons are around
(Estimote/Android-Fleet-Management-SDK#27)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants