| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
|
| |
The breakage was discovered when i removed Logger class.
it turned out the fix is somewhat involved.
This change implements it as discussed with the rest of the team.
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>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example:
post-create
analyze
reanalyze
report
report_Bugzilla
report_Logger
post-create
reanalyze
report_Bugzilla
report_Logger
Note that "analyze" and "report" steps arent't listed for TEST_DIR
because there is not a single matching rule for them.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specified event
Some reworking of run_action() API was needed
to make it possible to put it into libABRT.
abrt-handle-crashdump has no -l option yet:
$ abrt-handle-crashdump
Usage: abrt-handle-crashdump [-vs] -d DIR -e EVENT
Handle crash dump according to rules in abrt_action.conf
-v, --verbose be verbose
-s Log to syslog
-d DIR Crash dump directory
-e EVENT Event
Can (will) extend it later.
Run-tested: performed "analyze" step by hand with
abrt-handle-crashdump -e analyze -d CRASH_DUMP_DIR
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Was:
linux-vdso.so.1 => (0x00007fff4e4a0000)
libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 (0x00007f64316c0000)
libABRTdUtils.so.0 => /usr/lib64/libABRTdUtils.so.0 (0x00007f64314b6000)
libpolkit-gobject-1.so.0 => /usr/lib64/libpolkit-gobject-1.so.0 (0x0000003c2c600000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003c20a00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003c1f600000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000003c20600000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000003c1fa00000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003c1f200000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x0000003c28200000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f64312b2000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x0000003c1fe00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6431096000)
librt.so.1 => /lib64/librt.so.1 (0x00007f6430e8e000)
libxmlrpc.so.3 => /usr/lib64/libxmlrpc.so.3 (0x0000003c22e00000)
libxmlrpc_util.so.3 => /usr/lib64/libxmlrpc_util.so.3 (0x0000003c23600000)
libxmlrpc_client.so.3 => /usr/lib64/libxmlrpc_client.so.3 (0x0000003c23a00000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003c2c200000)
libm.so.6 => /lib64/libm.so.6 (0x00007f6430c0a000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003c28e00000)
libc.so.6 => /lib64/libc.so.6 (0x00007f643088b000)
libeggdbus-1.so.0 => /usr/lib64/libeggdbus-1.so.0 (0x0000003c30200000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f6430671000)
libz.so.1 => /lib64/libz.so.1 (0x0000003c1e600000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f6430452000)
/lib64/ld-linux-x86-64.so.2 (0x00007f64318d0000)
libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f64301f6000)
libdbus-glib-1.so.2 => /usr/lib64/libdbus-glib-1.so.2 (0x00007f642ffd3000)
libidn.so.11 => /lib64/libidn.so.11 (0x0000003c21200000)
liblber-2.4.so.2 => /usr/lib64/liblber-2.4.so.2 (0x00007f642fdc5000)
libldap-2.4.so.2 => /usr/lib64/libldap-2.4.so.2 (0x00007f642fb80000)
libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007f642f951000)
libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007f642f694000)
libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007f642f468000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x0000003c29200000)
libssl3.so => /usr/lib64/libssl3.so (0x00007f642f234000)
libsmime3.so => /usr/lib64/libsmime3.so (0x00007f642f009000)
libnss3.so => /usr/lib64/libnss3.so (0x00007f642eccf000)
libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f642eab0000)
libplds4.so => /lib64/libplds4.so (0x00007f642e8ad000)
libplc4.so => /lib64/libplc4.so (0x00007f642e6a9000)
libnspr4.so => /lib64/libnspr4.so (0x00007f642e46c000)
libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x0000003c21600000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x0000003c34e00000)
libssl.so.10 => /usr/lib64/libssl.so.10 (0x0000003c2d600000)
libcrypto.so.10 => /lib64/libcrypto.so.10 (0x0000003c29a00000)
libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007f642e263000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x0000003c2aa00000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f642e02c000)
libfreebl3.so => /lib64/libfreebl3.so (0x00007f642ddcf000)
Now:
linux-vdso.so.1 => (0x00007fff187ff000)
libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 (0x00007fb12b24e000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x0000003c1fe00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb12b032000)
libABRTdUtils.so.0 => /usr/lib64/libABRTdUtils.so.0 (0x00007fb12ae2b000)
libpolkit-gobject-1.so.0 => /usr/lib64/libpolkit-gobject-1.so.0 (0x0000003c2c600000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000003c20a00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003c1f600000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000003c20600000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000003c1fa00000)
librt.so.1 => /lib64/librt.so.1 (0x00007fb12ac23000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003c1f200000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fb12aa1f000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003c2c200000)
libm.so.6 => /lib64/libm.so.6 (0x00007fb12a79b000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003c28e00000)
libc.so.6 => /lib64/libc.so.6 (0x00007fb12a41c000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb12b45e000)
libeggdbus-1.so.0 => /usr/lib64/libeggdbus-1.so.0 (0x0000003c30200000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fb12a202000)
libz.so.1 => /lib64/libz.so.1 (0x0000003c1e600000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fb129fe3000)
libdbus-glib-1.so.2 => /usr/lib64/libdbus-glib-1.so.2 (0x00007fb129dc0000)
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 fixes problems of having long lines truncated - and we do have very long lines
sometimes - curl errors with HTML, list of debuginfos etc.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
|
|
| |
Also adjusts abrt-action-print to return better error message:
'/tmp' is not a crash dump directory
1
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lock file "..lock", which is obviously wrong.
This patch makes dd_opendir use realpath(dir_name).
This makes dd_opendir(".") and similar cases correctly
determine what is its parent directory and therefore
use correct lock file name.
dd_create can't use realpath, since it will always return NULL
on not-yet existing directory. But this is not a problem, since
dd_create(".") isn't a sane operation. So we continue to use
old code. I only added a sanity check to refuse names ending
in . and .. - just in case.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
KerneloopsScanner: dd leak on error path in save_oops_to_debug_dump()
dump_dir:
remove superfluous exist_file_dir check in dd_opendir, dd_create,
delete_file_dir; use perror_msg instead of error_msg;
correct some sligtly wrong log/error messages;
make delete_file_dir return void, since return value is never checked.
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 patch makes it easier to analyze "bool" type options -
now they are all just bits in a single return value,
no need to have an integer variable for each option.
The previous behavior is retained too: it is useful for
"cumulative" options like -vvv.
The patch also removes all OPT_GROUPs.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
| |
This is needed to make duplicate hash visible for separate programs
looking at crash dumps.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
| |
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, usage is an array of pointers to string.
It is meant to support this:
usage: foo --bar
or: foo --baz
or: foo -z
The patch removes this and makes usage just a string:
usage: foo --bar
Why remove this?
(1) We can achieve old format by using the usage string with many lines:
usage = "foo --bar\n"
" or: foo --baz\n"
" or: foo -z";
(2) We don't use multi-line usage anyway.
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
|
| |
This patch removes the need to add --help option to every program.
It is added (and handled) by parse_opts().
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: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
| |
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DD_CLOSE_ON_OPEN_ERR - free dump_dir structure when opening dump_dir
does not exist
DD_FAIL_QUIETLY - suppress message when dump directory does not exist
VERB1 log(_("Unable to open debug dump '%s'"), pDebugDumpDir); is all
removed because there is error_msg("'%s' does not exist", dd->dd_dir);
in dd_opendir() which sometimes we don't want to print(DD_FAIL_QUIETLY)
example: crash dump directory trimming code running concurrently.
Second process may try to delete
a directory which is already gone. it should not complain
that it is missing.
Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
Acked-off-by: Denys Vlasenko <dvlasenk@redhat.com>
|
| |
|
|
|
|
| |
no other code changes
Signed-off-by: Nikola Pajkovsky <npajkovs@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>
|