ADB 检查失败:payload.size() <= bytes_left

问题描述 投票:0回答:1

最近进行 Debian 测试(Debian 13 或 trixie)更新后,我电脑上的 adb 崩溃了。它在内核甚至 CPU 级别上崩溃了。

现在它只是在收到来自 Android 10 客户端的一些消息(随机)后断开连接。它不会在服务器日志中写入任何内容:

adb     : adb_io.cpp:81 readx: fd=3 wanted=5
adb     : adb_io.cpp:91 readx: fd=3 disconnected

但是在客户端logcat中,出现了这样的错误:

Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 9165 (UsbFfs-worker), pid 9051 (adbd)
09-18 19:00:54.015  9249  9249 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-18 19:00:54.015  9249  9249 F DEBUG   : Build fingerprint: 'Blackview/BV6300_RU/BV6300:10/QP1A.190711.020/1603869746:user/release-keys'
09-18 19:00:54.015  9249  9249 F DEBUG   : Revision: '0'
09-18 19:00:54.016  9249  9249 F DEBUG   : ABI: 'arm64'
09-18 19:00:54.017  9249  9249 F DEBUG   : Timestamp: 2024-09-18 19:00:54+0300
09-18 19:00:54.018  9249  9249 F DEBUG   : pid: 9051, tid: 9165, name: UsbFfs-worker  >>> /system/bin/adbd <<<
09-18 19:00:54.018  9249  9249 F DEBUG   : uid: 2000
09-18 19:00:54.018  9249  9249 F DEBUG   : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
09-18 19:00:54.019  9249  9249 F DEBUG   : Abort message: 'Check failed: payload.size() <= bytes_left (payload.size()=234, bytes_left=210) '
09-18 19:00:54.019  9249  9249 F DEBUG   :     x0  0000000000000000  x1  00000000000023cd  x2  0000000000000006  x3  00000075122fe750
09-18 19:00:54.019  9249  9249 F DEBUG   :     x4  8080800000000000  x5  8080800000000000  x6  8080800000000000  x7  0000000000808080
09-18 19:00:54.019  9249  9249 F DEBUG   :     x8  00000000000000f0  x9  0000007515bca4e0  x10 0000000000000000  x11 0000000000000001
09-18 19:00:54.019  9249  9249 F DEBUG   :     x12 00000075122fe348  x13 0000000000000028  x14 0000000000000001  x15 00002f308762823c
09-18 19:00:54.019  9249  9249 F DEBUG   :     x16 0000007515c968c0  x17 0000007515c74060  x18 0000007511e54000  x19 00000000000000ac
09-18 19:00:54.019  9249  9249 F DEBUG   :     x20 000000000000235b  x21 00000000000000b2  x22 00000000000023cd  x23 00000000ffffffff
09-18 19:00:54.019  9249  9249 F DEBUG   :     x24 00000075122ff020  x25 0000007515292783  x26 000000751529266f  x27 0000007515295800
09-18 19:00:54.019  9249  9249 F DEBUG   :     x28 0000007515293381  x29 00000075122fe800
09-18 19:00:54.019  9249  9249 F DEBUG   :     sp  00000075122fe730  lr  0000007515c28170  pc  0000007515c281a0
09-18 19:00:54.026  9249  9249 F DEBUG   : 
09-18 19:00:54.026  9249  9249 F DEBUG   : backtrace:
09-18 19:00:54.026  9249  9249 F DEBUG   :       #00 pc 00000000000821a0  /apex/com.android.runtime/lib64/bionic/libc.so (abort+176) (BuildId: 2a5abdc9c768b33656f7aa8d9ce5cf54)
09-18 19:00:54.026  9249  9249 F DEBUG   :       #01 pc 000000000000bc3c  /system/lib64/libbase.so (android::base::DefaultAborter(char const*)+12) (BuildId: 74e39b9e4bda61561a36377476803040)
09-18 19:00:54.026  9249  9249 F DEBUG   :       #02 pc 000000000000c650  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+608) (BuildId: 74e39b9e4bda61561a36377476803040)
09-18 19:00:54.026  9249  9249 F DEBUG   :       #03 pc 0000000000045a14  /system/lib64/libadbd.so (UsbFfsConnection::ProcessRead(IoBlock*)+1092) (BuildId: 93b60fecb49163389170739f789011b7)
09-18 19:00:54.027  9249  9249 F DEBUG   :       #04 pc 00000000000452cc  /system/lib64/libadbd.so (UsbFfsConnection::HandleRead(TransferId, long)+124) (BuildId: 93b60fecb49163389170739f789011b7)
09-18 19:00:54.027  9249  9249 F DEBUG   :       #05 pc 0000000000045158  /system/lib64/libadbd.so (UsbFfsConnection::ReadEvents()+120) (BuildId: 93b60fecb49163389170739f789011b7)
09-18 19:00:54.027  9249  9249 F DEBUG   :       #06 pc 0000000000044f00  /system/lib64/libadbd.so (_ZZN16UsbFfsConnection11StartWorkerEvENKUlvE_clEv+736) (BuildId: 93b60fecb49163389170739f789011b7)
09-18 19:00:54.027  9249  9249 F DEBUG   :       #07 pc 0000000000044be4  /system/lib64/libadbd.so (_ZNSt3__114__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEZN16UsbFfsConnection11StartWorkerEvEUlvE_EEEEEPvSA_+44) (BuildId: 93b60fecb49163389170739f789011b7)
09-18 19:00:54.027  9249  9249 F DEBUG   :       #08 pc 00000000000e2364  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: 2a5abdc9c768b33656f7aa8d9ce5cf54)
09-18 19:00:54.027  9249  9249 F DEBUG   :       #09 pc 0000000000083d98  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 2a5abdc9c768b33656f7aa8d9ce5cf54)

这是一个示例:

admin@debian:~$ adb shell
BV6300:/ $ dmesg --help
usage: dmesg [-Cc] [-r|-t|-T] [-n LEVEL] [-s SIZE] [-w]

Print or control the kernel ring buffer.

-C  Clear ring buffer without printing
...

BV6300:/ $ logcat --help
***disconnect***
admin@debian:~$

在看似随机的行上打印日志时,logcat 也会出错。


我尝试使用不同的系统 - Xubuntu 23(旧的,已停产),它与我的另一台电脑(具有旧硬件)上的 adb 一起使用,但没有运气。还尝试过:adb版本,linux版本,同一制造商不同型号的android手机。

我尝试了 Google SDK(google-android-platform-tools-installer 35.0.1) 、Debian 软件包(adb 34.0.4-1.1) 和 Xubuntu Google SDK 33。所有这些以前都有效。

手机上没有可以更新adbd的系统更新。

主板:华南X99-F8

CPU:Intel® Xeon® E5-2678 v3 × 24

android linux debian adb
1个回答
0
投票

答案其实很简单: USB 线坏了。

我没想到会出现这种情况,因为它只在大数据包上失败。 这似乎是一个同步问题。

© www.soinside.com 2019 - 2024. All rights reserved.