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
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
Mateusz Moscicki [Wed, 26 Jun 2019 08:49:48 +0000 (10:49 +0200)]
Add ability to dump minicore
Change-Id: I9056c6e630e11a9990933832906302e45905dea2
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
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
Karol Lewandowski [Tue, 18 Jun 2019 14:01:08 +0000 (16:01 +0200)]
system-tests: packaging: Sort files
Change-Id: Ic61351ecef500221afe2876582a2ae034f905761
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
Karol Lewandowski [Tue, 18 Jun 2019 13:45:10 +0000 (15:45 +0200)]
system-tests: Fix incorrect variable usage
Change-Id: Ifafc9ff3c62f760b96188c4a51471a219e66cee0
Mateusz Moscicki [Wed, 22 May 2019 10:37:09 +0000 (12:37 +0200)]
Remove logging to error output
Change-Id: I7abce9958153729ed7ae91d582970211ad0e004f
Mateusz Moscicki [Tue, 28 May 2019 12:16:31 +0000 (14:16 +0200)]
Fix SVACE warnings
Change-Id: I8c1c88cb34637b9c6a341d59134e9bb1c9f1cfea
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>
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
Karol Lewandowski [Wed, 22 May 2019 09:27:17 +0000 (11:27 +0200)]
Move hardcoded paths back to .spec file
Change-Id: I50a83ba1a19088608200f1ef9ce83649cc53af68
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
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
Mateusz Moscicki [Wed, 8 May 2019 10:27:18 +0000 (12:27 +0200)]
Use getopt to parse command line arguments
Change-Id: If8fcb875d19f4547348b72341e342251cb8b7fb2
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
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
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
Karol Lewandowski [Fri, 26 Apr 2019 13:48:32 +0000 (15:48 +0200)]
system tests: add `dump_systemstate -e' test
Change-Id: I4fa93d87bffaf2178b213eda2861a2522ce531ad
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>
Karol Lewandowski [Thu, 25 Apr 2019 11:31:43 +0000 (13:31 +0200)]
Split dbus-notify-send from crash-manager
Change-Id: I12b9a6b513fba53335eee71bf10c5c2b83ca3349
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
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
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
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>
Karol Lewandowski [Thu, 18 Apr 2019 13:24:59 +0000 (13:24 +0000)]
Merge "shared utils: add a string suffix checker" 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/
Karol Lewandowski [Wed, 17 Apr 2019 14:06:55 +0000 (16:06 +0200)]
log_dump: Honour CrashRootPath from config
Change-Id: I738e241a1fbb12447f32fcc7f963a8185eec0f12
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
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
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>
Mateusz Moscicki [Tue, 16 Apr 2019 14:32:31 +0000 (16:32 +0200)]
Fix get application name from path
Change-Id: Icaa926c23ebc52af502ccb94e35090008281be95
Karol Lewandowski [Tue, 26 Mar 2019 14:00:42 +0000 (15:00 +0100)]
Introduce defs.h with all cmake variables
Change-Id: Ic3fb4f3d6074b896f7601d07a7a93cb96f9e8727
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>
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
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
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
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
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
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
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
Mateusz Moscicki [Wed, 27 Feb 2019 12:13:48 +0000 (13:13 +0100)]
Simplify CMakeFile.txt
Change-Id: I1d07b518a88c057c726f5a110a53620e3941741e
Karol Lewandowski [Wed, 27 Feb 2019 10:52:23 +0000 (11:52 +0100)]
system tests: ensure core pattern is always restored
Change-Id: Id8cd30af058da8cbc23844ec7314d8a488644807
Karol Lewandowski [Tue, 26 Feb 2019 15:34:22 +0000 (16:34 +0100)]
system tests: ensure needed variables are always available
Change-Id: Ia4700100cfc849976dd7fa6c84b92b66f393d7d9
Karol Lewandowski [Tue, 26 Feb 2019 13:18:38 +0000 (14:18 +0100)]
system tests: add basic crash report sanity test
Change-Id: I2fbe5f35a7a1cb7d93a3bf895ffd4cec1f6d0c6f
Karol Lewandowski [Tue, 26 Feb 2019 15:19:03 +0000 (16:19 +0100)]
system tests: log_dump: fix multiple issues
Fixes:
- invalid crash report existence tests
- lack of bash dependency in one test
- non-unique test file used
Change-Id: Iee9c7c9592054008c5e3bfd23e90e0c09f6e849b
Mateusz Moscicki [Wed, 27 Feb 2019 08:00:12 +0000 (09:00 +0100)]
Fill the list of tests in the run.sh
Change-Id: Ic97f82a710a89b11ef5a7f33049bb160fc6152c0
Mateusz Moscicki [Wed, 27 Feb 2019 09:45:45 +0000 (10:45 +0100)]
Fix after change of default coredump format
* Update system tests
* Fix remove coredump if DumpCore is set to 0
Change-Id: Ic0254f8592b1951b72866ae588fe83954646c0b7
Karol Lewandowski [Fri, 22 Feb 2019 14:22:42 +0000 (15:22 +0100)]
util: Add make_dir
There is no need to call mkdir(1) for simple cases.
Change-Id: Iae4aeff8d78420f5093d946fbfe0daeb7a339b13
Karol Lewandowski [Thu, 21 Feb 2019 15:36:45 +0000 (16:36 +0100)]
system tests: add basic log_dump tests
Change-Id: Ibcbf680ba2b4c105d66c9f0c93acf6aaababe375
Karol Lewandowski [Thu, 21 Feb 2019 15:34:57 +0000 (16:34 +0100)]
system tests: rationalize naming
Change-Id: I21d22e7cba27ce4ede716573056946bf3cd3ddd6
Karol Lewandowski [Thu, 21 Feb 2019 14:55:19 +0000 (15:55 +0100)]
system tests: scripts depend on bash extensions
Even if given script does not explicitly use bash extensions it
sources minicore-utils.sh, which do require bash.
Change-Id: I1689531bf9f9a60f0e2c607dad504d92c5419fba
Karol Lewandowski [Tue, 19 Feb 2019 12:23:59 +0000 (13:23 +0100)]
Release 5.5.8
This change brings on Coverity fix.
Change-Id: I8da5e50276189c609a70712d3d652f44237346d5
Karol Lewandowski [Tue, 19 Feb 2019 12:04:34 +0000 (13:04 +0100)]
crash-manager: Fix error checking for pkgmgrinfo*() invocation
This commit fixes 'unchecked return value' as reported by coverity.
Change-Id: I8c31504fd03826862f85df5ff24d7752a12262e9
Karol Lewandowski [Thu, 14 Feb 2019 14:41:44 +0000 (15:41 +0100)]
Release 5.5.7
This release brings following changes:
- Fix allocation size mismatch (SVACE fix)
- log_dump: change permission of service file
Change-Id: I8ca897471a727b811d62baa323c7a166ff40412a
Mateusz Moscicki [Tue, 12 Feb 2019 13:48:10 +0000 (14:48 +0100)]
Fix allocation size mismatch
Change-Id: Iee761aafd7f7cb63d12acc48345519faba821536
Sunmin Lee [Fri, 1 Feb 2019 08:22:58 +0000 (17:22 +0900)]
log_dump: change permission of service file
The systemd service file should be set to root ownership.
Change-Id: I27978116c0b6f1c782285a604e30ee093999166b
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
Karol Lewandowski [Thu, 17 Jan 2019 15:20:23 +0000 (16:20 +0100)]
Release 5.5.6
This release adds information about crashed application (.tpk)
to .so_info file.
Additionally, one svace issue is fixed.
Change-Id: I0ce18e1c47906df26bc996960681685a33f88c89
Karol Lewandowski [Thu, 17 Jan 2019 15:19:16 +0000 (15:19 +0000)]
Merge "svace: fix closing potentially negative fd" into tizen
Mateusz Moscicki [Mon, 14 Jan 2019 12:41:50 +0000 (13:41 +0100)]
Add support for tpk packages
Change-Id: Ic625678478e3dc888bea786bb203ef021c579228
Karol Lewandowski [Thu, 17 Jan 2019 11:38:48 +0000 (12:38 +0100)]
svace: fix closing potentially negative fd
This commit fixes following issue reported by svace:
"Variable 'cinfo.prstatus_fd', which may receive negative value at
crash-manager.c:588 by calling function 'set_crash_info' at
crash-manager.c:1267, is used at crash-manager.c:1332 by calling
function 'close'."
Change-Id: Ie625bc8ac5eb16a84bb7b139b569c6189e1a5e25
Karol Lewandowski [Tue, 18 Dec 2018 11:25:56 +0000 (12:25 +0100)]
Release 5.5.5
This release brings one change - DLog format specifier fixes for 64-bit
architecures.
Change-Id: I443faa5a06afb9c272c953360e0f85cbf913f7db
Karol Lewandowski [Tue, 18 Dec 2018 11:15:40 +0000 (12:15 +0100)]
Fix DLog format specifier for 64-bit architecures
Change-Id: I3f29eb0dc3e5081843f0c982dab92cd45aad1364
Karol Lewandowski [Fri, 14 Dec 2018 15:08:46 +0000 (16:08 +0100)]
Release 5.5.4
This release brings following fixes:
- fix DLog format specifier (needed if DLog start enforcing valid
printf-formats)
- fix: Make disk-usage functions use off_t
- relability fix: crash-manager: Do not force system to wait for
crash-popup to complete
Change-Id: I733f09298c34c1c7824f57dfa156f23cf9196947
Karol Lewandowski [Fri, 7 Dec 2018 10:02:24 +0000 (11:02 +0100)]
crash-stack: Fix format specifier
Change-Id: Ifdc4a229275b866f5718f0779b1a9cba01d7b1ea
Karol Lewandowski [Fri, 7 Dec 2018 10:02:06 +0000 (11:02 +0100)]
Make disk-usage functions use off_t
The off_t is the same type that stat(2) uses and it's widest type
that can actually hold information real disk usage.
Change-Id: Id4b5d1160bdecafb065cf6792274c255619817fc
Karol Lewandowski [Thu, 22 Nov 2018 19:34:17 +0000 (20:34 +0100)]
crash-manager: Do not force system to wait for crash-popup to complete
Calling crash-popup is synchronous, meaning that call has to complete
for crash-manager to complete, releasing core pipe descriptor - which
allows another crash to be handled.
This commit releases the core pipe descriptor allowing another crash
to be handled before popup is shown.
Change-Id: Iea08efc6318960ee43bb5494eaff42636529ec17
Karol Lewandowski [Fri, 23 Nov 2018 16:04:11 +0000 (17:04 +0100)]
Release 5.5.3
This release brings full suite of system tests, verified on TM1, Odroid,
32-bit emulator.
Addtionaly, this commit sets fs.suid_dumpable=2 sysctl to ensure all
processes are subject to core dumping.
Change-Id: I0d7142a42ef580ce1cb11c9d246c267438fb299c
Karol Lewandowski [Fri, 23 Nov 2018 16:01:27 +0000 (16:01 +0000)]
Merge "Add system tests" into tizen
Karol Lewandowski [Thu, 22 Nov 2018 17:49:36 +0000 (18:49 +0100)]
Drop unused service files
This commit removes unused service files originally disabled in
commit
9ef91ff21 ("Fix bugs [..] - Do not install unused services:
tizen-debug-on/off").
Change-Id: Icb41586586106a427524f1c8eddfdedc23d53f93
Karol Lewandowski [Thu, 22 Nov 2018 17:44:03 +0000 (18:44 +0100)]
sysctl: Set fs.suid_dumpable=2 for release builds
This commit enables dumping all processes - including those considered
by kernel as "suid".
Process is considered "suid" not only when it does (among other)
setuid/setgid but also when Capabilities are defined in systemd
unit. With suid_dumpable=0 crash of such "suid" processes would
not trigger execution of crash-worker by the kernel.
Please see suid_dumpable description in proc(5) for full explanation
what kernel considers "suid".
Change-Id: I067355ba651507b35ef7c8d23245443184b670cf
Mateusz Moscicki [Mon, 5 Nov 2018 12:46:03 +0000 (13:46 +0100)]
Add system tests
Change-Id: I9db485028d328bcc43e3bc4626c24a7f1a844f53
Karol Lewandowski [Fri, 16 Nov 2018 15:34:31 +0000 (16:34 +0100)]
Release 5.5.2
This version brings one major change - from now on buxton2ctl is used
instead of vconftool to dump the internal database (buxton is the
backend used by vconf anyway). The reason for this change is
inefficency of vconftool utility, for details see commit 5991e4b
("dump_systemstate: Replace extremely inefficient vconftool with
buxton2ctl").
Minor improvements include:
- util: Add fsync_path to selectively flush file buffer to disk
- util: Fix and replace nullvec2str utility function with concatenate()
- Define _GNU_SOURCE once for whole codebase
- packaging: Drop unused variables from cmake invocation
- util: Unify function calling convention to specify destination first
- util: copy_bytes: Multiple changes
Change-Id: I260c34576783ee0dfa79c9b704939b943dfa0515
Karol Lewandowski [Thu, 20 Sep 2018 19:32:11 +0000 (21:32 +0200)]
dump_systemstate: Replace extremely inefficient vconftool with buxton2ctl
vconftool and buxton2ctl access the same data. vconftool is shell script
which under the hood uses buxton2ctl. However, it does so in very inefficient
manner - to get the keys it calls buxton2ctl once, but to get key values
it calls buxton2ctl for each key. This causes it to fork
On TM1 target with 548 keys in "db/" this means 548 fork & buxton2ctl execs.
buxton2ctl gets the data from server via socket connection, meaning that
it needs to connect & write request and wait for response.
All of this together sums up to absurd - `buxton2ctl dump system` takes ~50ms,
while `vconftool get db/ -r` takes more than 12seconds - which is roughly
250 times slower!
sh-3.2# time buxton2ctl dump system >/dev/null
real 0m0.050s
user 0m0.040s
sys 0m0.000s
sh-3.2# time vconftool get db/ -r >/dev/null
real 0m12.344s
user 0m0.560s
sys 0m1.190s
With this change applied, dump_systemstate invocation time drops from
13seconds to 1.5-2sec (without logs), and from 13 seconds to 3-4secs (with
logs, ie. -k -d -j options).
Change-Id: I0cb042d18e5322d8246bf03ee142117217c83b4c
Karol Lewandowski [Wed, 7 Nov 2018 11:58:19 +0000 (12:58 +0100)]
util: Add fsync_path to selectively flush file buffer to disk
Change-Id: I3cd9169dafff33cdfbaf1c21955c37d38a524fae
Karol Lewandowski [Tue, 6 Nov 2018 23:21:26 +0000 (00:21 +0100)]
util: Fix and replace nullvec2str utility function with concatenate()
Multiple issues were found and fixed in previously-unused nullvec2str
function, including major problem with possible stack corruption via
long parameters.
This commit completely rewrites the function to dynamically resize the
buffer while appending new parameters to avoid previous problems.
Additionally, name is changed to somewhat more developer friendly name.
Influenced-by: Mateusz Mościcki and Michał Bloch
Change-Id: Ia97e3851bb4b5779a14704098752e3644c487f0b
Karol Lewandowski [Wed, 3 Oct 2018 11:59:18 +0000 (13:59 +0200)]
Define _GNU_SOURCE once for whole codebase
There is no need to repeat this in every file.
Change-Id: Ia788840d819b8d72122296a5e5d64aa2a7c3cb40
Karol Lewandowski [Wed, 3 Oct 2018 11:40:13 +0000 (13:40 +0200)]
packaging: Drop unused variables from cmake invocation
Ideally, crash-worker codebase should not know about
any of TZ_ vars - as all needed paths should be specified
explicitly from the .spec.
Change-Id: Id80fe0ae5f93940ce49bbe11903723a00f0261f0
Karol Lewandowski [Wed, 7 Nov 2018 11:00:18 +0000 (12:00 +0100)]
util: Unify function calling convention to specify destination first
This commit adjusts signature of copy_file(), move_file() and
dump_file_write_fd() to specify destination first, source second.
This in line with rest of codebase.
Change-Id: I81285cda73d43ff2428ea5daf7ad27676e51ca8a
Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com>
Karol Lewandowski [Wed, 3 Oct 2018 11:36:17 +0000 (13:36 +0200)]
util: copy_bytes: Multiple changes
- Use max possible buffer size for sendfile()
The fewer we call sendfile() the better (performance)
- Provide read()/write() fallback when sendfile will
not work (eg. copying data from pipe to pipe)
- Add third argument with number of copied bytes. This is
to avoid mixing error code (negative) with transferred size.
- Make API available for rest of codebase
Change-Id: If80feb578b01fb715008a20e7c000c5ede9b62a1
Karol Lewandowski [Mon, 5 Nov 2018 13:02:41 +0000 (14:02 +0100)]
Release 5.5.1
Version bump due to Tizen 5.0 M2 release & corresponding branching
repo to additional tizen_5.0 line.
This version contains one fix for /proc/<PID>/maps parsing (not present
in tizen_5.0).
Change-Id: Ibbfebbd05b54bd81a0c55dafa357720ddfeb71cb
Mateusz Moscicki [Mon, 5 Nov 2018 10:39:40 +0000 (11:39 +0100)]
crash-stack: Fix a /proc/<pid>/maps file parsing
Change-Id: If164f3bf5cfaf7eefc68d992d90ff4110b52ca04
Mateusz Moscicki [Wed, 31 Oct 2018 13:04:09 +0000 (14:04 +0100)]
Release 5.0.8
Changes:
- Handle spaces in the crashed app pathname and in the maps file
- Don't interrupt the dump_systemstate if any of subcommands return
an error
Change-Id: Ifc81df710c4441cbc63b42e719102e50f44b138b
Mateusz Moscicki [Wed, 17 Oct 2018 11:23:29 +0000 (13:23 +0200)]
dump_systemstate: Continue dumping after failure of a subcommand
Change-Id: I7c0481984fbb9c04b26f913fb25208b11f9d6869
Mateusz Moscicki [Mon, 15 Oct 2018 11:43:15 +0000 (13:43 +0200)]
Handle spaces in the crashed app pathname and in the maps file
Change-Id: I98ff537cab9c37b78dc3f3056a375fd10461b7ea
Mateusz Mo?cicki [Fri, 19 Oct 2018 15:14:08 +0000 (15:14 +0000)]
Merge "crash-manager: Do not make temporary copy of crashed process maps" into tizen
Łukasz Stelmach [Tue, 16 Oct 2018 11:33:07 +0000 (11:33 +0000)]
Merge "Do not copy source files, it breaks SCQV process" into tizen
Karol Lewandowski [Wed, 3 Oct 2018 11:14:20 +0000 (13:14 +0200)]
crash-manager: Do not make temporary copy of crashed process maps
It was needed when crash-worker used (now removed) ptrace
-based crash-stack, which woken up crashed process, causing
/proc/<PID>/ entries to disappear.
Change-Id: Iec344e6c3b9d7d12979173dea530684573a0761d
Karol Lewandowski [Wed, 3 Oct 2018 13:44:20 +0000 (15:44 +0200)]
Release 5.0.7
This release brings one addtional fix for indexing array with negative
index bug.
Change-Id: I9e49379a68f4839256d1df26e42b144b6ed6a708
Karol Lewandowski [Wed, 3 Oct 2018 13:43:16 +0000 (15:43 +0200)]
Fix: Another instance of indexing array with negative index
Issue reported by Coverity.
Change-Id: Ida7f3106d650f48d5fff7e976f1bbc0df0fdc308
Karol Lewandowski [Wed, 3 Oct 2018 09:35:46 +0000 (11:35 +0200)]
Release 5.0.6
This change brings one fix and set of assorted cleanups:
- Fix: Do not index buffer[] with negative index in case of read failure
- util: Remove unused file_exist()
- util: Allow functions to be called from c++
- util: Add nullvec2str
- util: Remove unused cat_file()
- util: Dead code removal
- crash-manager: Use same constant for minicoredumper, crash-stack and zip command timeouts
Change-Id: I46fbdea06ad36f06116751c5f14105350569cad5
Karol Lewandowski [Wed, 3 Oct 2018 09:29:30 +0000 (11:29 +0200)]
Fix: Do not index buffer[] with negative index in case of read failure
Issue reported by Coverity.
Change-Id: Ie9cd66d2801770a096bb1849d11c860533508174
Karol Lewandowski [Wed, 3 Oct 2018 09:27:57 +0000 (11:27 +0200)]
util: Remove unused file_exist()
Change-Id: I1e20fc6cd55c9685db304a9aa40b58af56df0c00
Karol Lewandowski [Tue, 25 Sep 2018 11:38:58 +0000 (13:38 +0200)]
util: Allow functions to be called from c++
Change-Id: If4dc6b6e494096713e76a1345ab3753a6914e1c2
Karol Lewandowski [Wed, 3 Oct 2018 09:15:31 +0000 (11:15 +0200)]
util: Add nullvec2str
This function will be used to convert char *arr[] arrays
(like argv[] and envp[]) arrays to simple strings.
Change-Id: I352f2cc35ee5f06f6a9e6bc81b45702ea11f711d
Karol Lewandowski [Tue, 25 Sep 2018 11:13:32 +0000 (13:13 +0200)]
util: Remove unused cat_file()
Change-Id: Ie56ce502a4a1d6ca27574bf7f05b0f097079eaa2
Łukasz Stelmach [Thu, 27 Sep 2018 08:01:35 +0000 (10:01 +0200)]
Do not copy source files, it breaks SCQV process
Change-Id: Id9a7c450e67a67c366a937ad4337833f34404a3a
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
Karol Lewandowski [Thu, 20 Sep 2018 09:55:38 +0000 (11:55 +0200)]
util: Dead code removal
Change-Id: I42bd0466c365c84b0720291504e10d86cb9859fe
Karol Lewandowski [Fri, 14 Sep 2018 21:42:34 +0000 (23:42 +0200)]
crash-manager: Use same constant for minicoredumper, crash-stack and zip command timeouts
Change-Id: I50d41e850d32cf40ee403f93020db67700002d3c