[PATCH 3/4] Introduce syscall fault injection feature

Nahim El Atmani nahim+dev at naam.me
Tue Aug 16 12:38:16 UTC 2016


Hello,

On Thu, 11 Aug 2016 23:50:28 +0300, Dmitry V. Levin wrote:
> Date: Thu, 11 Aug 2016 23:50:28 +0300
> From: "Dmitry V. Levin" <ldv at altlinux.org>
> To: strace-devel at lists.sourceforge.net
> Subject: Re: [PATCH 3/4] Introduce syscall fault injection feature
> Message-ID: <20160811205028.GA2033 at altlinux.org>
> In-Reply-To: <20160811155107.ldwjg2lwwtdx2ifo at Bane>
> List-Id: strace development list <strace-devel.lists.sourceforge.net>
> 
> On Thu, Aug 11, 2016 at 05:51:07PM +0200, Nahim El Atmani wrote:
> [...]
> > Ok, let's take a small example to see why neither letting the accounting
> > information in a global scope nor letting the flag as it in the tcp does work.
> > If we have two tracees, and we want to cancel the second write *each* of them
> > may issue, we will end up doing something like:
> 
> Are you are going to implement fault injection of each Nth syscall on
> per-tracee basic?  This is surely going to be more complicated than
> global Nth fault injection.  What are the benefits?  Reproducibility?

Yes, that is what I planned to do. I think this behavior - from a user point
of view - is more intuitive. When you have multiple tracees I believe applying
per-tracee fault injection is what one expects. Moreover, the global settings
design is subject to race conditions by design on the tracee side. In fact one
does not have any reliable way to inject fault on the nth syscall if another
tracee is issuing syscall at the same time.

-- 
Nahim El Atmani <nahim+dev at naam.me>
http://naam.me/




More information about the Strace-devel mailing list