[Bug]QAux「跳转控制」导致 LineageOS 21 重启后移动网络失效、壁纸消失及 Settings ANR
- Dominant language
- Java
- Stars
- 5.7k
- Forks
- 416
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 4
Description
### 复现步骤 / Steps to reproduce
设备为 Sony Xperia XZ1 Docomo SO-01K,刷入 LineageOS 21.0(Android 14)。
安装 Magisk 30.7、Zygisk,并安装 LSPosed 2.1.1(API 102)。
安装 QAuxiliary 1.6.1.r3000.5310e4c,QAuxiliary 的静态作用域仅勾选 QQ。
使用官方 QQ 9.1.97。
在 QAuxiliary 中启用「杂项 → 跳转控制」,配置少量跳转规则(共 4 条)。
重启设备。
重启后可能出现壁纸消失;继续使用设备并再次重启后,可能出现移动网络失效。
此时状态栏仍可显示信号格及 CMCC,但没有 4G/LTE 数据图标,移动数据实际无法联网。
打开「设置 → 网络和互联网」时,Settings 长时间无响应并最终触发 ANR。
作为对照:
关闭 QAuxiliary 的「跳转控制」后重启,壁纸和移动网络恢复正常。
再次重启仍然正常。
QAux 其他已启用功能在此前单独测试中未复现该问题。
QAux 开启「安全模式(停用所有功能)」时系统正常。
### 预期行为 / Expected behaviour
启用 QAuxiliary「跳转控制」后,QQ 的相关 Intent / Activity 跳转行为应被正常修改,同时不应影响 Android 系统本身的启动过程、壁纸、移动网络、Connectivity/Tethering 服务或 Settings。
### 实际行为 / Actual behaviour
启用 QAuxiliary「跳转控制」并重启后,系统可能出现以下异常:
壁纸消失;
移动网络失效,虽然仍显示运营商名称(CMCC)和信号格;
Settings 的「网络和互联网」页面无法正常打开并发生 ANR;
Settings 主线程在调用 ConnectivityManager.isTetheringSupported() 时发生阻塞。
通过 A/B 测试发现,关闭「跳转控制」后连续重启均恢复正常。
目前无法证明 QAuxiliary 直接修改了 Settings 或 ConnectivityService;但该问题可以稳定地与「跳转控制」的启用状态相关联。
### 你使用的Xposed框架 / Xposed Framework you used
LSPosed 2.1.1 / API 102
### 你使用的安卓系统版本 / Your Android version
LineageOS 21.0 (Android 14)
### QQ(TIM) 版本 / QQ(TIM) Version
QQ 9.1.97(官方正式版),9.0.95也测试过有同样问题
### 模块版本 / Module Version
QAuxv-v1.6.1.r3041.805cb4f-universal
### 版本和其他要求 / Version and Other Requirements
- [x] 我正在使用最新 CI 调试版本且启用详细日志 / I am using latest debug CI version of QAuxiliary and enable verbose log
- [x] 我使用的 QQ 是官方发布的正式版本,而非修改版或测试版 / The QQ I am using is an official release version, not a modified or beta version
- [x] 我已经在 [Issue Tracker](https://github.com/cinit/QAuxiliary/issues) 中找过我要提出的问题,没有找到相同问题。重复问题会被关闭。
- [x] 我已知晓并同意,此处仅用于汇报主程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。
- [x] 我已知晓并同意,如果我不按照模板提供的指示进行填写,则我的 Issue 可能会被无条件删除。
### 日志 / Logs
复现问题后,Settings 的 ANR trace 显示主线程阻塞在 Tethering 相关调用:
Subject: Input dispatching timed out
process: "com.android.settings"
"main" prio=5 tid=1 TimedWaiting
at android.net.ConnectivityManager.isTetheringSupported(ConnectivityManager.java:3025)
at com.android.settingslib.TetherUtil.isTetherAvailable(TetherUtil.java:32)
at com.android.settings.network.TetherPreferenceController.getAvailabilityStatus(TetherPreferenceController.kt:50)
at com.android.settings.core.BasePreferenceController.isAvailable(BasePreferenceController.java:260)
at com.android.settingslib.core.AbstractPreferenceController.displayPreference(AbstractPreferenceController.java:59)
at com.android.settings.core.BasePreferenceController.displayPreference(AbstractPreferenceController.java:282)
at com.android.settings.network.TetherPreferenceController.displayPreference(TetherPreferenceController.kt:53)
at com.android.settings.dashboard.DashboardFragment.refreshAllPreferences(DashboardFragment.java:432)
...
对应的调用链为:
Settings
→ NetworkDashboardFragment
→ TetherPreferenceController
→ TetherUtil.isTetherAvailable()
→ ConnectivityManager.isTetheringSupported()
→ TetheringManager$RequestDispatcher.waitForResult()
同时 logcat 中可观察到:
13:05:31.560 I TetheringManager: registerTetheringEventCallback:com.android.settings
随后 Settings 在 Tethering 相关调用中无响应并触发 ANR。
另一次日志中可见:
AndroidRuntime:
at android.net.TetheringManager$RequestDispatcher.waitForResult(TetheringManager.java:445)
at android.net.TetheringManager.isTetheringSupported(TetheringManager.java:1674)
at android.net.TetheringManager.isTetheringSupported(TetheringManager.java:1654)
at android.net.ConnectivityManager.isTetheringSupported(ConnectivityManager.java:3025)
[anr_2026-08-27-13-04-00-504.txt](https://github.com/user-attachments/files/31501140/anr_2026-08-27-13-04-00-504.txt)
[anr_2026-08-27-13-05-36-549.txt](https://github.com/user-attachments/files/31501158/anr_2026-08-27-13-05-36-549.txt)
### 补充说明(可选) / Additional information (optional)
通过逐项禁用模块和 QAux 功能进行了多次 A/B 测试。
已确认以下情况:
关闭全部 Magisk/Zygisk 模块时,系统正常。
重新启用 systemless hosts、Iconify 后,系统正常。
启用 Zygisk + LSPosed + Shamiko 后,网络仍然正常。
LSPosed 单独启用时曾出现壁纸异常,但没有稳定复现移动网络故障。
QAux 作用域取消 QQ 后,连续重启系统均正常。
QAux 保持 QQ 作用域、但开启 QAux「安全模式(停用所有功能)」时,系统正常或仅出现偶发的启动阶段异常,但未出现上述稳定的网络故障。
关闭 QAux「跳转控制」后,连续两次重启均恢复正常。
QQ 从 9.0.95 升级到 9.1.97 后问题依旧存在,因此问题并非仅限于 QQ 9.0.95。
QAux 当前实际启用的功能较少,其中「跳转控制」关闭后即可恢复系统稳定性。
因此目前最稳定的复现条件是:
LineageOS 21 / Android 14
+ LSPosed 2.1.1 API 102
+ QQ 9.1.97
+ QAuxiliary 1.6.1.r3000.5310e4c
+ QAux 作用域仅 QQ
+ 开启「跳转控制」
关闭「跳转控制」后问题消失。
我无法确定 QAux 的具体内部实现是如何导致该系统级异常的,希望维护者能够根据上述调用栈进一步定位。
Contributor guide
Research direction
Start by reproducing the A/B comparison with QAuxiliary’s jump control enabled and disabled, collecting the Settings ANR trace and logcat. Trace the reported path through ConnectivityManager.java, TetheringManager.java, TetherUtil.java, and TetherPreferenceController.kt, then compare it with the jump-control behavior. Done means repeated reboots no longer cause the reported wallpaper, mobile-network, or Settings ANR failures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java, kotlin
- Domain
- mobile, networking, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100