Skip to content

Commit

Permalink
Merge pull request #161 from hust-open-atom-club/translate_troubleshoot
Browse files Browse the repository at this point in the history
translate troubleshooting.md
  • Loading branch information
mudongliang authored Aug 15, 2024
2 parents aca08b1 + 0fd4594 commit 9dc5fba
Showing 1 changed file with 19 additions and 34 deletions.
53 changes: 19 additions & 34 deletions sources/syzkaller/troubleshooting.md
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` 输出。

0 comments on commit 9dc5fba

Please sign in to comment.