当ubuntu-bug出现错误时,我该如何报告一个bug?

如何在ubuntu-bug崩溃时报告错误?
ongun@ongun-ubuntu:~$ ubuntu-bug python
ERROR: /etc/apport/crashdb.conf is damaged: No default database

你是否可能遇到了这个bug https://bugs.launchpad.net/ubuntu/+source/apport/+bug/627076? - Chrissss
1为什么要重新开启?**这是一个8年前的帖子...**在重新开启之前,请留下评论说明你投票支持重新开启的原因。 - Fabby
答案已经在chrisss的错误报告中:这是一个区域设置问题。LC_ALL=C ubuntu-bug python确实有效。 - Rinzwind
2@Fabby 对不起!虽然我不认为重新打开(或关闭)问题的所有尝试都需要评论,也不认为问题的“年龄”有多大关联性,但你完全正确,这里确实应该有个评论会更有帮助。无论如何,就我个人而言,我觉得(a)不清楚为什么这被认为是离题的;(b)并不明显在这里所描述的问题实际上是Apport/ubuntu-bug中的一个错误造成的;最重要的是,(c)根据我的理解,实际上被问到的问题是如何在Apport无法工作时报告一个错误,而这个问题可以且应该被回答。(我已经回复了。) - Eliah Kagan
@EliahKagan 为什么你对我很早之前的回答/评论进行编辑批判?这样做是为了轻松获取声望分吗?是的,我的英语不好。但是...真的吗... - user15863
1@Ongun 我的编辑并不关注你的帖子。我重新命名了这个帖子,以帮助人们找到它,并防止草率地重新关闭。在搜索你的帖子上的编辑时,我只找到了这个,那是当时新的。此外,我在Ask Ubuntu上的编辑不会增加声望;那是由没有足够声望直接编辑的用户提出的已批准的编辑建议 - Eliah Kagan
2个回答

Apport(其中包括ubuntu-bug)无法工作时,通常最好尝试使用Apport来解决问题。然而,也可以在没有Apport的情况下报告错误。
我不知道这里描述的具体错误是由于错误、配置错误还是其他问题引起的。看到这个确切消息的用户应该尝试Rinzwind所描述的解决方法虽然这里显示的错误消息不适用,但是apport-cli命令有时会在ubuntu-bug无法工作时起作用。
但是对于“当ubuntu-bug崩溃时如何报告错误?”(或者无法使用)的问题,答案是可以直接通过Launchpad的网页界面报告错误,并且只要报告人仔细描述问题并详细包含所有与之相关的信息,这样的错误报告可能会很有用。

在没有Apport的情况下报告错误(当必须时)

有两种主要情况。

如果您通过运行ubuntu-bug package报告一个非崩溃的错误,那么Apport不会将堆栈跟踪和核心转储附加到错误报告中。因此,直接在Launchpad上报告错误是合理的。正如its_me's answerHow do I report a bug?所说:
"只需访问Launchpad并填写那里的2或3个字段。命令行不是唯一的方式。"
或者,您可以使用以下链接(将URL中的PACKAGENAME替换为软件包名称。例如:unity、gnome-shell等): http://bugs.launchpad.net/ubuntu/+source/PACKAGENAME/+filebug?no-redirect 这在Ubuntu文档中有提到。
这适用于本问题中描述的情况。只需确保包含足够的信息来完整描述错误、发生错误的系统以及与错误相关的软件包,包括它们的确切版本。与往常一样,以这种方式报告错误的用户应首先阅读ReportingBugs
报告导致崩溃的错误而没有使用Apport更加繁琐,但可以以传统方式完成。这包括为崩溃的程序和其使用的库安装调试符号,用调试器打开程序(对于Ubuntu软件包,通常应使用gdb),然后尝试重现崩溃。在崩溃后运行gdb中的bt命令生成的堆栈跟踪应该是可用的,只要所有相关的调试符号都可用。
这不是本问题中描述的情况,我不打算详细介绍它。我主要提到它是为了让试图报告崩溃的读者不要在不包括堆栈跟踪的情况下使用上述方法。但基本上,一些软件包在同名以-dbg结尾的软件包中有相应的调试符号,而其他大多数软件包则有从单独的存储库中获取的调试符号软件包,可以按照Debug Symbol Packages中所述启用和使用。
考虑这样做的用户应该确实阅读DebuggingProgramCrash以及ReportingBugs

一旦Apport恢复正常...

如果您稍后成功使Apport工作,您仍然可以使用它自动向错误报告添加信息。正如v010dya那个答案上的评论所说:

如果您按照这种方法操作,并决定以与ubuntu-bug方法相同的方式添加文件,您只需键入apport-collect REPORTNUMBER,其中REPORTNUMBER是错误的编号,该编号将在您提交的[错误]的URL中。

这对于存在堆栈跟踪和核心转储文件的崩溃错误非常有用,这些文件位于/var/crash目录下。


我已经点赞了... ;-) - Fabby

如评论中在错误报告中提到,这似乎是一个“区域设置”问题。
LC_ALL=C ubuntu-bug python

完美运作。