| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
abrt-dump-oops stores two new files into dump dir. kernel_tainted_short which is
representation of kernel tainted value (P----T). kernel_tainted_long contains human
readable strings of short version
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bugzilla is splitted into two parts. One of them is core of bugzilla and second
one is small module called librhbz. I did it, because I want to add a new
functionality into bugzilla and I don't want to squash it into one big module.
Librhbz is not a part of our libreport, because almost every function dies when feels
badly (print error msg and then die). Server sends error or abrt sends corrupted
xml or server sends corrupted xml.
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
|/ |
|
|
|
|
|
|
| |
Also changes Bugzilla and abrt-cli output format.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
| |
Therefore moved abrt_conf.* to libreport
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
| |
Update sha1 code to a smaller version.
Verified that ccpp hashing produces the same results as the old code.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
| |
|
|
|
|
|
| |
This is not needed at the end.
This reverts commit ef96cd431369b2cf0dd640a0bb66be4fb029b9c0.
|
|
|
|
|
| |
- we have a conflict with old report library which contains file
with the same name
|
|
|
|
|
|
|
|
|
|
|
|
| |
For most users, "hostname" is the same for every crash (it is their hostname).
Not every problem even has "Application" field ("low on disk space" problem,
for example, doesn't), whereas any problem should have "Reason" field.
For non-root, it is useful to see which dumps are in /var/spool/abrt
(and aren't writable), and which are in $HOME/.abrt/spool.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
abrtd:
instead of
"|/usr/libexec/abrt-ccpp-hook DEBUG_DUMPS_DIR %p %s %u %c",
sets coredump handler to
"|/usr/libexec/abrt-ccpp-hook DEBUG_DUMPS_DIR %s %c %p %u %g %t %h %e OLD_PATTERN"
abrt-ccpp-hook:
expands OLD_PATTERN using values of %s %c %p %u %g %t %h %e
and uses it as a name of "compat coredump".
Patch has a feature which prevents usage of kernel-truncated
OLD_PATTERN: it is passed as hex string *with terminating NUL*
(encoded as 00). If ccpp hook doesn't see 00, it refuses to use
OLD_PATTERN and uses string "core" instead.
Run tested. On a new kernel, passes up to 27 char long old pattern.
Longer patterns are still truncated.
This may be improved in future kernels.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To be exact, these three functions are renamed:
load_crash_data_from_crash_dump_dir
create_crash_dump_dir
delete_crash_dump_dir
Rationale: data structure is called "struct dump_dir", not
"struct crash_dump_dir"
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Apart from src/lib/Makefile.am changes, this is
a pure rename, no textual changes to the files.
Before patch set:
$ size libabrt.so.0.0.1; ldd libabrt.so.0.0.1
text data bss dec hex filename
58031 2312 32 60375 ebd7 libabrt.so.0.0.1
linux-vdso.so.1 => (0x00007fffd46dc000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f373eabc000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f373e7b6000)
libm.so.6 => /lib64/libm.so.6 (0x00007f373e531000)
libc.so.6 => /lib64/libc.so.6 (0x00007f373e1b2000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f373df9c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f373efde000)
After patch set:
$ size libabrt.so.0.0.1; ldd libabrt.so.0.0.1
text data bss dec hex filename
51777 2064 32 53873 d271 libabrt.so.0.0.1
linux-vdso.so.1 => (0x00007fff48703000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fd63aa45000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd63a6c6000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd63af66000)
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
| |
This patch rewrites a few places where we use C++ strings
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch converts libabrt usage of C++ map<string, string>
to a glib-based container, GHashTable.
It is typedef-ed to map_string_h.
We can't typedef it to map_string_t, since other parts of ABRT
(daemon, cli) still use that name for C++ container.
Also, exceptions are removed everywhere.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The smallest data element is:
struct crash_item { char *content; unsigned flags; };
where content is, eh, content, and flags is a bit flag field.
crash_data_t is a map of crash_item's, implemented as a pointer
to heap-allocated GHashTable.
vector_of_crash_data_t is a vector of crash_data_t's, implemented
as a pointer to heap-allocated GPtrArray.
Most operations have light wrappers around them to hide the nature
of the containers. For example, to free vector_of_crash_data,
you need to use free_vector_of_crash_data(ptr) instead of
open-coding g_ptr_array_free. The wrapper is thin.
The goal is not so much to hide the implementation, but more
to make it easier to use the correct function.
dbus (un)marshalling functions convert crash_item to three-element
array of strings, in order to keep compatibility with abrt-gui (python).
This can be changed later to use native representation.
crash_data_t and vector_of_crash_data_t are represented in
"natural" way, no funny stuff there.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch minimally affects code per se - it adds
create_crash_dump_dir() function which takes in-memory
representation of the dump (map_crash_data_t object)
and creates an on-disk representation.
Then it returns pointer to struct dump_dir.
With this function, it is possible to run an event
on a user-constructed map_crash_data_t:
map_crash_data_t cd;
add_to_crash_data(cd, "foo", "bar");
struct dump_dir *dd = create_crash_dump_dir(cd);
char *dir_name = strdup(dd->dd_dir);
dd_close(dd);
run_event(run_state, dir_name, event);
delete_crash_dump_dir(dir_name);
which is, basically, what report library is about.
The biggest part of the patch is reshuffling of
header files, with the following result: three header
files which are not cluttered by other ABRT stuff,
and expose the following API each:
crash_dump.h - in-memory crash dump data structs and ops
dump_dir.h - on-disk crash dump data structs and ops
run_event.h - run_event() and friends
These is a test application, test_report.cpp.cpp,
which demonstrates (and tests) usage of these headers.
(grep for "test-report" and enable it in build system
if you want it to be built).
It creates a temporary dump in
/var/run/abrt/tmp-NNNN-NNNNN and runs "report" event.
Deleting of temp dump is disabled for testing purposes -
you might want to see the contents.
Here is how the binary looks like:
text data bss dec hex filename
3730 668 48 4446 115e /usr/bin/test-report
linux-vdso.so.1 => (0x00007ffffa80f000)
libabrt.so.0 => /usr/lib64/libabrt.so.0 (0x00007fad1f35e000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003c1f200000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003c2c200000)
libm.so.6 => /lib64/libm.so.6 (0x00007fad1f0da000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003c28e00000)
libc.so.6 => /lib64/libc.so.6 (0x00007fad1ed5b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fad1f570000)
Next step would be to clean up the namespace,
then rename libabrt.so into libreport.so,
then split it into a separate package so that we can install it
without installing other two abrt .so files.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
| |
Some files and functions are renamed, no logic changes.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch does not change any code per se,
it renames libABRTfoo -> libabrt_bar and moves a few functions around.
After the patch, we are left with the following libs:
libabrt - the stuff shared among most of abrt (like xmalloc, logging)
libabrt_daemon - only daemon-related things are here
(should probably be just moved into daemon - later)
libabrt_dbus - daemon, cli and applet use this
libabrt_web - abrt-action-foo where foo deals with network/web/ftp/...
As a result, we have following reductions in dependent libs:
/usr/libexec/abrt-hook-ccpp:
linux-vdso.so.1 => ()
- libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 ()
+ libabrt.so.0 => /usr/lib64/libabrt.so.0 ()
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 ()
- libdbus-1.so.3 => /lib64/libdbus-1.so.3 ()
- libpthread.so.0 => /lib64/libpthread.so.0 ()
- librt.so.1 => /lib64/librt.so.1 ()
- libdl.so.2 => /lib64/libdl.so.2 ()
/usr/libexec/abrt-action-upload:
linux-vdso.so.1 => ()
libtar.so.1 => /usr/lib64/libtar.so.1 ()
libcurl.so.4 => /usr/lib64/libcurl.so.4 ()
- libABRTdUtils.so.0 => /usr/lib64/libABRTdUtils.so.0 ()
- libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 ()
+ libabrt.so.0 => /usr/lib64/libabrt.so.0 ()
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 ()
- libdbus-1.so.3 => /lib64/libdbus-1.so.3 ()
Similar savings are in almost every abrt-action-foo.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes sqlite database.
Database was used to find dump dirs by [UID:]UUID.
This patch uses more natural way: dump dirs are addressed by their
directory names.
DB was also used to produce a list of dump dirs.
Now it is done by iterating over the /var/spool/abrt directory.
And finally, DB was also used to find duplicate UUIDs.
Now it is done by iterating over the /var/spool/abrt directory.
Crash count, "inform all" and reporting result message are moved
from DB field to a file in dump dir.
"Reported" DB field is deleted -
if message != "", then this dump was reported.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
|
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
|
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
|
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|