命令adb start-server
完全冻结了我的系统,需要硬重置才能恢复。
这是 Fedora 21(x86_64)的全新安装。当系统冻结时,它立即生效。桌面停止响应,计算机不再接受ping请求,系统消息中没有记录任何内容。
无论是以root身份还是普通用户身份运行adb
,都会发生这种情况。当我运行命令时,它说:daemon not running. starting it now on port 5037
并立即冻结。守护进程从未启动过。
我安装了strace并运行:
# strace adb start-server
最后几行输出是:
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(5037), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
close(3) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xf75ef000
write(1, "* daemon not running. starting i"..., 53* daemon not running. starting it now on port 5037 *
) = 53
pipe([3, 4]) = 0
readlink("/proc/1880/exe", "/home/jon/Android/Sdk/platform-t"..., 4095) = 40
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xf727c768) = 1881
close(4) = 0
read(3,
无论我是否插入USB设备,都会发生此冻结。除了这个问题,计算机似乎工作正常。
adb
正在初始化的计算机上是否有某些硬件可能导致此冻结?我很感激有关如何排除故障的指示。
答案 0 :(得分:4)
这不是一个真正的解决方案,因为冻结很难调试,而是一种解决方法。我怀疑这个问题与内核版本有关。
我降级了已安装的内核,adb
正常工作,没有任何冻结。
转到存储库并手动下载这些包:
- kernel-3.17.4-301.fc21.x86_64.rpm
- kernel-debug-devel-3.17.4-301.fc21.x86_64.rpm
- kernel-modules-extra-3.17.4-301.fc21.x86_64.rpm
- kernel-core-3.17.4-301.fc21.x86_64.rpm
- kernel-modules-3.17.4-301.fc21.x86_64.rpm
使用命令rpm -ivh --force kernel-*
重启安装它
计算机并在grub
显示时选择新内核。
答案 1 :(得分:3)
我和Acer Aspire E17有同样的问题,我没有找到确切的组件,但是在使用UEFI bios时效果很好,所以问题在于他们不会过多地制作和制作测试Legacy bios。
您可以通过一些努力在UEFI模式下安装Fedora。你不会修复BIOS失败问题。
答案 2 :(得分:1)
编辑:
我的联想E40笔记本电脑上仍然存在Arch Linux x86_64的问题。当adb启动时,它会立即冻结机器。
从BIOS更改为UEFI启动并没有解决问题。
降级到内核版本3.16 LTS解决了它。
现在adb
正常工作。现在它在BIOS和UEFI下工作,所以它与这些无关。
我还尝试了4.4 LTS内核,后来的4.x内核,两个不同的5.0.13内核,以及所有这些内核的adb冻结。
当我以前尝试过多次重启的解决方案直到它工作时,它是在早期的4.x内核之下。我不得不重启大约32-64次,直到它工作。对于后来的4.x和5.x内核,此解决方案停止工作。我尝试在这些后来的内核上重启机器大约128次,但没有成功。
现在adb
在3.16 LTS内核下工作正常,我还没有尝试过其他3.x内核。
(这个内核似乎也能正确处理我的笔记本电脑的ACPI功能,现在软关机和软复位工作正常。这些在4.x和5.x下无效。)
原始答案:
我也有这个问题(但在Arch Linux x86_64上)。我无法解决它。
我注意到adb有时会在没有冻结的情况下工作,具体取决于重启。 adb工作一次后,它将一直有效,直到下次重启。
因此,如果重新启动几次直到它正常工作,就可以正常使用它。 的