platform/core/system/crash-worker.git
5 years agoRelease 5.5.24 49/215549/2 accepted/tizen/unified/20191011.015545 submit/tizen/20191010.130640
Karol Lewandowski [Thu, 10 Oct 2019 11:52:27 +0000 (13:52 +0200)]
Release 5.5.24

This release brings:

 - optimizations to reduce memory footprint
 - removal of sys-assert (deprecated)

Change-Id: Ie3df6181e3c991d14ee8ef0da21208551d1c7f02

5 years agoReduce heap usage 69/215469/8
Mateusz Moscicki [Tue, 8 Oct 2019 10:13:14 +0000 (12:13 +0200)]
Reduce heap usage

When *.so_info was writing, for TPK packages, a complete list of
packages and paths was built, to find a RPM package that contains the
file. Now only the list of files is kept in memory, and then RPM
database is iterated to find suitable package.

Change-Id: I779661de26afd959945d441ba5ad160c99a014b2

5 years agoPass the "-s" (without_core) parameter to the minicoredumper if dump_core is set... 15/215215/5
Mateusz Moscicki [Mon, 30 Sep 2019 10:55:42 +0000 (12:55 +0200)]
Pass the "-s" (without_core) parameter to the minicoredumper if dump_core is set to 0

Change-Id: I04be2a58f72d7dbb2dbfacd4d0c4b6e23c97dcf1

5 years agoDrop sys-assert 48/215548/2
Karol Lewandowski [Thu, 10 Oct 2019 11:31:58 +0000 (13:31 +0200)]
Drop sys-assert

It's been deprecated for long time.

Change-Id: I0f5623cbf2ef32c9630d853ead61a6e92bfa27b2

5 years agoupgrade script: change confusing comments 47/215547/2
Karol Lewandowski [Thu, 10 Oct 2019 11:30:03 +0000 (13:30 +0200)]
upgrade script: change confusing comments

Change-Id: I50c6ef0195a63f39ebbf40cbe68cccca4bad7f83

5 years agoDrop log_dump scripts 46/215546/1
Karol Lewandowski [Thu, 10 Oct 2019 11:03:58 +0000 (13:03 +0200)]
Drop log_dump scripts

Change-Id: I9adf5d9cca48a3313338c881ee3227beb32880a3

5 years agoRelease 5.5.23 09/214809/2 submit/tizen/20191009.123450 submit/tizen/20191009.202509
Karol Lewandowski [Thu, 26 Sep 2019 12:36:31 +0000 (14:36 +0200)]
Release 5.5.23

This release drops log_dump, which is moved to separate repository.

Change-Id: I305f4a758721c1b5566aa61693d2ad65ad281a5a

5 years agoFix coverity issue - ensure that the buffer is null terminated 86/215486/2
Mateusz Moscicki [Wed, 9 Oct 2019 08:26:06 +0000 (10:26 +0200)]
Fix coverity issue - ensure that the buffer is null terminated

Change-Id: Ia5eb44790320f48f6751aa247d1d600cb01a9f10

5 years agoInitialize variables to NULL 90/215290/4
Mateusz Moscicki [Thu, 3 Oct 2019 15:46:29 +0000 (17:46 +0200)]
Initialize variables to NULL

Change-Id: I8d9abdea13e0a11ac3c0b55386a137f095767803

5 years agoMerge "Make remaining macros behave like standard statements" into tizen
Karol Lewandowski [Tue, 8 Oct 2019 11:58:56 +0000 (11:58 +0000)]
Merge "Make remaining macros behave like standard statements" into tizen

5 years agoMerge "Move log_dump to platform/core/system/log_dump" into tizen
Karol Lewandowski [Mon, 30 Sep 2019 13:25:33 +0000 (13:25 +0000)]
Merge "Move log_dump to platform/core/system/log_dump" into tizen

5 years agoMerge "Separate log_dump from crash-worker" into tizen
Karol Lewandowski [Mon, 30 Sep 2019 13:25:28 +0000 (13:25 +0000)]
Merge "Separate log_dump from crash-worker" into tizen

5 years agoMerge "Run all existing tests from tests/system/ directory" into tizen
Karol Lewandowski [Mon, 30 Sep 2019 13:25:20 +0000 (13:25 +0000)]
Merge "Run all existing tests from tests/system/ directory" into tizen

5 years agoMake remaining macros behave like standard statements 23/214923/1
Karol Lewandowski [Sat, 28 Sep 2019 16:28:01 +0000 (18:28 +0200)]
Make remaining macros behave like standard statements

Change-Id: Id09a320422eeac2ddd459b47b023df8d4d975971

5 years agoFix compilation on 64-bit architectures 18/214818/1 submit/tizen/20190926.222014 submit/tizen/20190927.061310
Karol Lewandowski [Thu, 26 Sep 2019 19:42:09 +0000 (21:42 +0200)]
Fix compilation on 64-bit architectures

64-bit architetures have lib in lib64, fix this by using
cmake-provided information about target system directories.

Change-Id: I794c89ad06b7bd80acd50acd3e64a36ffe86ea5d

5 years agoMove log_dump to platform/core/system/log_dump 05/213905/2
Mateusz Moscicki [Tue, 10 Sep 2019 12:22:49 +0000 (14:22 +0200)]
Move log_dump to platform/core/system/log_dump

Change-Id: I7349a275c370cef32cb6da143acb1b5255de68f3

5 years agoSeparate log_dump from crash-worker 75/212875/3
Mateusz Moscicki [Mon, 19 Aug 2019 11:33:15 +0000 (13:33 +0200)]
Separate log_dump from crash-worker

crash-worker can be installed without log_dump

Change-Id: Ifa045dede15148e4c5215b1a54fd0e3280d75f52

5 years agoRun all existing tests from tests/system/ directory 04/213904/2
Mateusz Moscicki [Tue, 10 Sep 2019 10:16:38 +0000 (12:16 +0200)]
Run all existing tests from tests/system/ directory

This allows to put there tests by other crash-manager related packages

Change-Id: I3dea8cdb77cf20c8bed68ff9b8891d87c0bd5da2

5 years agoRelease 5.5.22 08/214808/1 submit/tizen/20190926.140827
Karol Lewandowski [Thu, 26 Sep 2019 12:29:23 +0000 (14:29 +0200)]
Release 5.5.22

This version brings one major enhancement - livedump API, available
for platform service developers.

pkgconfig name: crash-service
       include: libcrash-service.h
                   API: livedump_pid()

Change-Id: I25d22fc9f43e647dd48ea4f02cebb2dbb5ac49ec

5 years agoAdd crash manager API 74/212874/13
Mateusz Moscicki [Thu, 25 Jul 2019 09:02:43 +0000 (11:02 +0200)]
Add crash manager API

Privileged processes can send a D-Bus method call to create report of
any living process. Signature is (iss):

- INT    (in) PID
- STRING (in) dump reason
- STRING (out) report path

There is a library libcrashservice that sends the D-Bus method call.

A function signature is:

    int livedump_pid(pid_t pid,
                     const char *dump_reason,
                     char *report_path);

Change-Id: Id8528bdbaac517d4b5fc649821368e0ff020862f

5 years agoMove code to the shared library 47/212547/11
Mateusz Moscicki [Tue, 20 Aug 2019 11:39:42 +0000 (13:39 +0200)]
Move code to the shared library

Change-Id: I05f3bc5902bd7b13b4f50dac32622e7f3cbaedab

5 years agoAdd --output option 43/212043/12
Mateusz Moscicki [Thu, 25 Jul 2019 06:50:37 +0000 (08:50 +0200)]
Add --output option

This option allows to specify the custom output directory for reports

Change-Id: I7a49d958f268f73f346b7f5b692cf3ce56808f37

5 years agoRelease 5.5.21 68/214168/1 accepted/tizen/unified/20190919.110156 submit/tizen/20190918.132704
Mateusz Moscicki [Wed, 18 Sep 2019 13:02:39 +0000 (15:02 +0200)]
Release 5.5.21

Changes:
 - livedumper: fix coverity issuses
 - livedumper: check open() result

Change-Id: Iee7fce1be940cc8163162a31202121180f111afc

5 years agoFix Coverity issues 41/214141/1
Mateusz Moscicki [Wed, 18 Sep 2019 09:34:49 +0000 (11:34 +0200)]
Fix Coverity issues

Change-Id: I84d25d996c2134e141bb366ca3adc77743ba98ba

5 years agoCheck if open() was successful 03/212103/6
Mateusz Moscicki [Tue, 13 Aug 2019 11:25:39 +0000 (13:25 +0200)]
Check if open() was successful

Change-Id: I801699a864f2df60bfae0734fce20a925c104553

5 years agoRelease 5.5.20 55/212455/3 accepted/tizen/unified/20190904.224501 submit/tizen/20190904.110321
Karol Lewandowski [Wed, 21 Aug 2019 16:52:14 +0000 (18:52 +0200)]
Release 5.5.20

This release brings few small improvements:

  - refactor crash-manager main invocation code
  - dump_scripts: move_dump.sh: set PATH exactly as security team requires
  - crash-manager: print textual error code where possible
  - assorted fixes

Change-Id: I319c10c4e96249b246fea8698b590147d2636da5

5 years agoconfig: Use same type to store all bools 52/213052/3
Karol Lewandowski [Thu, 29 Aug 2019 20:57:02 +0000 (22:57 +0200)]
config: Use same type to store all bools

Change-Id: Ife768dd5b71355759db7d678d7c3fd6a5399e811

5 years agoconfig: Fix invalid default setting for MaxRetentionSec 87/213087/3
Karol Lewandowski [Fri, 30 Aug 2019 06:38:50 +0000 (08:38 +0200)]
config: Fix invalid default setting for MaxRetentionSec

Change-Id: I809d86fdd0242c2c280b4db4eef009cadfd4652b

5 years agoconfig: Add missing free() for extra_script 51/213051/2
Karol Lewandowski [Thu, 29 Aug 2019 20:56:42 +0000 (22:56 +0200)]
config: Add missing free() for extra_script

Change-Id: Ie17d4dd90e08f02192139acbd8edf5c5682a4f59

5 years agoMove code to a separate function 40/212040/5
Mateusz Moscicki [Thu, 25 Jul 2019 09:00:26 +0000 (11:00 +0200)]
Move code to a separate function

Change-Id: I81bd9ac6467214ce9251213dee193fd6f53c71c2

5 years agocrash-manager: print textual error code where possible 51/212451/5
Karol Lewandowski [Wed, 21 Aug 2019 13:29:01 +0000 (15:29 +0200)]
crash-manager: print textual error code where possible

Change-Id: Ia2536417d55d9b8275424983ce24ec6cdadc7d5a

5 years agocrash-manager: Janitorial: rename crash_crash_path to crash_dump_path for readability 50/211950/6
Karol Lewandowski [Mon, 12 Aug 2019 11:54:37 +0000 (13:54 +0200)]
crash-manager: Janitorial: rename crash_crash_path to crash_dump_path for readability

Change-Id: Id62ade3ac22c27360bad000b37e3e9bc53e5b254

5 years agocrash-manager: Rewrite make_dump_path() for readability 50/212450/5
Karol Lewandowski [Wed, 21 Aug 2019 13:29:31 +0000 (15:29 +0200)]
crash-manager: Rewrite make_dump_path() for readability

Change-Id: I523ca95903f16118e87ca724cc035b82c879d459

5 years agodump_scripts: move_dump.sh: set PATH exactly as security team requires 52/212452/3 accepted/tizen/unified/20190822.045421 submit/tizen/20190821.171906
Karol Lewandowski [Wed, 21 Aug 2019 13:45:32 +0000 (15:45 +0200)]
dump_scripts: move_dump.sh: set PATH exactly as security team requires

Change-Id: I8750d45b43ebb090e9cf31b8c1814eb1550fdce7

5 years agoRelease 5.5.19 68/211868/2 accepted/tizen/unified/20190812.235604 submit/tizen/20190809.125447
Karol Lewandowski [Fri, 9 Aug 2019 11:36:49 +0000 (13:36 +0200)]
Release 5.5.19

This release brings:

 - lowering priority of crash-worker sysctl file to allow
   easy overwriting of sysctls by local files

 - few fixes for reliability

 - minor system tests refactoring

Change-Id: If12efeb3c59c68ed642c32d83e789592520a18af

5 years agoshared: Simplify get_exe_path 21/211721/2
Karol Lewandowski [Thu, 8 Aug 2019 08:49:27 +0000 (10:49 +0200)]
shared: Simplify get_exe_path

Change-Id: I26839430a4836454f96c1f273a1500899dc6b607

5 years agocrash-manager: fix potential cinfo->cmdline double free 20/211720/2
Karol Lewandowski [Thu, 8 Aug 2019 08:13:04 +0000 (10:13 +0200)]
crash-manager: fix potential cinfo->cmdline double free

Change-Id: I1ea39c92f076834defe4dfc0e7f4a6d0f798f066

5 years agoLower the number (and priority) of crash-worker sysctl config file 09/211409/2
Karol Lewandowski [Thu, 1 Aug 2019 14:38:12 +0000 (16:38 +0200)]
Lower the number (and priority) of crash-worker sysctl config file

Install sysctl file with 70 prefix instead of 99.  This will allow
overriding variables by creating eg. 99-local.conf file with appropriate
vars.

Change-Id: I88e25839a59a66896ab540d0836776b2d64225e5

5 years agosystem tests: Simplify exit helper functions 58/211258/1
Karol Lewandowski [Thu, 25 Jul 2019 11:13:09 +0000 (13:13 +0200)]
system tests: Simplify exit helper functions

Change-Id: Iecafa3632ac0c81454c2692037de34b486dfa2e2

5 years agoRelease 5.5.18 79/210679/2 accepted/tizen/unified/20190725.112358 submit/tizen/20190724.102627
Karol Lewandowski [Tue, 23 Jul 2019 15:25:00 +0000 (17:25 +0200)]
Release 5.5.18

This release introduces following features:

  - Addition of signal that caused crash and thread name to
    dbus signal (in sys.signal and sys.tid.comm fields, respectively)

    Additionally, report path is appended properly to the signal
    (bugfix)

  - Livecoredump reports are saved in livedump/ subdirectory
    from this release

  - Executable name is passed to minicoredumper allowing per-app
    recipes to be specified

  - All executables are rebuild as PIE as needed for ASLR to work

Change-Id: I91b2222c603d1d75b5e3df501f3d57eed5d7ff4e

5 years agoPass the executable name to the minicoredumper 97/210397/5
Mateusz Moscicki [Thu, 18 Jul 2019 15:58:38 +0000 (17:58 +0200)]
Pass the executable name to the minicoredumper

Change-Id: Iccd4abead0a87873d05e05333630bd859d34ef46

5 years agoSave livedumper reports in the livedump/ subdirectory 92/210392/6
Mateusz Moscicki [Tue, 16 Jul 2019 06:16:04 +0000 (08:16 +0200)]
Save livedumper reports in the livedump/ subdirectory

This change makes possible to distinguish the report created by
the application crash from that created on the request.

Change-Id: Iaafb82522cad40e12366ee06eb6313027937b5b2

5 years agocrash-manager: dbus: Add /proc/tid/comm info to signal 90/210490/3
Karol Lewandowski [Fri, 19 Jul 2019 13:23:42 +0000 (15:23 +0200)]
crash-manager: dbus: Add /proc/tid/comm info to signal

Change-Id: Ibfbc159204b54a9c4a2eaacc491c56a950e246b5

5 years agoshared: Generalize function to read any /proc/pid entry 89/210489/3
Karol Lewandowski [Fri, 19 Jul 2019 13:22:54 +0000 (15:22 +0200)]
shared: Generalize function to read any /proc/pid entry

Change-Id: Ide42d323a2ce6f3901d7a5c26baa9ff5153a512f

5 years agodefs: Make comm size public 88/210488/1
Karol Lewandowski [Fri, 19 Jul 2019 13:20:15 +0000 (15:20 +0200)]
defs: Make comm size public

It will be used by multiple clients.

Change-Id: Ifa86c14a0b1cf3b0c1cf7693c1f3c836c95a0d2d

5 years agocrash-manager: dbus: Add information about signal that caused crash 68/210368/2
Karol Lewandowski [Thu, 18 Jul 2019 11:32:48 +0000 (13:32 +0200)]
crash-manager: dbus: Add information about signal that caused crash

Signal number is going to be available under "sys.signal" key in
broadcasted signal.

Change-Id: I1c1e57e9229ca0d896ce095782d3c510ab5fe96e

5 years agotests: Add crash-manager dbus notify system test 75/210275/2
Karol Lewandowski [Wed, 17 Jul 2019 11:29:15 +0000 (13:29 +0200)]
tests: Add crash-manager dbus notify system test

Change-Id: I3e3c4669df4dd36edecd02c2fb245f455b76b4c5

5 years agocrash-manager: notify: Add missing report path to D-Bus signal 74/210274/1
Karol Lewandowski [Wed, 17 Jul 2019 11:28:04 +0000 (13:28 +0200)]
crash-manager: notify: Add missing report path to D-Bus signal

Change-Id: I39d992d49b48f00f11103b47eec2027e655fe6c7

5 years agodefs.h: Fix crash-notify path 73/210273/1
Karol Lewandowski [Wed, 17 Jul 2019 11:27:08 +0000 (13:27 +0200)]
defs.h: Fix crash-notify path

Change-Id: I4e7cc3e516239d6642dc7214bc35472d8918cc3e

5 years agoBuild all programs as PIE - needed for ASLR to work 95/210195/2
Karol Lewandowski [Tue, 16 Jul 2019 11:46:29 +0000 (13:46 +0200)]
Build all programs as PIE - needed for ASLR to work

Change-Id: If965bb4ef9008bf280d211feeebe1a5a95de7252

5 years agoRelease 5.5.17 78/210078/2 submit/tizen/20190716.094555
Mateusz Moscicki [Mon, 15 Jul 2019 13:15:19 +0000 (15:15 +0200)]
Release 5.5.17
- Fix format specifier in livedumper
- crash-manager executes livedumper with -m option

Change-Id: I1031fce26edd993612d1d0190fb31775488ff29e

5 years agocrash-manager executes livedumper with -m option 77/210077/2
Mateusz Moscicki [Mon, 15 Jul 2019 13:11:54 +0000 (15:11 +0200)]
crash-manager executes livedumper with -m option

Change-Id: If36b60500d18fe43065a4b9322446e9309e18564

5 years agoSkip test if livedumper doesn't exist 76/210076/2
Mateusz Moscicki [Mon, 15 Jul 2019 12:46:50 +0000 (14:46 +0200)]
Skip test if livedumper doesn't exist

Change-Id: Ibe22df39b4c8e572c29efec0f338cae0bef1bc9f

5 years agoFix format specifier 75/210075/2
Mateusz Moscicki [Mon, 15 Jul 2019 09:09:11 +0000 (11:09 +0200)]
Fix format specifier

Change-Id: I5378d23401594aae9adf42ce595d6fad43c847ce

5 years agoRelease 5.5.16 50/209650/1 submit/tizen/20190709.135841
Mateusz Moscicki [Tue, 9 Jul 2019 13:54:55 +0000 (15:54 +0200)]
Release 5.5.16

- Fix Coverity issues

Change-Id: Ic94d6570135a93575b793447c1fc5ea365c6a5f3

5 years agoFix a bunch of minor issues found by Coverity. 42/209642/1
Michal Bloch [Mon, 8 Jul 2019 14:49:34 +0000 (16:49 +0200)]
Fix a bunch of minor issues found by Coverity.

Change-Id: I6dc3f56f1d590a6a49800d28ba78d3185555a837
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agoMerge changes I0a2bc0e4,I9056c6e6 into tizen
Mateusz Mościcki [Fri, 5 Jul 2019 14:15:34 +0000 (14:15 +0000)]
Merge changes I0a2bc0e4,I9056c6e6 into tizen

* changes:
  Release 5.5.15
  Add ability to dump minicore

5 years agoRelease 5.5.15 11/209411/1 submit/tizen/20190705.142120
Mateusz Moscicki [Fri, 5 Jul 2019 14:07:35 +0000 (16:07 +0200)]
Release 5.5.15

- livedumper is able to create mini coredumps (-m option)

Change-Id: I0a2bc0e42757e3fe9378cca8b671448804abdcca

5 years agoAdd ability to dump minicore 24/208624/5
Mateusz Moscicki [Wed, 26 Jun 2019 08:49:48 +0000 (10:49 +0200)]
Add ability to dump minicore

Change-Id: I9056c6e630e11a9990933832906302e45905dea2

5 years agoChange the config value of the "RemainAfterExit=" ("true" -> "yes") 38/208538/1
INSUN PYO [Wed, 26 Jun 2019 00:23:41 +0000 (09:23 +0900)]
Change the config value of the "RemainAfterExit=" ("true" -> "yes")

Change-Id: I8456f7ebfbbf1679092ff2a9e92745574e482766

5 years agoRelease 5.5.14 27/208127/3 accepted/tizen/unified/20190628.035304 submit/tizen/20190626.084119
Karol Lewandowski [Tue, 18 Jun 2019 14:01:39 +0000 (16:01 +0200)]
Release 5.5.14

This release brings:

 - ExtraScript= crash-worker's option, allowing to call arbitrary
   script which can add files to report

 - assorted fixes

Change-Id: I2828135b2bef5118453c4e3356dfc4f96bc59755

5 years agosystem-tests: packaging: Sort files 26/208126/3
Karol Lewandowski [Tue, 18 Jun 2019 14:01:08 +0000 (16:01 +0200)]
system-tests: packaging: Sort files

Change-Id: Ic61351ecef500221afe2876582a2ae034f905761

5 years agocrash-manager: Add ExtraScript to config 25/208125/3
Karol Lewandowski [Tue, 18 Jun 2019 10:57:48 +0000 (12:57 +0200)]
crash-manager: Add ExtraScript to config

ExtraScript will be called for report types >= FULL.  This will allow
attaching arbitrary data to crash report.  Script is called with report's
temporary directory as first and only argument, ie.

   exec("$ExtraScript", "/path/to/report/temp/dir", PID)

Change-Id: Icc38b92daae7a39b13063b2c45bffc1b863e72d6

5 years agosystem-tests: Fix incorrect variable usage 24/208124/1
Karol Lewandowski [Tue, 18 Jun 2019 13:45:10 +0000 (15:45 +0200)]
system-tests: Fix incorrect variable usage

Change-Id: Ifafc9ff3c62f760b96188c4a51471a219e66cee0

5 years agoRemove logging to error output 47/206647/3
Mateusz Moscicki [Wed, 22 May 2019 10:37:09 +0000 (12:37 +0200)]
Remove logging to error output

Change-Id: I7abce9958153729ed7ae91d582970211ad0e004f

5 years agoFix SVACE warnings 83/206883/1
Mateusz Moscicki [Tue, 28 May 2019 12:16:31 +0000 (14:16 +0200)]
Fix SVACE warnings

Change-Id: I8c1c88cb34637b9c6a341d59134e9bb1c9f1cfea

5 years agoRelease 5.5.13 21/206721/1 submit/tizen/20190523.190019
Michal Bloch [Thu, 23 May 2019 16:57:24 +0000 (18:57 +0200)]
Release 5.5.13

Quickfix for a compilation issue on aarch64.

Change-Id: I390dfaffba12ebe5692cf5d821abb56168d24a0c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agoRelease 5.5.12 50/206650/4 submit/tizen/20190523.142501
Karol Lewandowski [Wed, 22 May 2019 13:54:17 +0000 (15:54 +0200)]
Release 5.5.12

This release brings following improvements:

 - livedumper - the utility to create coredumps from live processes
   and its integration

 - dump_systemstate is able to add additional extra output from both
   specified files and programs

 - dbus dependencies are moved from crash-manger core program to separate
   helper programs to improve reliability

Change-Id: Ic78880739209e4d4d320c09ba77ba9acc3533490

5 years agoMove hardcoded paths back to .spec file 41/205941/5
Karol Lewandowski [Wed, 22 May 2019 09:27:17 +0000 (11:27 +0200)]
Move hardcoded paths back to .spec file

Change-Id: I50a83ba1a19088608200f1ef9ce83649cc53af68

5 years agoFix system tests 22/206422/9
Mateusz Moscicki [Fri, 17 May 2019 07:13:33 +0000 (09:13 +0200)]
Fix system tests

* Skip critical process system test for emulator
* Add a delay after a process terminating. In some cases crash-worker
  finished job, but the report appeared after a while
* Define variables for exit codes
* Unify variable name for the system tests path

Change-Id: I6b380ba3252d2b654ecfd8e9ecde575d959c0602

5 years agoAdd livedumper and integrate it with the crash-manager 52/203752/23
Mateusz Moscicki [Tue, 16 Apr 2019 10:05:26 +0000 (12:05 +0200)]
Add livedumper and integrate it with the crash-manager

Livedumper is an application that can save coredump of a running process.

crash-manager got three new switches:

   -l - run livedumper instead of minicoredumper and don't send notify
   -k - kill process after saving the report
   -r - print report path to stdout

Change-Id: If4fe21b250ae5e939d7b63ea5c4bf75bec6123a4

5 years agoUse getopt to parse command line arguments 42/205842/6
Mateusz Moscicki [Wed, 8 May 2019 10:27:18 +0000 (12:27 +0200)]
Use getopt to parse command line arguments

Change-Id: If8fcb875d19f4547348b72341e342251cb8b7fb2

5 years agoRedirect command's output to not pollute standard output 02/206402/2
Karol Lewandowski [Fri, 17 May 2019 09:53:46 +0000 (11:53 +0200)]
Redirect command's output to not pollute standard output

This alters default redirections of following commands:

 - zip - all descriptors redirected to /dev/null
 - minicoredumper, dump_systemstate - standard output redirected to stderr

Change-Id: I723ddb78baca6d58decbc1b1219f7cd5b8d5c9ae

5 years agospawn: Allow executing list of handlers 26/206326/3
Karol Lewandowski [Wed, 15 May 2019 12:02:27 +0000 (14:02 +0200)]
spawn: Allow executing list of handlers

This functionality is needed for non-trivial child initialization.

Change-Id: Iac1d5221fc44dc2d65c2acc260e8b9e2b1a01a17

5 years agoSilence zip command output 25/206325/1
Karol Lewandowski [Wed, 15 May 2019 12:01:44 +0000 (14:01 +0200)]
Silence zip command output

zip, as any other process, should not pollute our standard output
unless explicitly asked to do so.

Change-Id: Ied5d31e453c528fffd9662aa5b324e0b7a743dbc

5 years agosystem tests: add `dump_systemstate -e' test 24/204824/3
Karol Lewandowski [Fri, 26 Apr 2019 13:48:32 +0000 (15:48 +0200)]
system tests: add `dump_systemstate -e' test

Change-Id: I4fa93d87bffaf2178b213eda2861a2522ce531ad

5 years agodump_systemstate reads extra tasks from config 96/203096/9
Michal Bloch [Wed, 3 Apr 2019 09:46:47 +0000 (11:46 +0200)]
dump_systemstate reads extra tasks from config

Change-Id: I0cf2f0411218e0ce6d0b7c0e940ea5e84f48fdf2
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agoSplit dbus-notify-send from crash-manager 79/204679/4
Karol Lewandowski [Thu, 25 Apr 2019 11:31:43 +0000 (13:31 +0200)]
Split dbus-notify-send from crash-manager

Change-Id: I12b9a6b513fba53335eee71bf10c5c2b83ca3349

5 years agoSplit crash-popup-launch from crash manager 78/204678/3
Karol Lewandowski [Thu, 25 Apr 2019 08:39:09 +0000 (10:39 +0200)]
Split crash-popup-launch from crash manager

Crash manager should not have any dbus depenency to increase its reliability.

Change-Id: I576d3730f47e6562dea71b9399c08cddf3280521

5 years agospawn: Introduce helper to open /dev/null on all standard fds 77/204677/2
Karol Lewandowski [Thu, 25 Apr 2019 10:03:05 +0000 (12:03 +0200)]
spawn: Introduce helper to open /dev/null on all standard fds

This will be used in crash-manager to invoke processes in
"non-blocking" way.

Change-Id: Ic70eda38c7cba8628e635ba206f1fe81edb944eb

5 years agoRelease 5.5.11 76/204676/2 accepted/tizen/unified/20190426.054201 submit/tizen/20190425.132450
Karol Lewandowski [Thu, 25 Apr 2019 11:24:56 +0000 (13:24 +0200)]
Release 5.5.11

This release brings following changes:
 - log_dump honours CrashRootPath from config
 - dump_systemstate also dumps installed package list

Change-Id: I433dcbbca07df388c981113c89a054f5f1a40ec9

5 years agoFix missing includes 27/204027/2
Michal Bloch [Thu, 18 Apr 2019 13:30:21 +0000 (15:30 +0200)]
Fix missing includes

Required for `bool`, `off_t` and `pid_t`.

Change-Id: I245b9aa5f5fd3e7b01b2d44d502762b57f9065f7
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agoMerge "shared utils: add a string suffix checker" into tizen
Karol Lewandowski [Thu, 18 Apr 2019 13:24:59 +0000 (13:24 +0000)]
Merge "shared utils: add a string suffix checker" into tizen

5 years agoMerge changes I738e241a,Idade13c1,Ic4b2732b into tizen
Karol Lewandowski [Thu, 18 Apr 2019 13:19:49 +0000 (13:19 +0000)]
Merge changes I738e241a,Idade13c1,Ic4b2732b into tizen

* changes:
  log_dump: Honour CrashRootPath from config
  log_dump: Create temp dir if nonexistent
  Move crash-manager config handling to shared/

5 years agolog_dump: Honour CrashRootPath from config 43/203443/6
Karol Lewandowski [Wed, 17 Apr 2019 14:06:55 +0000 (16:06 +0200)]
log_dump: Honour CrashRootPath from config

Change-Id: I738e241a1fbb12447f32fcc7f963a8185eec0f12

5 years agolog_dump: Create temp dir if nonexistent 71/203771/2
Karol Lewandowski [Wed, 17 Apr 2019 12:59:36 +0000 (14:59 +0200)]
log_dump: Create temp dir if nonexistent

Other directories are created already (log, debug).

Change-Id: Idade13c1bf10df09ef36dd71a449c216eb27a6dc

5 years agoMove crash-manager config handling to shared/ 29/203429/6
Karol Lewandowski [Fri, 12 Apr 2019 10:25:31 +0000 (12:25 +0200)]
Move crash-manager config handling to shared/

Certain configuration variables are needed by (at least) log_dump.

Change-Id: Ic4b2732b261c1d03215cf0ac14db5264c9b517fb

5 years agoshared utils: add a string suffix checker 53/203753/2
Michal Bloch [Wed, 17 Apr 2019 10:26:23 +0000 (12:26 +0200)]
shared utils: add a string suffix checker

Change-Id: I8c7a5e78c7d407a983c967a6b105c31e3beff3a7
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
5 years agoFix get application name from path 57/203657/1
Mateusz Moscicki [Tue, 16 Apr 2019 14:32:31 +0000 (16:32 +0200)]
Fix get application name from path

Change-Id: Icaa926c23ebc52af502ccb94e35090008281be95

5 years agoIntroduce defs.h with all cmake variables 28/203428/1
Karol Lewandowski [Tue, 26 Mar 2019 14:00:42 +0000 (15:00 +0100)]
Introduce defs.h with all cmake variables

Change-Id: Ic3fb4f3d6074b896f7601d07a7a93cb96f9e8727

5 years agodump_systemstate: dump installed package list
Sunmin Lee [Mon, 25 Feb 2019 01:55:42 +0000 (10:55 +0900)]
dump_systemstate: dump installed package list

Some package information is required to debug crash.
Add it as an option of dump_systemstate.

Change-Id: I140e2d00b35157c7f463426483dea074d739b73e
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
[ Backported from different repository ]
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
5 years agoRelease 5.5.10 50/200750/2 submit/tizen/20190301.163056
Karol Lewandowski [Fri, 1 Mar 2019 15:27:00 +0000 (16:27 +0100)]
Release 5.5.10

Fix compilation on 64-bit architectures.

Change-Id: Ib8110ed71300d4b0dde5b7fe0775c94cd720dfa5

5 years agoutil: Fix spawn API to work properly on 64-bit architectures 49/200749/2
Karol Lewandowski [Fri, 1 Mar 2019 15:13:58 +0000 (16:13 +0100)]
util: Fix spawn API to work properly on 64-bit architectures

Introducing spawn_param_u has the purpose of avoiding
casting arch-dependent pointers to various data types.

Change-Id: I81c4c292ac9f0d9506f3ad3cac1676e9c99cc090

5 years agoRelease 5.5.9 30/200730/1 submit/tizen/20190301.131043
Karol Lewandowski [Fri, 1 Mar 2019 12:57:31 +0000 (13:57 +0100)]
Release 5.5.9

This release brings:

  - rewrite of subprocess execution API and associated updates

  - rewrite of log_dump for correctness and readability

  - addition of log_dump and basic crash report system tests

Change-Id: If157537a971537ab4c7f2d3f67605a277db96964

5 years agoRewrite and re-enable log_dump 12/189812/23
Karol Lewandowski [Fri, 21 Sep 2018 07:48:21 +0000 (09:48 +0200)]
Rewrite and re-enable log_dump

This is major change which brings following changes:

 - port log_dump to spawn() API

 - fix: allow creating multiple log_dump reports at once
   (by using separate/unique temporary directory)

   NOTE: There is no guarantee that dump scripts are able to handle parallell
         invocation!

 - fix: always broadcast the signal about finished dump - even in case of
   error (client should not wait indifinitely for status)

 - move logic of moving crash-dump reports to separate script

Change-Id: I78585b9c3c6bfb9e12950985b389c0edf0eac7f0

5 years agoReplace system_command_* and run_command_* APIs with simpler spawn() 09/189809/26
Karol Lewandowski [Wed, 7 Nov 2018 11:04:34 +0000 (12:04 +0100)]
Replace system_command_* and run_command_* APIs with simpler spawn()

This commit introduces following utility functions to handle
external process execution:

 - spawn() - forks parent and executes specified command via execve(),
   establishes pipe between child and parent to monitor child lifetime.

   Ability to customize child environment is provided by the means of
   callbacks - spawn_{setstdout{,err},chdir,umask} are provided to set
   fds, chdir, and umask respectively.

 - wait_for_pid() - waitpid() for child, returning its exit code

 - spawn_wait() - combines both of above and adds ability to optionally
   specify timeout after which child is killed. Returns childs exit
   code (as wait_for_pid()), or -1 when timed out.

Change-Id: I55d1e4ae8f547be3883c43132a0e083b91f730e3

5 years agoDisable log_dump 08/189808/20
Karol Lewandowski [Tue, 19 Feb 2019 16:15:56 +0000 (17:15 +0100)]
Disable log_dump

Disable log_dump for the period of spawn API introduction to
avoid rewriting this utility twice.

Change-Id: I7f5589d9e3eadb4343314d5509c6dc8cf4e62177

5 years agosystem tests: report_basic: do not assume empty crash dump directory 58/200658/2
Karol Lewandowski [Wed, 27 Feb 2019 15:05:39 +0000 (16:05 +0100)]
system tests: report_basic: do not assume empty crash dump directory

Other programs can create crash report at the same time
this system test is run, so we can not assume our crash
report will be only one in the dump dir.

Change-Id: I8688312b11cbaee4cad56205ae0486b4f99e4a5f

5 years agoSimplify CMakeFile.txt 56/200656/1
Mateusz Moscicki [Wed, 27 Feb 2019 12:13:48 +0000 (13:13 +0100)]
Simplify CMakeFile.txt

Change-Id: I1d07b518a88c057c726f5a110a53620e3941741e

5 years agosystem tests: ensure core pattern is always restored 47/200647/3
Karol Lewandowski [Wed, 27 Feb 2019 10:52:23 +0000 (11:52 +0100)]
system tests: ensure core pattern is always restored

Change-Id: Id8cd30af058da8cbc23844ec7314d8a488644807