第 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 报告可能很久都无人理会也不会被解决,大家都是普通的志愿者,所以也不必苛求,实属无奈,所以能自己做就自己做了再提交到上游吧!