Reporting to CentOSBT - abrt/libreport GitHub Wiki
To ensure the proper functionality of the reporter-mantisbt it is need to configure MantisBT. It is necessary to have the latest version of the MantisBT with SOAP API methods which allows searching within issues. The next step is to define two custom fields.
- Download mantisbt-1.2.18 from official web page: https://www.mantisbt.org/download.php
- Install the MantisBT: https://github.com/abrt/libreport/wiki/Installing-MantisBT
- Download a patch which ships required MantisBT SOAP API searching methods: https://mhabrnal.fedorapeople.org/abrt-mantisbt-1.2.18.patch
- Apply the patch
In mantisbt root directory run:
$ patch -p1 -i abrt-mantisbt-1.2.18.patch
- Add the custom fields https://github.com/abrt/libreport/wiki/Reporting-to-CentOSBT#add-the-custom-fields
The first way is install the latest version of MantisBT from github repository: https://github.com/mantisbt/mantisbt
The second way (the easier one for me) is download a developer version of the MantisBT: http://sourceforge.net/projects/mantisbt/files/mantis-development/1.3.0-beta.3/
Install the developer version: https://github.com/abrt/libreport/wiki/Installing-MantisBT
Note: mantisbt-1.3.beta.3 has already contain required SOAP API changes
Another thing that needs to be done is adding two custom fields (abrt_hash
and URL
). Custom field can be defined in Manage section in the MantisBT (Manage->Manage Custom Field
). Both of the fields are string type.
For more details why the fields need to be added, their meaning etc. see https://github.com/abrt/libreport/wiki/MantisBT#how-the-reporter-bugzilla-works
The latest version of the ABRT CentOS reporting plugin (for CentOS-7) is available in the following repo: https://copr.fedoraproject.org/coprs/mhabrnal/abrt-centos/repo/epel-7/mhabrnal-abrt-centos-epel-7.repo
Note: It's necessary to define following in /etc/os-release:
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
CENTOS_MANTISBT_PROJECT
and CENTOS_MANTISBT_PROJECT_VERSION
specifies project and project version in MantisBT. It can be defined in /etc/libreport/plugins/mantisbt.conf (configuration options: Project
, ProjectVersion
).
REDHAT_SUPPORT_PRODUCT
and REDHAT_SUPPORT_PRODUCT_VERSION
says to retrace server which OS and OS version your box is. (for more details about retrace server see https://fedorahosted.org/abrt/wiki/AbrtRetraceServer)
If an user reports a crash (either via gnome-abrt or abrt-cli report) the workflow is the following:
- the reporting client sends a uReport [1] to FAF server (http://retrace.fedoraproject.org/faf/) [2] - the FAF server returns whether the crash has already been reported and also might return some kind of a solution text. (For example http://bugs.centos.org/view.php?id=8290).
- the reporting client checks the response from the FAF server - the reporting client displays the information returned from the FAF server to the reporter and terminates the reporting process in case there is a bug report for the crash; otherwise the process continues with the 3rd step
- the reporter via the reporting client generates backtrace from coredump
- the reporting client sends coredump to retrace server (http://retrace.fedoraproject.org/) [3] - the Retrace server sends backtrace back to the reporter's machine
- the reporting client downloads all required debuginfo packages to the reporter's machine (it might be GiBs of data) and generates backtrace locally
- the reporter manually reviews the crash data and gives the reporting client an explicit permission to publish it - the reporting client provides the report with the tools to simplify this task for him
- the reporter via the reporting client reports the crash to CentOS Bug Tracker (http://bugs.centos.org/) [4] - the reporting client creates a new issue in the bug tracking system. If a duplicate issue exists, the reporting client adds a note to the original issue instead (attach a "better" backtrace if available). The duplicate case can happen only if there was a problem on the FAF server.
- [1] https://github.com/abrt/faf/wiki/uReport
- [2] https://github.com/abrt/faf/wiki
- [3] http://fedoraproject.org/wiki/Features/RetraceServer
- [4] https://github.com/abrt/libreport/wiki/MantisBT
For more detailed information see https://github.com/abrt/abrt/wiki/ABRT-workflow.
In the case the abrt isn't installed you can do it as follow
$ sudo yum install abrt-desktop
or for usage abrt from command line as follow
$ sudo yum install abrt-cli
-
generate an artificial crash
$ sleep 1000 & $ kill -SIGSEGV %%
-
wait until a notification bubble appears
-
run gnome-abrt or find Automatic Bug Reporting Tool in the list of applications
-
update URL to the bug tracker server that runs the required version of MantisBT
Prefereces -> CentOS Bug Tracker -> Configure -> Advanced -> CentOS Bug Tracker URL
-
single out the problem entry in the left panel and click the Report button
-
a new window should appear and you should see two buttons
- Report to CentOS Bug Tracker
- Report to Red Hat Customer Portal
If you want to get rid of the second button and start reporting to CentOS Bug Tracker immediately, remove libreport-rhel package
-
click the first button and follow the instruction in the reporting window
-
that's all :)