[Announce] Fault injection in upcoming strace 4.15

Eugene Syromyatnikov evgsyr at gmail.com
Wed Nov 16 23:16:28 UTC 2016


This summer, as a part of his GSoC 2016 project, Nahim El Atmani has
implemented[1] a prototype of syscall fault injection. Fault injection is a
testing/debugging technique which tampers the system calls made by a program in
order to check (correctness of) program's behaviour in presence of errors.
In case of strace, syscalls are mangled in order to return failures of different
kinds (with a kind of failure signalled by appropriate errno).

Now, this feature has been finally merged into strace's master branch and going
to be part of the upcoming 4.15 release, which is expected somewhere in the
beginning on December (as some may recall, strace's release cycle is now
synchronised with kernel releases). Since this functionality is rather
unorthodox in comparison with other features already present in strace, strace's
development team encourages all enthusiastic strace users to give it a try in
order to determine its readiness for the upcoming release. More specifically:
 * Check out the provided documentation. Whether it is clear enough? If not,
   please suggest improvements.
 * Try to actually use it. During the course of its development, fault injection
   already enabled discovery of several bugs ([2], for example), and any
   feedback regarding various usage cases is appreciated.
 * Try it on different architectures. It has been tested on aarch64, alpha, arm,
   hppa, ia64, ppc, ppc64, s390, s390x, sparc, sparc64, x32, x86, and x86_64;
   other architectures are still untested.

How to get it:
 * Check out master branch of strace repository[3][4].
 * Install package from Fedora rawhide[5].
 * Install package from OBS[6].

---
[1] https://brokenpi.pe/tools/strace-fault-injection
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=20831
[3] https://sourceforge.net/p/strace/code/ci/master/tree/
[4] https://github.com/strace/strace
[5] https://apps.fedoraproject.org/packages/strace
[6] https://build.opensuse.org/package/show/home:ldv_alt/strace/




More information about the Strace-devel mailing list