Characteristic read on MacOS broken since #255
The rewrite in https://github.com/OpenBluetoothToolbox/SimpleBLE/pull/255 has introduced a bug where characteristic reads on MacOS are no longer working.
This was detected when running tests after a SimpleBLE update in https://github.com/thegecko/webbluetooth/pull/131
I've had a dig about, but I'm not an ObjectiveC expert. I think there are two problems:
- The nested
synchronizeds here somehow block the didUpdateValueForCharacteristic delegate callback from running - Something about the task.pending property means its always
NOand there is no wait for the characteristic to be read here
Any ideas @kdewald ?
i can confirm that commit e047d4cf235b46ce89776ec5757fd2e24d794da6 ( 2023-08-10 23:25 ) also breaks notify(,,) every time with segmentation fault on macOS:
Model Name: MacBook Pro
Model Identifier: Mac15,7
Model Number: Z1AF000J3D/A
Chip: Apple M3 Pro
ProductName: macOS
ProductVersion: 14.2.1
BuildVersion: 23C71
I believe this issue is still present in the 0.7.1 release of SimplePyBLE. Calls to notify always segfault. Tested on MacBook Pro mid-2015, macOS 12.7.3.
Yes, you'll notice in the changelog that no new fixes have been added since prior to the license change. The goal right now is to get that right to ensure there is actually a viable path towards growing SimpleBLE sustainably.
I believe this issue is still present in the
0.7.1release ofSimplePyBLE. Calls tonotifyalways segfault. Tested on MacBook Pro mid-2015, macOS 12.7.3.
I believe this issue is still present in the
0.7.1release ofSimplePyBLE. Calls tonotifyalways segfault. Tested on MacBook Pro mid-2015, macOS 12.7.3.
Same in the 0.7.3 release of SimplePyBLE, with the same system.
Yes, you'll notice in the changelog that no new fixes have been added since prior to the license change. The goal right now is to get that right to ensure there is actually a viable path towards growing SimpleBLE sustainably.
@kdewald does that mean you don't want a fix?
Hey! Just to keep everybody here posted on the latest updates:
The transition to a commercial license is coming along better than anticipated, which in turn means that we have a lot more work ahead of us. Our company incorporation is underway, legal docs are being reviewed and the team is also starting to grow, with Pedro Dans being our first addition and a few others in the pipeline (yay!).
Development is still ongoing, in particular focused on getting Android support of the ground. This would go faster if it weren't for some very poor API decisions on Google's end, so I'll need everybody to stay patient for a bit longer until my pathfinder implementation is ready, which is when I'll be able to start delegating tasks and focus on fixing these lingering bugs.
This process will get better, right now we're transitioning from almost nonexistent work to growing pains in the span of a few weeks, but I can promise that the end result will be a kickass library everybody will be able to enjoy.