第 22.1 节 如何报告 Bug

提示

建议先发到邮件列表问问看。

FreeBSD Bug 报告系统 https://bugs.freebsd.org/bugzilla/

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

首先,确定不是你自己本身导致的问题。

  • 看看常见问题列表、文档手册什么的

  • 善用搜索引擎!

  • 搜索一下往期的邮件列表,看看有没有人提过类似的问题

  • 问问邮件列表

如果你在刚升级的系统中遇到问题,看看 /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 大家庭中玩得愉快!FreeBSD 缺乏开发人手,所以你的 bug 报告可能很久都无人理会也不会被解决,大家都是普通的志愿者,所以也不必苛求,实属无奈,所以能自己做就自己做了再提交到上游吧!

最后更新于