It seems to work well.
With this patch we would have the functions create_hash and exec_vp in ABRT twice: CCpp.cpp, abrt-action-generate-backtrace.c.
Is this just a temporary state?
Dne 16.9.2010 14:50, Denys Vlasenko napsal(a):
This patch splits off CCpp's backtrace generation into a separate tool:
# abrt-action-generate-backtrace -z abrt-action-generate-backtrace: invalid option -- 'z' Usage: abrt-action-generate-backtrace -d DIR [-i DIR1:DIR2] [-t SECONDS] [-vs]
Generate backtrace, its quality rating, hash, and crashed function
Options: -d DIR Crash dump directory -i DIR1:DIR2 Additional debuginfo directories -t SECONDS Kill gdb if it runs for more than SECONDS -v Verbose -s Log to syslog
This allows for simpler timeout handling using SIGALRM, and makes timers for tracking client timeouts unnecessary.
This also allows for debugging and regression testing of abrt-action-generate-backtrace separately - it can be simply run from command-line. Also it provides a better fault isolation - crash in abrt-action-generate-backtrace does not take down abrtd.
The code is based on CCpp.cpp.
CCpp analyzer is made to swawn a child to do the backtrace generation.
Run tested.
Please review.