22.1 如何报告缺陷(Bug)

技巧

建议先发送到邮件列表咨询。

FreeBSD 缺陷(Bug)报告系统: https://bugs.freebsd.org/bugzilla/

当你遇到问题时,你该怎么做?

首先,确认问题不是由你自己的操作或配置引起的。

  • 使用 AI 的深度搜索,并使用联网功能

  • 查阅常见问题列表、文档或手册等资料

  • 善用搜索引擎!

  • 搜索以往邮件列表,查看是否有人报告过类似问题

  • 在邮件列表中提问

如果在刚升级的系统中遇到问题,请查看 /usr/src/UPDATING 文件的说明;如果是刚升级的第三方软件,请查看 /usr/ports/UPDATING/usr/ports/CHANGES 文件。

然后,问问自己,这是 bug 吗?如果这个问题可以用问句来表示(例如“我怎么做……,哪里有……?),那么请先去 FreeBSD 邮件列表问问。

如果确认这是缺陷(bug),请核实你的系统版本是否仍受支持,否则可能无人处理。

一定要确认该缺陷(bug)是否已被修复。

  • 检查一下系统版本,是不是有更新和补丁

  • 搜索 FreeBSD bug 管理系统,有人报告过类似的问题吗

如果没有人报告过类似问题,那么你就可以提交报告。

请别提交这样的问题:

  • 某个应用已有新版本(通常会有自动通知告知维护者)

  • 对于无人维护的软件,如果你没有补丁,仅报告缺陷(bug)可能不会得到处理;若你想维护该软件,请提交相关请求。

  • 如果你不能使问题复现,那么别人也很难解决

  • 提出增加新功能的请求(可以在 FreeBSD 邮件列表中讨论,但建议自行实现后再提交)

决定你该将问题报告给谁:

  • 对于基本系统组件、文档或网站问题,请直接向 FreeBSD 开发者提交报告。

  • 对于那些随系统发行,但由他人维护的软件,除非能确定这个问题与系统无关,否则也请提交给 FreeBSD 开发者。

  • 对于那些第三方软件,除非能确定这个问题与系统有关,否则请提交给软件开发者。

报告的书写提示:

  • 不要将“Summary”栏留空,因为它将作为邮件的标题。

  • “Summary”要有代表性,简明扼要。

  • 如果你有补丁,一定要上传。

  • 注明系统版本和计算机架构,如果是自行编译的软件,还需说明编译设置。

  • 如果问题可以复现,注明问题产生的条件。

  • 如果是内核问题,请准备以下信息:硬件配置、内核配置、是否开启调试选项、错误信息或 /var/log/messages,并声明你已查看 /usr/src/UPDATING 但问题未解决(因为有人会问),以及是否可以运行其他内核。

  • 如果是第三方软件问题,请准备好你的:安装的软件,覆盖了 bsd.port.mk 的默认设置的所有环境变量,声明你已经看过了 /usr/ports/UPDATING 并没有解决问题(因为总有人会问)。

  • 每份报告应只包含一个问题,除非多个问题之间有紧密关联。

  • 对有争议的问题要慎重,最好先讨论一下。

  • 注意排版格式,尤其是在复制粘贴内容时。

  • 记得备份一下报告,万一网不好,没提交上就惨了。

  • 保持礼貌,报告的接收者大多是无偿志愿者,请给予理解。

现在,开始填表了!

注意,邮件是公开的,可能会收到骚扰,请采取防护措施或使用公共邮箱。

  • Summary:梗概,简明扼要。

  • Severity:严重程度,只影响我/影响某些人/影响许多人,不要过高评价

  • Category:类别

  • kern 内核、库、内置驱动(手册 2-4),除了 USB 子系统、多线程库之外

  • bin 内置程序

  • ports 第三方程序

  • conf 配置文件或者启动脚本(手册 5)

  • docs 文档或网站

  • usb USB 子系统

  • threads 多线程库

  • standards 标准遵循

  • (架构名称)与架构有关

  • misc 其他,或者真的找不出来问题(最好先问问邮件列表)

  • Environment 环境,包括系统版本、程序版本、系统配置等

  • Description(问题描述):内容应完整、详细,不要加入个人猜测。

FreeBSD 开发人员有限,因此你的缺陷(bug)报告可能长时间无人处理,也不一定会被解决。报告接收者大多是志愿者,因此不应过于苛求。如果可能,请先自行解决问题,再提交到上游。

祝读者在 FreeBSD 大家庭中玩得愉快!

最后更新于

这有帮助吗?