-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #161 from hust-open-atom-club/translate_troubleshoot
translate troubleshooting.md
- Loading branch information
Showing
1 changed file
with
19 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,30 @@ | ||
--- | ||
status: translating | ||
status: translated | ||
title: "Troubleshooting" | ||
author: Syzkaller Community | ||
collector: jxlpzqc | ||
collected_date: 20240314 | ||
translator: mudongliang | ||
translating_date: 20240813 | ||
translated_date: 20240814 | ||
link: https://github.com/google/syzkaller/blob/master/docs/troubleshooting.md | ||
--- | ||
|
||
# Troubleshooting | ||
|
||
Here are some things to check if there are problems running syzkaller. | ||
|
||
- Use the `-debug` command line option to make syzkaller print all possible debug output, | ||
from both the `syz-manager` top-level program and the `syz-fuzzer` instances. With this option | ||
syzkaller will only run one VM instance. | ||
|
||
- Use the `-vv N` command line option to increase the amount of logging output, from both | ||
the `syz-manager` top-level program and the `syz-fuzzer` instances (which go to the | ||
output files in the `crashes` subdirectory of the working directory). Higher values of | ||
N give more output. | ||
|
||
- If logging indicates problems with the executor program (e.g. `executor failure`), | ||
try manually running a short sequence of system calls: | ||
- Copy `syz-executor` and `syz-execprog` into a running VM. | ||
- In the VM run `./syz-execprog -executor ./syz-executor -debug sampleprog` where | ||
sampleprog is a simple system call script (e.g. just containing `getpid()`). | ||
- For example, if this reports that `clone` has failed, this probably indicates | ||
that the test kernel does not include support for all of the required namespaces. | ||
In this case, running the `syz-execprog` test with the `-sandbox=setuid` option fixes the problem, | ||
so the main configuration needs to be updated to set `sandbox` to `setuid`. | ||
|
||
- If syzkaller prinths the `failed to copy binary` error shortly after VM has booted: | ||
- If you're using Buildroot images and the error output contains the `subsystem request | ||
failed on channel 0` line, this can be due to the [OpenSSH 9.0 changes](https://www.openssh.com/txt/release-9.0) | ||
that force the use of the SFTP protocol. Upgrade your Buildroot image to the latest version and | ||
make sure SFTP is enabled there. | ||
|
||
Also see [this](linux/troubleshooting.md) for Linux kernel specific troubleshooting advice. | ||
|
||
If none of the above helps, file a bug on [the bug tracker](https://github.com/google/syzkaller/issues) | ||
or ask us directly on the [email protected] mailing list. | ||
Please include syzkaller commit id that you use and `syz-manager` output with `-debug` flag enabled if applicable. | ||
如果你在运行 syzkaller 时遇到问题,以下是一些故障排除的方法: | ||
|
||
- 使用 `-debug` 命令行选项使 syzkaller 打印所有可能的调试输出,来自于 `syz-manager` 顶级程序及 `syz-fuzzer` 实例。使用这个选项时,syzkaller 只会运行一个虚拟机实例。 | ||
|
||
- 使用 `-vv N` 命令行选项增加来自 `syz-manager` 顶级程序和 `syz-fuzzer` 实例的日志输出量(输出文件位于工作目录的 `crashes` 子目录中)。N 的值越大,输出的日志就越多。 | ||
|
||
- 如果日志显示执行程序(executor)出现问题(例如 `executor failure`),请尝试手动运行一个短系统调用序列: | ||
- 将 `syz-executor` 和 `syz-execprog` 复制到正在运行的虚拟机中。 | ||
- 在虚拟机中运行 `./syz-execprog -executor ./syz-executor -debug sampleprog`,其中 `sampleprog` 是一个简单的系统调用脚本(例如仅包含 `getpid()`)。 | ||
- 例如,如果上述命令报告 `clone` 失败,这可能表明测试内核没有包含所有必需的命名空间支持。在这种情况下,使用 `-sandbox=setuid` 选项运行 `syz-execprog` 可解决问题,因此主要配置需要更新,将 `sandbox` 设置为 `setuid`。 | ||
|
||
- 如果 syzkaller 在虚拟机启动后不久就打印出 `failed to copy binary` 错误: | ||
- 如果你使用的是 Buildroot 镜像,并且错误输出包含 `subsystem request failed on channel 0` 这一行,这可能是由于 [OpenSSH 9.0 更改](https://www.openssh.com/txt/release-9.0) 强制使用 SFTP 协议。升级你的 Buildroot 镜像到最新版本,并确保在其中启用了 SFTP。 | ||
|
||
另外,也可以查看 [Linux 内核特定的故障排除建议](linux/troubleshooting.md)。 | ||
|
||
如果上述方法都没有帮助,可以在 [错误跟踪器(bug tracker)](https://github.com/google/syzkaller/issues) 上提交 bug,或者直接在 [email protected] 邮件列表上询问我们。如果可能,请附上你使用的 syzkaller 版本号和启用了 `-debug` 标志的 `syz-manager` 输出。 |