From Fedora Project Wiki
(convert to new category system) |
No edit summary |
||
Line 1: | Line 1: | ||
{{QA/Test_Case | {{QA/Test_Case | ||
|description= This test case is designed to confirm that | |description= This test case is designed to confirm that ABRT can properly detect and diagnose application crashes from C/C++ programs. | ||
|actions= | |actions= | ||
# In {{filename|/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 below <pre>CCpp = Logger</pre> | # In {{filename|/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 below <pre>CCpp = Logger</pre> |
Revision as of 19:29, 14 March 2011
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 with the command
su -c '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, or usingpkill
orkillall
. 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 by pressing "Report" button, then choosing one of configured reporters (e.g. Logger, the simplest one). The prompt to choose a reporter plugin appears only if you have more than one configured
Expected Results
- The abrt-applet system tray icon should emerge with notification stating "Crash in package foo-1.2.3 has been detected"
- There are two buttons in the notification:
- "Report" -> opens the reporter dialog for the latest detected crash directly
- "Open ABRT" -> opens the main window
- Selecting the application from
abrt-gui
and reporting the failure should generate 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
- ...