From Fedora Project Wiki
No edit summary |
No edit summary |
||
Line 9: | Line 9: | ||
# A desktop notification should appear in notification area. | # A desktop notification should appear in notification area. | ||
# Open {{command|abrt-gui}} by clicking on it. | # Open {{command|abrt-gui}} by clicking on it. | ||
# Pick the | # Pick the crash from the list, generate a crash report using "Report" button on the toolbar. | ||
|results= | |results= | ||
# The {{command|abrt}} application detects the failure by updating the desktop icon | # The {{command|abrt}} application detects the failure by updating the desktop icon | ||
# Clicking the icon, or running the command {{command|abrt-gui}} displays the recently failed application | # Clicking the icon, or running the command {{command|abrt-gui}} displays the recently failed application | ||
# Selecting the application from {{command|abrt-gui}} and reporting the failure generates a proper backtrace. ( | # Selecting the application from {{command|abrt-gui}} and reporting the failure generates a proper backtrace. Proper backtrace should have symbolic information, for example: | ||
<pre> | |||
Core was generated by `sleep 1260'. | |||
Program terminated with signal 6, Aborted. | |||
#0 0x00007f4b65f45380 in __nanosleep_nocancel () from /lib64/libc.so.6 | |||
Thread 1 (Thread 8328): | |||
#0 0x00007f4b65f45380 in __nanosleep_nocancel () from /lib64/libc.so.6 | |||
No symbol table info available. | |||
#1 0x00000000004037ab in rpl_nanosleep (requested_delay=0x7fff893f35c0, | |||
remaining_delay=0x0) at nanosleep.c:69 | |||
r = -516 | |||
delay = {tv_sec = 1260, tv_nsec = 0} | |||
t0 = {tv_sec = 29277, tv_nsec = 542118648} | |||
#2 0x000000000040321b in xnanosleep (seconds=<value optimized out>) | |||
at xnanosleep.c:112 | |||
overflow = false | |||
ts_sleep = {tv_sec = 1260, tv_nsec = 0} | |||
__PRETTY_FUNCTION__ = "xnanosleep" | |||
#3 0x000000000040176c in main (argc=2, argv=0x7fff893f3758) at sleep.c:147 | |||
i = 2 | |||
seconds = 1260 | |||
ok = true | |||
... | |||
</pre> | |||
}} | }} | ||
[[Category:ABRT_Test_Cases]] | [[Category:ABRT_Test_Cases]] |
Revision as of 15:51, 31 March 2010
Description
This test case is designed to confirm that abrt can properly detect and diagnose application crashes from C/C++ programs.
How to test
- In
/etc/abrt/abrt.conf
, ensure a reporting mechanism is configured for the CCpp plugin. A sample configuration that uses the Logger reporting plugin is noted belowCCpp = Logger
- Restart the abrtd service
service abrtd restart
- Choose a C or C++ application to crash. For this example, we will use the
sleep
command which is provided bycoreutils
. - Run the application you wish to capture a crash. If using the
sleep
command, open a terminal and run the command:sleep 5m
- In another terminal, force an application crash by locating the process id, and using the
kill
command. For example,pkill -SIGSEGV sleep
- A desktop notification should appear in notification area.
- Open
abrt-gui
by clicking on it. - Pick the crash from the list, generate a crash report using "Report" button on the toolbar.
Expected Results
- The
abrt
application detects the failure by updating the desktop icon - Clicking the icon, or running the command
abrt-gui
displays the recently failed application - Selecting the application from
abrt-gui
and reporting the failure generates a proper backtrace. Proper backtrace should have symbolic information, for example:
Core was generated by `sleep 1260'. Program terminated with signal 6, Aborted. #0 0x00007f4b65f45380 in __nanosleep_nocancel () from /lib64/libc.so.6 Thread 1 (Thread 8328): #0 0x00007f4b65f45380 in __nanosleep_nocancel () from /lib64/libc.so.6 No symbol table info available. #1 0x00000000004037ab in rpl_nanosleep (requested_delay=0x7fff893f35c0, remaining_delay=0x0) at nanosleep.c:69 r = -516 delay = {tv_sec = 1260, tv_nsec = 0} t0 = {tv_sec = 29277, tv_nsec = 542118648} #2 0x000000000040321b in xnanosleep (seconds=<value optimized out>) at xnanosleep.c:112 overflow = false ts_sleep = {tv_sec = 1260, tv_nsec = 0} __PRETTY_FUNCTION__ = "xnanosleep" #3 0x000000000040176c in main (argc=2, argv=0x7fff893f3758) at sleep.c:147 i = 2 seconds = 1260 ok = true ...