William Douglas [Fri, 25 Jan 2013 21:34:02 +0000 (13:34 -0800)]
Modify libcurl options for dealing with SSL and redirects.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 24 Jan 2013 22:41:30 +0000 (14:41 -0800)]
Update hardcoded URL and allow https URLs
Change-Id: I547150c9d0e22b2aa44b5733a7c5a7ed77e5bb52
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 25 Oct 2012 17:23:07 +0000 (10:23 -0700)]
Update the crash submission URL.
Change-Id: I493b98892abc8245a14a232df01f65310f725001
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Wed, 24 Oct 2012 18:54:04 +0000 (11:54 -0700)]
Add Tizen specific changes.
Add changes for popping up a crash backtrace when a coredump is found,
dealing with Tizen's older glib thread handling and a check to avoid
popping up crashes from before a restart.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Wed, 24 Oct 2012 18:12:44 +0000 (11:12 -0700)]
add corewatcher packaging info and init file
Signed-off-by: William Douglas <william.douglas@intel.com>
Tim Pepper [Tue, 9 Oct 2012 19:15:03 +0000 (12:15 -0700)]
v0.9.8 bugfix update
Debug poll timer of 60 seconds got committed instead of 15 minute timer.
The per-submit-url good/bad send counts were not being zeroed between
urls, leading to odd log messages.
The submit loop drains the work_list to the first good url. It then
should break rather than continuing to loop testing the connection to
possibly remaining submission urls in the url array, despite there being
no work to send them.
If none of the urls worked, the loop completes with work_list still
holding data, which becomes the requeue_list.
Thanks to William Douglas <william.douglas@intel.com> for the bug report!
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Mon, 8 Oct 2012 23:06:01 +0000 (16:06 -0700)]
Rework processing queue threading
This patch is a large rework to simplify the processing portion
of corewatcher. The processing queue is represented now simply
in the filesystem by the presence of *.to_process files, or
*.processed files which lack an associated summary report *.txt file.
The scan_processed_folder() function now is a thread which sleeps on a
condition variable, which in turn is set by the event threads. Previously
that function did an opendir() on processed_folder and spawned a thread
per found corefile to process the cores, with associated complexity in
data structures and locking. Now that function is the main loop of the
single processing thread.
- removed remaining global state in core_status struct, processing
queue array of filenames, simplified locking, simplified state machine,
some function renames for clarity, updated README
- removed spawning of threads per core to process, adding instead a single
long lived thread which sleeps on a condition variable set in
queue_backtrace() and the timer event loop
- if a summary crash report has been created already, don't re-run gdb,
just read in the report and try to submit it
- audited object lifetimes, added some strdup()'s, free()'s, valgrind now
shows no leaks in corewatcher code (NOTE: a valgrind warning for
uninitialized bytes is triggered from corewatcher's submission path
which originates in glibc 2.16.0 resolv/res_send.c, a patch has been
submitted to the glibc project)
- added lots of additional logging, especially in error paths
- the gdb mutex is removed as it effectively became a NOOP as it would
now be used only in one call chain that is never called in parallel
The timer thread is still needed as network issues can prevent submission.
A network event thread could now be added to attempt submission when
any network becomes present and also to attempt reprocessing when
high-bandwidth network becomes present to improve report quality in the
case of a debuginfo daemon then being able to dynamically pull in helpful
data for gdb. Even then the timer thread would still be needed to handle
the cases of the crashdb server being down or intermediate network issues
preventing submission, situations which aren't trivially distinguished
at the client side in order to spawn an event upon their resolution.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 4 Oct 2012 23:09:03 +0000 (16:09 -0700)]
Rename scan_corefolders() to scan_folders()
Simple rename of the function to be more concise, readable.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 4 Oct 2012 22:19:08 +0000 (15:19 -0700)]
Remove remaining mention of queued_mtx
This mutex has been removed. bt_mtx covers src/submit.c's state now
instead of a mix of queued_mtx and queued_bt_mtx covering a mix of global
state and submit.c state.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 4 Oct 2012 22:16:37 +0000 (15:16 -0700)]
Remove unused global state
Previously this global state needed to be global. It is essentially unused
now and would have needed locking if it were used. Simply push it down
into the sole function which uses it now.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 4 Oct 2012 21:45:48 +0000 (14:45 -0700)]
v0.9.6 bug fix release
A new release including small fixes:
- remove linkage to libproxy (curl knows about proxies already)
- clean up memory management of strings in summary report, simplify and
insure each report field's string is populated or set once to a default
"Unknown" placeholder string
- removed no longer needed check for a "wrapped" app/core
- fix valgrind complain about loop which strips 0x1a's
- fix double "#0" line in backtrace
- additional error handling / requeue for failed report submissions
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Wed, 3 Oct 2012 18:40:02 +0000 (11:40 -0700)]
Add README skipped in prior commit
We finally have a general README describing the software at a high level,
how to configure, build, and run, and giving some basic internal design
information.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Wed, 3 Oct 2012 18:09:31 +0000 (11:09 -0700)]
Separate report submission into its own thread
The primary motivation of this commit is separated submit.c's submission
queue handling into a separate thread which sleeps on a condition variable
that is asserted in the inotify and timer event loops. Includes simpler
data structures/locking for the submission queue.
Associated refactoring includes:
- pull inotification out into its own file to keep corewatcher.c simpler
(subsequent event threads should be similarly separated)
- add many stderr fprintf's to allow better tracking of where the code is
during runtime when in non-daemon mode
- log both failed and successful server submission counts
- various bits of added error checking/handling
- better document internally the expectations on core file naming, how
the file name strings are transformed and stored in the internal
lists/arrays/hashtables, and an audit to insure oops->filename is
consistently populated and used
- fixed a few possible memory leaks
- updated some variable and function names to be more self documenting,
added inline documentation in places
- added design documentation covering the basic states, code that runs for
transitions between states, global state data structures and the
associated locks
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Fri, 28 Sep 2012 16:55:41 +0000 (09:55 -0700)]
Version 0.9.4
This release includes unconditionally scanning at start up (previous
version only scanned after an inotify or the long timer firstrang, when not
in test mode), a core based timestamp in the report, and unconditionally
setting the core_folder and processed_folder permissions to what we expect
them to be during start up validation.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Fri, 28 Sep 2012 16:53:31 +0000 (09:53 -0700)]
Unconditionally scan at start
Originally there was an unconditional scan on start up followed by an
exit if in test mode. With the changes I started for making things
more event driven, I moved that initial scan to an 'if test mode, scan
then exit' block. We do actually want to always scan on start to get
existing reports processed promptly.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Fri, 28 Sep 2012 00:25:39 +0000 (17:25 -0700)]
Always chmod our directories.
I observed the the modes of corewatcher's directories had changed on one
of my systems. I don't know what would have caused that, but it led to
cores not being recorded in the filesystem. To be robust we create the
directories if for some reason they do not exist at start up. Similarly,
try to always insure they have the correct permissions at start up.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Fri, 28 Sep 2012 00:22:15 +0000 (17:22 -0700)]
Add timestamp from core
The server has been attributing a timestamp to a crash report based on the
time the report is received. This may differ greatly from the actual time
of the issue. This is easily fixed with a stat of the corefile.
Unfortunately, the same can't as easily be done for getting the os-build,
which may also be incorrectly attributed on the client side based on the
/etc/os-release file's contents at the time of a crash's processing by
corewatcher, as opposed to at the actual time of the crash.
Tracking the combination of the reported os_build, core time, and receiving
time should give us more rich reporting and ability to discern problems
between different classes of users (eg: more/less network connectedness,
more/less aggressive adoption of updates).
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Mon, 24 Sep 2012 18:37:22 +0000 (11:37 -0700)]
Add inotify support, remove pthreads dep, bump version
Arjan noted a lot of activity on wake/poll. This was when the server
was down and cores/reports were present to submit so there was work
to do. But a lot of effort was generated to no gain. The client should
be smarter with respect to sending reports on demand and minimizing
resource usage. We still need additional state, parallelization and event
connectors to allow different threads to prepare reports for submission,
improve current report quality if high speed network (and thus debuginfo)
becomes available, do just report submission if low quality network
becomes available, etc.
This commit adds inotify support so we immediately attempt to process
cores and reduces the poll loop time to 15 minutes. Lacking more
sophisticated network event driven logic, a slow poll loop can still
lead to reports eventually being submitted if they weren't able to be
fully submitted at inotify time.
In support of this a few functions are split out and GThreads/GMutexes
used instead of pthread.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 18 Sep 2012 15:32:27 +0000 (08:32 -0700)]
Update example yaml after gdb update
William hacked gdb to list the path to the binary from which the symbols
came in addition to the file name and line number.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 18 Sep 2012 15:17:14 +0000 (08:17 -0700)]
Remove extra unlink
This was the unlink of the actually processed file. The primary duplicate
detection is in move_core(). Due to the two phases of processing in
scan_corefolder() it is a fully normal path for a core to get added
to the work queue and then a second add attempt likely happens at
reprocess_corefile().
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Sat, 15 Sep 2012 00:07:02 +0000 (17:07 -0700)]
Add some tentative duplicate handling
The corewatcher needs to be ratelimited a bit for extremely crashy
applications. For example mate's marco will respawn as much as a hundred
times in a second. In the case of two cores within the same second the
existing code collides in the hash table, so simply note that and unlink
the core file which is under processing currently instead of erroring
back up the stack to the main loop. Do similarly for core files which
match within two characters at the end of the filename (ie: same time
mod 100 seconds).
This does have a bug though as the sent core is also being unlinked instead
of persisting, but it's a crude start anyway. Still needs refining and
also the space needs tmp watched.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Fri, 14 Sep 2012 20:33:55 +0000 (13:33 -0700)]
Fix apparent possible memory overrun in processing_queue
The queue is a simple array of strings of size defined by:
#define MAX_PROCESSING_OOPS 10
but the add_to / remove_from functions were hard coded to wrap the tail and
head array indices at 100.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 13 Sep 2012 20:41:51 +0000 (13:41 -0700)]
Version bump and change name in autotools
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 13 Sep 2012 20:37:55 +0000 (13:37 -0700)]
Update version number
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 13 Sep 2012 18:52:42 +0000 (11:52 -0700)]
Add systemd unit file
This should be a correct way to add a systemd unit file in autotools. This
unit file simply allows systemd to run the corewatcher daemon.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 13 Sep 2012 16:11:14 +0000 (09:11 -0700)]
Add COPYING file to Makefile.am
The COPYING file should be included in "the package".
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 13 Sep 2012 16:10:35 +0000 (09:10 -0700)]
Remove valgrind suppressions
We should either see the errors or fix them, imho.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 21:42:28 +0000 (14:42 -0700)]
Remove unused/unneeded corewatcher-config bits
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 21:33:18 +0000 (14:33 -0700)]
Require allow-submit=yes and allow-pass-on=yes
Refuse to run if allow-submit=yes and allow-pass-on=yes are not set in the
config file. These will be set by a prompt at first boot.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 21:23:43 +0000 (14:23 -0700)]
Cope with oddities around umask and permission bits
For some reason the mask passed to mkdir() isn't (always?) honored, but the
directory starts with safe enough perm's and I can subsequently add the
ones I'd just asked for and not been given.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 20:56:24 +0000 (13:56 -0700)]
Remove unused build_release
This is used in one place and simply hard coded there to be /etc/os-release
which is the new/current standard everywhere.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 20:53:14 +0000 (13:53 -0700)]
Change from /tmp to /var/lib/corewatcher
We want dumps to be persistent across reboots, so tmpfs isn't the best
place for them. Plus /tmp is a wild west of writability. We'll allow full
writing of /var/lib/corewatcher, but not /var/lib/corewatcher/processed.
Still need a tmp watcher on this area to prune files.
Also this directory is an editorial choice by the distro maker, not a user
configurable option...remove user configurability.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 19:42:08 +0000 (12:42 -0700)]
Remove release-info option
This is distribution creator editorial choice, not a user choice.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 19:38:44 +0000 (12:38 -0700)]
Remove unlink option
This will be handled for us by tmpwatch
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 19:22:44 +0000 (12:22 -0700)]
Remove system config files
In Nitra these are owned by a system configuration files "package".
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 16:35:53 +0000 (09:35 -0700)]
Open /var/lib/corewatcher correctly after creation
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 15:46:39 +0000 (08:46 -0700)]
Shift files from /tmp to /var/lib/corewatcher
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 01:02:35 +0000 (18:02 -0700)]
Remove two old meego-isms
The /etc/os-release file is now standard and we have our own default server
for now and it isn't the meego one.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 00:56:00 +0000 (17:56 -0700)]
Search for core_* instead of core.*
This is pretty arbitrary, but that happens to be what's checked into
nitra's config files currently. Eventually we'll be called dynamically
by systemd probably when it receives things regarding which we've asked
to be notified.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Tue, 11 Sep 2012 00:47:28 +0000 (17:47 -0700)]
Fix autotools paths
I don't fully understand how/where autotools gets its default values, but
these don't seem to be set correctly if I don't explicitly set them.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Mon, 10 Sep 2012 23:17:19 +0000 (16:17 -0700)]
A little more cleaning pre-production
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Mon, 10 Sep 2012 23:15:17 +0000 (16:15 -0700)]
A little more cleaning
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 6 Sep 2012 21:56:30 +0000 (14:56 -0700)]
Correct memory management around os-release/version
Valgrind reminded me I should correctly dup the substring and free the
original full string.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 6 Sep 2012 17:59:48 +0000 (10:59 -0700)]
Add an example yaml file
This is an example of a low quality (no debuginfo present) core that was
processed/submitted.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Thu, 6 Sep 2012 17:52:12 +0000 (10:52 -0700)]
Clean out meego/tizen specific things and quiet compile warnings
Updated code to match nitra needs in terms of paths, config, info sent to
server. Also removed a lot of code unused as a result of the code
updating, which was causing compile warnings due to our pedantic nitra
settings.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Mon, 27 Aug 2012 19:57:14 +0000 (12:57 -0700)]
Fix config file path
For me 'make prefix=/usr libdir=/usr/lib64 sysconfdir=/etc install' put the
configuration files in /etc/corewatcher/, but these files weren't looking
in that subdirectory.
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
Tim Pepper [Mon, 27 Aug 2012 19:55:41 +0000 (12:55 -0700)]
De-brand config file
Signed-off-by: Tim Pepper <timothy.c.pepper@linux.intel.com>
William Douglas [Thu, 24 May 2012 21:59:39 +0000 (14:59 -0700)]
testmode wasn't getting set when it should have been, fix
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 24 May 2012 21:50:56 +0000 (14:50 -0700)]
remove incorrect comments
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 24 May 2012 21:50:23 +0000 (14:50 -0700)]
Remove useless check.
Since the crash submission/opt in was removed this check was changed
to only testmode, making test mode useless. Since we always send we
need to modify what testmode does now.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 24 May 2012 21:46:18 +0000 (14:46 -0700)]
add short option check for test mode
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 24 May 2012 21:40:10 +0000 (14:40 -0700)]
fix compiler failure do to taking out crash submission code
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 24 May 2012 21:31:35 +0000 (14:31 -0700)]
add test that generates a core for corewatcher
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 24 May 2012 21:25:15 +0000 (14:25 -0700)]
Remove options to not submit crash info
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Mon, 21 May 2012 22:32:27 +0000 (15:32 -0700)]
Use CFLAGS for the configuration file as well
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Mon, 21 May 2012 22:15:04 +0000 (15:15 -0700)]
update gitignore for autoconf
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Mon, 21 May 2012 22:12:25 +0000 (15:12 -0700)]
Remove opt out check.
Always submit so remove check for opt out. Still need to remove the
configuration bits for this.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Mon, 21 May 2012 22:02:42 +0000 (15:02 -0700)]
Update CFLAGS from old Makefile
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Mon, 21 May 2012 21:32:32 +0000 (14:32 -0700)]
Remove dbus interface to UI
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Mon, 21 May 2012 17:58:32 +0000 (10:58 -0700)]
Add check for malloc failing
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Mon, 21 May 2012 17:57:37 +0000 (10:57 -0700)]
Fix double free possibility
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Thu, 4 Aug 2011 17:06:17 +0000 (10:06 -0700)]
Update ioprio defines
We don't use RT priority so remove that. Also 7 seemed like a
magic number so try and explain it and reference the kernel
docs where everything came from.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Wed, 3 Aug 2011 23:48:43 +0000 (16:48 -0700)]
Take out Debian Etch work around.
Etch is old, move on.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Wed, 3 Aug 2011 23:05:11 +0000 (16:05 -0700)]
Rename coredump scan function.
Doing this rename for clarity since scan_dmesg doesn't scan
dmesg and the kernel oops code actually does so it will take
that name.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Wed, 3 Aug 2011 21:23:38 +0000 (14:23 -0700)]
Reorganize header, move objects under the appropriate source file
Part of kernel oops integration to corewatcher.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Wed, 27 Jul 2011 00:04:42 +0000 (17:04 -0700)]
Update corewatcher to use autotools.
This involves major source restructuring and in the process
some files have been renamed as well as moved. This was
done to ease the use of autotooling the package though
it shouldn't impair clarity of purpose for the files.
At this point there are further opportunities to improve
the packaging such as introducing #defines for some
file locations in the code.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Tue, 26 Jul 2011 18:11:27 +0000 (11:11 -0700)]
Remove old define that was duplicating asm/unistd.h information.
This was for __NR_ioprio_set which is a syscall without a glibc
interface. Since the define is already done in asm/unistd.h
for our architectures we no longer need to have it in corewatcher.
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Fri, 22 Jul 2011 21:22:09 +0000 (14:22 -0700)]
initial removal of corewatcher-applet
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Sat, 9 Jul 2011 00:21:06 +0000 (17:21 -0700)]
Rework corewatcher, clean valgrind warnings.
Major rework of corewatcher. Corewatcher is now multithreaded
and will spawn a thread to process each corefile and will now
send a crash notification as soon it scans the /tmp/ folder.
There should be no more than one thread running gdb at a time
so we have a global lock to prevent that.
Corewatcher was also cleaned up to have 0 valgrind errors
(that are not suppressed, we have added a valgrind suppression
file for that purpose).
From here on any changes to corewatcher which cause a valgrind
error need to be discussed before being commited and ack'd
by a maintainer (and have its error added to the suppression
file). Right now all suppressions are either glibc not doing
things that are not ansi c compliant or are in a library
corewatcher depends on (likely also running into glibc compliance
issues but I was unable to verify for all of the errors).
To test corewatcher for valgrind errors it should be run in
with no internet connection and with an internet connection
with multiple core files available to scan.
The following command should be used to test corewatcher with
valgrind (run from the source build directory):
G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind \
--partial-loads-ok=yes --read-var-info=yes --leak-check=full \
--track-origins=yes --malloc-fill=AD --free-fill=DA \
--suppressions=./corewatcher.supp --gen-suppressions=yes \
./corewatcher -d -n
Signed-off-by: William Douglas <william.douglas@intel.com>
William Douglas [Tue, 17 May 2011 22:13:47 +0000 (15:13 -0700)]
corewatcher v0.26
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Tue, 17 May 2011 22:12:56 +0000 (15:12 -0700)]
Check getline return properly
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Wed, 4 May 2011 22:14:18 +0000 (15:14 -0700)]
corewatcher v0.25
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Wed, 4 May 2011 22:12:12 +0000 (15:12 -0700)]
clean up memory leaks
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Wed, 4 May 2011 20:12:45 +0000 (13:12 -0700)]
add meaningful package list details for files in coredump
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Thu, 28 Apr 2011 22:33:11 +0000 (15:33 -0700)]
corewatcher v0.24
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Thu, 28 Apr 2011 21:43:33 +0000 (14:43 -0700)]
skip over crashes that could cause looping
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Thu, 28 Apr 2011 21:23:53 +0000 (14:23 -0700)]
Revert "Remove rpm information gathering as we don't use it"
This reverts commit
6b98180a0081b109a973f609669256c7e2237122.
William Douglas [Wed, 27 Apr 2011 23:30:57 +0000 (16:30 -0700)]
corewatcher 0.23
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Wed, 27 Apr 2011 23:20:14 +0000 (16:20 -0700)]
Remove rpm information gathering as we don't use it
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Fri, 22 Apr 2011 22:17:42 +0000 (15:17 -0700)]
corewatcher 0.22
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Fri, 22 Apr 2011 22:15:49 +0000 (15:15 -0700)]
Change behavior to avoid rerunning gdb each time we try scan corefiles
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Thu, 21 Apr 2011 20:37:10 +0000 (13:37 -0700)]
corewatcher 0.21
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Thu, 21 Apr 2011 19:49:56 +0000 (12:49 -0700)]
fix many temporary core detail files from flooding the system
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
Chris Leech [Mon, 18 Apr 2011 22:02:27 +0000 (15:02 -0700)]
corewatcher 0.20
Chris Leech [Fri, 15 Apr 2011 23:48:07 +0000 (16:48 -0700)]
corewatcher: libproxy support
add libproxy support for automatic proxy selection
Signed-off-by: Chris Leech <christopher.leech@linux.intel.com>
Chris Leech [Thu, 14 Apr 2011 21:00:29 +0000 (14:00 -0700)]
corewatcher: add private field to crash report
Private data will not be visible on the public web interface.
Signed-off-by: Chris Leech <christopher.leech@linux.intel.com>
Chris Leech [Thu, 14 Apr 2011 21:00:29 +0000 (14:00 -0700)]
corewatcher-config: add command line tool for editing the config file
Simple tool using the glib keyfile support to get and set key/value pairs.
Intended to be used to script configuration changes, such as.
# corewatcher-config --set allow-submit=yes
Default config file changes add a required group header for glib and whitespace
changes to reflect what happens when the glib keyfile routines read and then
write back the file.
Signed-off-by: Chris Leech <christopher.leech@linux.intel.com>
William Douglas [Thu, 7 Apr 2011 16:57:40 +0000 (09:57 -0700)]
Version 0.19
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
Patrick McCarty [Wed, 6 Apr 2011 17:11:05 +0000 (10:11 -0700)]
Add new translations: es_MX, eu, uk, vi
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
Patrick McCarty [Wed, 6 Apr 2011 17:10:36 +0000 (10:10 -0700)]
Pull from Transifex: update existing translations
Signed-off-by: Patrick McCarty <patrick.mccarty@intel.com>
William Douglas [Thu, 7 Apr 2011 17:43:52 +0000 (20:43 +0300)]
clean up some memory leaks
William Douglas [Wed, 6 Apr 2011 23:03:50 +0000 (02:03 +0300)]
Send message to dbus once core is processed and once core is submitted
William Douglas [Wed, 6 Apr 2011 21:06:51 +0000 (00:06 +0300)]
Debugged and tested keeping files to send until online
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Mon, 4 Apr 2011 23:52:15 +0000 (16:52 -0700)]
first stab at resending coredumps that were unsent
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Mon, 4 Apr 2011 20:07:08 +0000 (13:07 -0700)]
Version: 0.18
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
William Douglas [Mon, 4 Apr 2011 19:55:22 +0000 (12:55 -0700)]
rework finding qml-launcher apps
Signed-off-by: William Douglas <william.douglas@linux.intel.com>
Chris Leech [Fri, 1 Apr 2011 23:54:26 +0000 (16:54 -0700)]
add application name and crash id to the dbus sent signal
Signed-off-by: Chris Leech <christopher.leech@linux.intel.com>
Chris Leech [Fri, 1 Apr 2011 23:54:26 +0000 (16:54 -0700)]
pass oops struct instead of just a text blob, just to keep application name useable
Signed-off-by: Chris Leech <christopher.leech@linux.intel.com>
Chris Leech [Fri, 1 Apr 2011 23:54:26 +0000 (16:54 -0700)]
sent dbus signal and log to syslog on each oops, not just once per batch
Signed-off-by: Chris Leech <christopher.leech@linux.intel.com>
William Douglas [Thu, 31 Mar 2011 23:10:53 +0000 (16:10 -0700)]
Version v0.17
Signed-off-by: William Douglas <william.douglas@linux.intel.com>