如何追踪通过apport / whoopsie报告的导致崩溃的错误?

以前,当程序崩溃时,特别是用户使用Ubuntu的预发布版本时,可以使用apport来打开一个错误报告。然后用户可以跟踪这个错误,看看它是否影响其他人,帮助修复等等。
从Precise 12.04开始,这种行为和工作流程发生了变化。正如我在Bug #993450 “Apport fails to submit bug report”中发现的那样,默认情况下,apport不再打开错误报告(虽然有些麻烦但并非不可能)。与此同时,人们注意到了一个新的“whoopsie”进程,如What is the 'whoopsie' process and what does it do?所述。
经过更多的搜索,我找到了这个蓝图,它描述了整个过程:ErrorTracker - Ubuntu Wiki。(它没有提到whoopsie或daisy,所以我添加了它们-如果我弄错了,请纠正我)。
哇 - 这听起来像是优化和改进崩溃报告流程的伟大工作。
我有一个问题:用户如何了解问题的状态? 蓝图中现在有这个要求:
用户应该有一种方式来检查他们崩溃报告的状态;例如,提供一个报告ID,用户可以查看统计数据和/或任何相关的错误编号。例如,在提交时提供一个序列号,他们以后可以通过网页加载。
但是,这似乎还没有实施。现在是否有其他可用的方法?
开发人员如何参与其中?访问https://daisy.ubuntu.com只会显示"不正确的内容类型"错误消息。
最后,我建议在发行说明中记录apport行为的变化。这对于一直试图帮助Ubuntu的人应该很有兴趣。

1相关链接:http://askubuntu.com/questions/159957/how-to-make-apport-always-open-a-bug-report-page/166980#166980 - student
3个回答

感谢您对Ubuntu错误跟踪项目的关注。

从Precise 12.04开始,这种行为和工作流程发生了变化。正如我在Bug#993450“Apport无法提交错误报告”中发现的那样,默认情况下,apport不再打开错误报告(虽然有些尴尬,但并非不可能让它这样做)。

Apport在发布后从未创建过错误报告。当一个版本仍在开发中时,您可以使用apport来提交Launchpad错误(和错误报告)。

在最终发布的Ubuntu版本中,我们现在显示错误对话框。这是一个很大的改进,因为程序“消失”而没有任何反馈,用户会想知道刚刚发生了什么。

当人们选择发送这些报告时,从收集到的数据统计结果会显示在http://errors.ubuntu.com上。

我留下了一个问题:用户如何了解问题的状态?蓝图现在有这个要求。
用户应该有一种方式来查看他们崩溃报告的状态;例如,他们可以查看某个报告ID以查看统计数据和/或任何相关的错误编号。例如,在提交时提供一个序列号,他们可以稍后通过网页加载。
我将删除这个要求。这从未是我们的意图。用户界面小心翼翼地不会对报告的反馈做出任何承诺。
这些不是错误报告。
我们的目标是减少开发人员找到最紧迫问题所需的时间,收集修复所需的信息,并将修复方案提供给用户。
我们已经解决了找到最紧迫问题的问题。那就是http://errors.ubuntu.com的首页。
快速收集所需信息,并且不需要与遇到问题的用户进行长时间的反馈循环,这在foundations-q-bucketing-improvements中得到了解决。计划是允许开发人员在服务器端连接到信息收集过程。如果我需要/var/log/syslog但尚未提供,我只需在http://errors.ubuntu.com上更改设置,下一个遇到该错误的人会自动将其添加到他们发送的数据中。
快速将修复措施传递给用户在foundations-q-updates-from-crash-reports中得到了解决。当用户提交错误报告并且该错误已经被修复和发布时,会弹出对话框询问他们是否希望升级到解决他们刚刚遇到的问题的软件版本。
而开发者如何参与其中呢?访问https://daisy.ubuntu.com只会显示“错误的内容类型”错误信息。 http://daisy.ubuntu.com并不是为人类使用而设计的。它是供错误报告守护程序(whoopsie)发送报告用的。
其他人参与其中将是非常棒的事情。目前,我是唯一全职从事这项工作的人。
该系统由四个部分组成。
  • Apport提供桌面用户界面。
  • Whoopsie接收由Apport创建的报告(和核心转储文件),并将它们传送到错误跟踪服务器Daisy。
  • Daisy从Whoopsie收集报告并进行处理。这是服务的核心。它将核心文件转换为回溯报告,并生成您在http://errors.ubuntu.com上看到的统计数据。
  • Errors是一个基于Django的网站,提供人类可读的数据视图和用于处理数据的RESTful API。
lp:daisy的setup/目录下有一组稍微过时的脚本,这些脚本可以让你对各个部分如何配合起来有一些了解。我一直在努力开发juju charms来替代这些脚本。我们的目标是通过一个单一的命令,在云端部署整个基础架构,用于测试和开发。
如果你有进一步的开发问题,你可以在Launchpad上找到我的电子邮件地址。
更多信息:

当人们选择发送这些报告时,从收集到的数据统计显示在http://errors.ubuntu.com上。然而,这是不正确的,只有当您的应用程序是用受支持的编程语言编写时才会报告错误。例如,没有使用mono编写的程序会在那里报告错误。这种做法极具歧视性。Ubuntu应该提供一个公平竞争的环境,不应该因为程序所使用的编程语言而排除它们。 - trampster
2我觉得你忽略了他一个人在做这件事情的部分,伙计。首先支持流行语言没有任何问题。 - Vadim Peretokin
5确实,@Vadi是正确的。这并没有任何歧视性。如果有人想站出来并实施Mono支持,我将愉快地审查和合并他们的apport分支。 - Evan

要查看您自己系统的报告,请尝试此方法,如https://bugs.launchpad.net/ubuntu/+source/apport/+bug/994921/comments/43所述。
xdg-open https://errors.ubuntu.com/user/`sudo cat /var/lib/whoopsie/whoopsie-id`

没有在Launchpad上特殊的权限,你无法查看实际的报告,但是你可以看到报告所涉及的程序,并且可以使用提供的ID在与拥有适当权限的开发人员交流时进行引用。


4谢谢。但是我还不清楚如何追踪我遇到的问题的状态,而且这个网站有点难以理解(如何解读errors.ubuntu.com的图表数据?- Ask Ubuntu)。 - nealmcb