• Announcements
  • Request for testing and feedback with Bluetooth on Android 14 QPR2 GrapheneOS

Hi, similar to letgamer and emilycestmoi, Bluetooth disconnects while playing music when screen is locked. If on call, there is disconnect and the call is dropped. No such problem is there while the screen remains on. I am using a P7 pro running 2024032100 from Beta channel.

  • Here are the logs for Bluetooth crash when it is simply switched on/a device is connected. This occurs 2-3 mins post screen lock
type: crash
osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
uid: 1002 (u:r:bluetooth:s0)
cmdline: com.android.bluetooth
processUptime: 0s

abortMessage: The Bluetooth HAL died.

signal: 6 (SIGABRT), code -1 (SI_QUEUE)
threadName: binder:31870_5

backtrace:
    /apex/com.android.runtime/lib64/bionic/libc.so (abort+164, pc 64e84)
    /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+632, pc 938568)
    /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80, pc 19ad0)
    /system/lib64/liblog.so (__android_log_assert+292, pc 70e4)
    /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::hal::HciHalHidl::start_aidl()::'lambda'(void*)::__invoke(void*)+100, pc a71b24)
    /system/lib64/libbinder_ndk.so (AIBinder_DeathRecipient::TransferDeathRecipient::binderDied(android::wp<android::IBinder> const&)+68, pc 110d4)
    /system/lib64/libbinder.so (android::BpBinder::reportOneDeath(android::BpBinder::Obituary const&)+144, pc 5bc90)
    /system/lib64/libbinder.so (android::BpBinder::sendObituary()+144, pc 5bba0)
    /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+5340, pc 53c7c)
    /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+704, pc 51c10)
    /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24, pc 51938)
    /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368, pc 14280)
    /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140, pc e3ddc)
    /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc cf93c)
    /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 66730)
type: crash
osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
package: com.android.bluetooth:34
process: com.android.bluetooth
processUptime: 0 + 0 ms

signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'The Bluetooth HAL died.'

backtrace:
      #00 pc 0000000000064e84  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: a8cd74908de1830f20f574f8d622db82)
      #01 pc 0000000000938568  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+632) (BuildId: e2d4c7ae9fa225f36a825be113720b47)
      #02 pc 0000000000019ad0  /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_0::__invoke(char const*)+80) (BuildId: 8e8e779c9a82b7943fb5ad7dbe775048)
      #03 pc 00000000000070e4  /system/lib64/liblog.so (__android_log_assert+292) (BuildId: 87375b1b8db4710fc46cd6f649211f8d)
      #04 pc 0000000000a71b24  /apex/com.android.btservices/lib64/libbluetooth_jni.so (bluetooth::hal::HciHalHidl::start_aidl()::'lambda'(void*)::__invoke(void*)+100) (BuildId: ab62af0796a4b2b91b692d415cd9e6d1)
      #05 pc 00000000000110d4  /system/lib64/libbinder_ndk.so (AIBinder_DeathRecipient::TransferDeathRecipient::binderDied(android::wp<android::IBinder> const&)+68) (BuildId: 43adb007c2150d99d37b2e68e3c3dbc0)
      #06 pc 000000000005bc90  /system/lib64/libbinder.so (android::BpBinder::reportOneDeath(android::BpBinder::Obituary const&)+144) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
      #07 pc 000000000005bba0  /system/lib64/libbinder.so (android::BpBinder::sendObituary()+144) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
      #08 pc 0000000000053c7c  /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+5340) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
      #09 pc 0000000000051c10  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+704) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
      #10 pc 0000000000051938  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
      #11 pc 0000000000014280  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368) (BuildId: 75de91514ce8b3d8100d1f28757ff5ac)
      #12 pc 00000000000e3ddc  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140) (BuildId: f0b54f975e05f839d33bf9b07a3b87c8)
      #13 pc 00000000000cf93c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: a8cd74908de1830f20f574f8d622db82)
      #14 pc 0000000000066730  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a8cd74908de1830f20f574f8d622db82)
  • In case of bluetooth connected during a call, after 2-3 mins of screen lock, these following crashes occur.
    type: crash
    osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
    uid: 1041 (u:r:audioserver:s0)
    cmdline: /system/bin/audioserver
    processUptime: 0s
    
    abortMessage: TimeCheck timeout for IAudioPolicyService::setStreamVolumeIndex scheduled 14:40:49.683 on thread 1129
    Timeout ms 5000.000000 elapsed steady ms 5001.132324 elapsed system ms 5001.154785
    HAL pids [ 996 ]
    now 14:40:55.721
    secondChanceCount 2
    analysis [  ]
    timeout [ { IAudioPolicyService::setStreamVolumeIndex scheduled 14:40:49.684 deadline :52.684 tid 1129 } ]
    pending [ { IAudioPolicyService::isStreamActive scheduled 14:40:49.834 deadline :52.834 tid 1085 } ]
    retired [ { IAudioFlinger::setParameters scheduled 14:40:16.708 deadline :19.708 tid 1129 } { StreamOutHalHidl::standby scheduled 14:40:19.303 deadline  tid 1717 } { IAudioPolicyService::isStreamActive scheduled 14:40:49.663 deadline :52.663 tid 1129 } { IAudioPolicyService::isStreamActive scheduled 14:40:49.671 deadline :52.671 tid 1129 } ]
    timeout(1129) callstack [
      #00 pc 00000000000bbd08  /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+8) (BuildId: a8cd74908de1830f20f574f8d622db82)
      #01 pc 000000000006f2fc  /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156) (BuildId: a8cd74908de1830f20f574f8d622db82)
      #02 pc 0000000000051a78  /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+296) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
      #03 pc 0000000000051938  /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: 2e6aefaf1692593d70d788d9d68f7aae)
      #04 pc 0000000000014280  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368) (BuildId: 75de91514ce8b3d8100d1f28757ff5ac)
      #05 pc 00000000000cf93c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: a8cd74908de1830f20f574f8d622db82)
      #06 pc 0000000000066730  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: a8cd74908de1830f20f574f8d622db82)
    ]
    
    signal: 6 (SIGABRT), code -1 (SI_QUEUE)
    threadName: binder:1085_2
    
    backtrace:
        /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+8, pc bbd08)
        /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156, pc 6f2fc)
        /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+296, pc 51a78)
        /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24, pc 51938)
        /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+368, pc 14280)
        /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204, pc cf93c)
        /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64, pc 66730)
    type: crash
    osVersion: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
    uid: 1041 (u:r:hal_audio_default:s0)
    cmdline: /vendor/bin/hw/android.hardware.audio.service
    processUptime: 0s
    
    signal: 35 (<debuggerd signal>), code -1 (SI_QUEUE), senderUid 1041
    threadName: binder:996_2
    
    backtrace:
        /apex/com.android.runtime/lib64/bionic/libc.so (__ioctl+8, pc bbd08)
        /apex/com.android.runtime/lib64/bionic/libc.so (ioctl+156, pc 6f2fc)
        /apex/com.android.vndk.v35/lib64/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+320, pc 5e530)
        /vendor/bin/hw/android.hardware.audio.service (main+3980, pc 306c)
        /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104, pc 5c068)
    type: crash
    SystemUptimeMs: 6125102
    Process: system_server
    Build: google/cheetah/cheetah:14/AP1A.240305.019.A1/2024032100:user/release-keys
    Crash-Handler: com.android.internal.os.RuntimeInit$KillApplicationHandler
    Loading-Progress: 1.0
    Dropped-Count: 0
    
    java.lang.RuntimeException: android.os.DeadObjectException
    	at android.bluetooth.BluetoothHeadset.getAudioState(BluetoothHeadset.java:865)
    	at com.android.server.audio.BtHelper.isBluetoothScoOn(BtHelper.java:437)
    	at com.android.server.audio.AudioDeviceBroker.preferredCommunicationDevice(AudioDeviceBroker.java:2421)
    	at com.android.server.audio.AudioDeviceBroker.updateActiveCommunicationDevice(AudioDeviceBroker.java:675)
    	at com.android.server.audio.AudioDeviceBroker.getCommunicationDeviceInt(AudioDeviceBroker.java:644)
    	at com.android.server.audio.AudioDeviceBroker.getCommunicationDevice(AudioDeviceBroker.java:638)
    	at com.android.server.audio.AudioService.getCommunicationDevice(AudioService.java:6524)
    	at android.media.AudioManager.getCommunicationDevice(AudioManager.java:8872)
    	at com.android.server.telecom.CallAudioRouteStateMachine.processLegacySpeakerCommunicationDevice(CallAudioRouteStateMachine.java:2112)
    	at com.android.server.telecom.CallAudioRouteStateMachine.setSpeakerphoneOn(CallAudioRouteStateMachine.java:1847)
    	at com.android.server.telecom.CallAudioRouteStateMachine.-$$Nest$msetSpeakerphoneOn(CallAudioRouteStateMachine.java:0)
    	at com.android.server.telecom.CallAudioRouteStateMachine$ActiveEarpieceRoute.enter(CallAudioRouteStateMachine.java:379)
    	at com.android.internal.util.StateMachine$SmHandler.invokeEnterMethods(StateMachine.java:1042)
    	at com.android.internal.util.StateMachine$SmHandler.performTransitions(StateMachine.java:888)
    	at com.android.internal.util.StateMachine$SmHandler.handleMessage(StateMachine.java:828)
    	at android.os.Handler.dispatchMessage(Handler.java:107)
    	at android.os.Looper.loopOnce(Looper.java:232)
    	at android.os.Looper.loop(Looper.java:317)
    	at android.os.HandlerThread.run(HandlerThread.java:68)
    Caused by: android.os.DeadObjectException
    	at android.os.BinderProxy.transactNative(Native Method)
    	at android.os.BinderProxy.transact(BinderProxy.java:586)
    	at android.bluetooth.IBluetoothHeadset$Stub$Proxy.getAudioState(IBluetoothHeadset.java:787)
    	at android.bluetooth.BluetoothHeadset.getAudioState(BluetoothHeadset.java:861)
    	... 18 more

Hope this helps in identifying the problem. BTW, big fan of Graphene OS. Thanks a lot for all the effort.

    Like user topro, I too am able to connect to my bluetooth OBDLink (LX model for me) using beta channel build 2024032100. Thanks for doing this!! Hopefully this tagging issue is just a one-off mistake on their part and not part of a new pattern.

    Hi all,
    hm, so this is strange. I still can't get the Pebble Time paired using the Gadgetbridge app though I can still pair it using the system preferences. With latest alpha release, of course.

    BUT using the old, original Pebble app, it now works! 🥳

    I used the Pebble app for initial configuration; but as it didn't work well with GrapheneOS 13 when I set everything up in autumn 2022 I deactivated it (but kept it). Now with current GrapheneOS the app seems to work well again and I'll keep it to the disadvantage of Gadgetbridge. Have to do a longer term test (fingers crossed).

    Now it seems to me the problem is not the watch - but rather the Gadgetbridge app, maybe in conjunction with GrapheneOS?

    I added my comment to their specific issue here: https://codeberg.org/Freeyourgadget/Gadgetbridge/issues/3596

    Cheers

    @GrapheneOS Thank you, yes it was indeed a hardware error. I bought the phone to use GrapheneOS without trying stock Android. Bluetooth is broken on stock Android as well. Phone was returned. Thank you for all your work!

    • [deleted]

    • Edited

    Bluetooth tests with Pixel 5 on 2024032100 alpha release:

    Garmin watch (2021) syncs fine through bluetooth with garmin connect app = WORKING
    Polar watch (2020) syncs fine through bluetooth with Polar Flow app = WORKING
    Polar bicycle computer (2015) syncs fine through bluetooth with Polar Flow app = WORKING

    All worked fine before & after QPR2 .

    matchboxbananasynergy Yes, broken on stock as well. However, there is another observation.

    This issue occurs only when WLAN adaptor is switched on simultaneously (not with mobile data on or when WLAN is switched off) with Bluetooth. So, probably not purely a hardware issue and probably stems from the HAL.

    However, for anyone else facing the same issue, check if the WIFI is switched off. It works then.

    Hi guys, yesterday the update of 2024032100 landed on my phone. Did not have yet the opportunity to test it with my medical device just yet as I am on a journey.

    However, I am able to report that this version somehow broke the internet sharing between 2 android phones via bluetooth (ie. not WiFi hotspot). Tested between Pixel 7 with GOS and Pixel 5 with LineageOS

      GrapheneOS unstickied the discussion .

      @GrapheneOS Like the OBDLink I can confirm BlueDriver scan tool is working with the 2024032100 release.

      Thanks for all devs' hard work!

      I can also confirm that the Galaxy Watch 5 Pro works like before. Nothing I needed to change on my end. Just installed the Alpha and the watch was back on track.

      Thanks a lot for that!

      Pixel 7 Pro - beta channel 2024032100

      Can confirm this update fixed my issues with OBFLink MX+

      Thank you!

      I can confirm both Watch 6 Classic and my Oppo running AsteroidOS are working properly, battery on the Samsung watch seems to drain a little faster than I expected, its seems to run the watch down faster than Wifi did, but it last me the day so I dont care at this point, good work GOS team.

      4 days later

      Since this does not yet seem to have been reported yet:

      With version 2024032100 on the Pixel 4a (5G) (updated via Beta release channel), the battery percentage of paired Bluetooth headphones is no longer shown (neither in the Bluetooth quick toggle nor in System Settings > Connected Devices).

      Is this the currently expected behavior? And will the battery percentage display return in the next versions?

      4 days later

      Locking this thread as enough time has passed and we don't think any future issues will be tied to this. New threads can be made as needed. Thank you all for helping us test.