Re: Internal error xfs_trans_cancel

From: Dave Chinner
Date: Wed Jun 01 2016 - 20:27:15 EST


On Wed, Jun 01, 2016 at 04:13:10PM +0200, Daniel Wagner wrote:
> >> Anything in the log before this?
> >
> > Just the usual stuff, as I remember. Sorry, I haven't copied the whole log.
>
> Just triggered it again. My steps for it are:
>
> - run all lockperf test
>
> git://git.samba.org/jlayton/lockperf.git
>
> via my test script:
>
> #!/bin/sh
>
> run_tests () {
.....
> for c in `seq 8 32 128`; do
> for l in `seq 100 100 500`; do
> time run_tests "posix01 -n $c -l $l " $DIR/posix01-$c-$l.data
> time run_tests "posix02 -n $c -l $l " $DIR/posix02-$c-$l.data
> time run_tests "posix03 -n $c -l $l " $DIR/posix03-$c-$l.data
> time run_tests "posix04 -n $c -l $l " $DIR/posix04-$c-$l.data

posix03 and posix04 just emit error messages:

posix04 -n 40 -l 100
posix04: invalid option -- 'l'
posix04: Usage: posix04 [-i iterations] [-n nr_children] [-s] <filename>
.....


So I changed them to run "-i $l" instead, and that has a somewhat
undesired effect:

static void
kill_children()
{
siginfo_t infop;

signal(SIGINT, SIG_IGN);
>>>>> kill(0, SIGINT);
while (waitid(P_ALL, 0, &infop, WEXITED) != -1);
}

Yeah, it sends a SIGINT to everything with a process group id. It
kills the parent shell:

$ ./run-lockperf-tests.sh /mnt/scratch/
pid 9597's current affinity list: 0-15
pid 9597's new affinity list: 0,4,8,12
sh: 1: cannot create /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor: Directory nonexistent
posix01 -n 8 -l 100
posix02 -n 8 -l 100
posix03 -n 8 -i 100

$

So, I've just removed those tests from your script. I'll see if I
have any luck with reproducing the problem now.

Cheers,

Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx