Hi folks,
About a month ago, I posted the thread at the shared link because my phone keeps spontaneously rebooting at my local Safeway store. I found several other people with similar issues online, but no one who has discovered the actual cause. I also haven’t fully understood why, but I have a few updates to share since visiting the store a few more times.
- Scanned subGhz (w/ flipperzero) and Bluetooth frequencies. Lots of interesting things. Something bluetooth or bluetooth LE keeps popping up on the logs on my phone before the phone crashes, probably a beacon
- Turning off Bluetooth does not stop the behavior
- Pulled the log from the phone post-crash and it has some interesting things in it. I don’t understand it fully, but it reads like the whole system is dying due to something happening in the wifi manager?
Can anyone glean any additional information from this:
time: 1727914596869
msg: android.os.DeadSystemException: android.os.DeadSystemException
stacktrace: android.os.DeadSystemRuntimeException: android.os.DeadSystemException
at android.net.wifi.WifiManager.getScanResults(WifiManager.java:4451)
at com.android.systemui.statusbar.pipeline.wifi.data.repository.prod.WifiRepositoryHelper$createNetworkScanFlow$1$callback$1.onScanResultsAvailable(WifiRepositoryHelper.kt:88)
at android.net.wifi.WifiManager$ScanResultsCallback$ScanResultsCallbackProxy$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: EmptyCoroutineContext
Caused by: android.os.DeadSystemException
... 9 more
I think what’s happening is the phone is trying to take some kind of action based on a beacon and is crashing, but I don’t have any loyalty apps installed. Does anyone have a better understanding of how this stuff works?
Assuming that stack trace is from the crash, it looks like it’s a problem processing the results of the scan. What does the wifi list look like from your scans? Anything with weird characters or corrupt info?
I will check the next time I go to the store. I haven’t actually had the WiFi menu up because I just toggled from the quick tile.
It’ll probably crash when you try to view it. I would scan with the flipper zero.
This is from 2018 https://www.flybuy.com/2018-11-19-a-solution-for-android-bluetooth-crashes
I feel like this could still affect android. https://9to5mac.com/2023/11/19/flipper-zero-can-still-crash-iphones-running-the-latest-version-of-ios-17/
Both interesting articles. Thank you for sharing.
I’d focus on Wi-Fi rather than BLE based on your stack trace.
You said in the previous post that even with WiFi and Bluetooth off it still happens, but did you turn off WiFi scanning as well?
Wi-Fi scanning happens even when WiFi is off, and your stack trace refers to WiFi scanning specifically.
Check your settings carefully for the WiFi scanning option. It’s really only used for tracking anyway.
Log seems to indicate issues with scanning, which could be maybe too many APs around. I believe I may have experienced something similar in a mall briefly.
Does turning off WiFi help? Like full on airplane mode, and make sure to disable WiFi scanning when WiFi is off as that remains on by default for location services, you want to kill WiFi scanning completely.
Yes, I forgot to mention in the post, but turning WiFi works, only if I also turn off “detect high quality networks” and “turn WiFi back on when high quality network is detected” or whatever those options are.
Hmmm, that’s a theory. I’ll see what I can do to find all the APs and figure out if the WiFi chip in my phone has a known limit. I don’t think I have enough old routers to crash it myself. :-D
it feels like that exception misses some context. I’m not familiar with kotlin, but it’s java-like and this exception cause seems unusual, like if this text would only be part of an exception chain, and if we wouldn’t see the inner (original) exception(s)
how did you obtain this?
When the UI crashes, it sometimes throws up a dialog with “copy URL to crash log”. I just cut and pasted from there.
you may have more success with reading the systems logs, with the ADB tool and the
adb logcat
command. it will probably have a lot of messages, you’ll need to filter it mentally or in a text editor
I wonder if turning off easy pair would help. That stays on when Bluetooth is off.