external/corewatcher.git
11 years agoModify libcurl options for dealing with SSL and redirects.
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>
11 years agoUpdate hardcoded URL and allow https URLs
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>
12 years agoUpdate the crash submission URL.
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>
12 years agoAdd Tizen specific changes.
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>
12 years agoadd corewatcher packaging info and init file
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>
12 years agov0.9.8 bugfix update
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>
12 years agoRework processing queue threading
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>
12 years agoRename scan_corefolders() to scan_folders()
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>
12 years agoRemove remaining mention of queued_mtx
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>
12 years agoRemove unused global state
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>
12 years agov0.9.6 bug fix release
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>
12 years agoAdd README skipped in prior commit
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>
12 years agoSeparate report submission into its own thread
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>
12 years agoVersion 0.9.4
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>
12 years agoUnconditionally scan at start
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>
12 years agoAlways chmod our directories.
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>
12 years agoAdd timestamp from core
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>
12 years agoAdd inotify support, remove pthreads dep, bump version
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>
12 years agoUpdate example yaml after gdb update
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>
12 years agoRemove extra unlink
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>
12 years agoAdd some tentative duplicate handling
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>
12 years agoFix apparent possible memory overrun in processing_queue
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>
12 years agoVersion bump and change name in autotools
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>
12 years agoUpdate version number
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>
12 years agoAdd systemd unit file
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>
12 years agoAdd COPYING file to Makefile.am
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>
12 years agoRemove valgrind suppressions
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>
12 years agoRemove unused/unneeded corewatcher-config bits
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>
12 years agoRequire allow-submit=yes and allow-pass-on=yes
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>
12 years agoCope with oddities around umask and permission bits
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>
12 years agoRemove unused build_release
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>
12 years agoChange from /tmp to /var/lib/corewatcher
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>
12 years agoRemove release-info option
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>
12 years agoRemove unlink option
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>
12 years agoRemove system config files
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>
12 years agoOpen /var/lib/corewatcher correctly after creation
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>
12 years agoShift files from /tmp to /var/lib/corewatcher
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>
12 years agoRemove two old meego-isms
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>
12 years agoSearch for core_* instead of core.*
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>
12 years agoFix autotools paths
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>
12 years agoA little more cleaning pre-production
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>
12 years agoA little more cleaning
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>
12 years agoCorrect memory management around os-release/version
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>
12 years agoAdd an example yaml file
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>
12 years agoClean out meego/tizen specific things and quiet compile warnings
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>
12 years agoFix config file path
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>
12 years agoDe-brand config file
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>
12 years agotestmode wasn't getting set when it should have been, fix
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>
12 years agoremove incorrect comments
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>
12 years agoRemove useless check.
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>
12 years agoadd short option check for test mode
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>
12 years agofix compiler failure do to taking out crash submission code
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>
12 years agoadd test that generates a core for corewatcher
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>
12 years agoRemove options to not submit crash info
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>
12 years agoUse CFLAGS for the configuration file as well
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>
12 years agoupdate gitignore for autoconf
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>
12 years agoRemove opt out check.
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>
12 years agoUpdate CFLAGS from old Makefile
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>
12 years agoRemove dbus interface to UI
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>
12 years agoAdd check for malloc failing
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>
12 years agoFix double free possibility
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>
13 years agoUpdate ioprio defines
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>
13 years agoTake out Debian Etch work around.
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>
13 years agoRename coredump scan function.
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>
13 years agoReorganize header, move objects under the appropriate source file
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>
13 years agoUpdate corewatcher to use autotools.
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>
13 years agoRemove old define that was duplicating asm/unistd.h information.
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>
13 years agoinitial removal of corewatcher-applet
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>
13 years agoRework corewatcher, clean valgrind warnings.
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>
13 years agocorewatcher v0.26
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>
13 years agoCheck getline return properly
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>
13 years agocorewatcher v0.25
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>
13 years agoclean up memory leaks
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>
13 years agoadd meaningful package list details for files in coredump
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>
13 years agocorewatcher v0.24
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>
13 years agoskip over crashes that could cause looping
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>
13 years agoRevert "Remove rpm information gathering as we don't use it"
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.

13 years agocorewatcher 0.23
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>
13 years agoRemove rpm information gathering as we don't use it
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>
13 years agocorewatcher 0.22
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>
13 years agoChange behavior to avoid rerunning gdb each time we try scan corefiles
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>
13 years agocorewatcher 0.21
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>
13 years agofix many temporary core detail files from flooding the system
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>
13 years agocorewatcher 0.20
Chris Leech [Mon, 18 Apr 2011 22:02:27 +0000 (15:02 -0700)]
corewatcher 0.20

13 years agocorewatcher: libproxy support
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>
13 years agocorewatcher: add private field to crash report
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>
13 years agocorewatcher-config: add command line tool for editing the config file
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>
13 years agoVersion 0.19
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>
13 years agoAdd new translations: es_MX, eu, uk, vi
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>
13 years agoPull from Transifex: update existing translations
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>
13 years agoclean up some memory leaks
William Douglas [Thu, 7 Apr 2011 17:43:52 +0000 (20:43 +0300)]
clean up some memory leaks

13 years agoSend message to dbus once core is processed and once core is submitted
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

13 years agoDebugged and tested keeping files to send until online
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>
13 years agofirst stab at resending coredumps that were unsent
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>
13 years agoVersion: 0.18
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>
13 years agorework finding qml-launcher apps
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>
13 years agoadd application name and crash id to the dbus sent signal
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>
13 years agopass oops struct instead of just a text blob, just to keep application name useable
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>
13 years agosent dbus signal and log to syslog on each oops, not just once per batch
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>
13 years agoVersion v0.17
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>