|
Description
|
filebench can core dump (a lot of cores) if running an oltp profile like:
/path/to/go_filebench << EOF
load oltp
debug 2
set $dir=${FILESYSTEM}
set $filesize=50m
set $nshadows=2
set $ndbwriters=1
create files
create processes
stats clear
sleep 30
stats snap
stats dump "stats.oltp.${FSTYPE}"
shutdown processes
quit
EOF
The above profile can give four cores from the shadow and nbwriter processes.
Fix is to be sure 'create filesets' is there after 'create files'.
This looks to just need some error handling within filebench. The profile
just doesn't tell filebench to create the files needed, it then spawns off
the worker process who expect the files to be in $dir/..., don't get them and core.
Some email extracts:
Subject: Re: running go_filebench standalone ?
Sean,
The fundamental problem is that oltp.f uses filesets, not files. Since
you didn't do a "create filesets" there aren't any for oltp.f's flowops
to use.
The filebench perl script always puts in both "create files" and
"create filesets" into the intermediate script. Hence, if you use it you
will never see the error you are seeing. Also, I am changing the
implementation of go_filebench so that all "files" will actually be
represented as filesets anyway, and hence doing either "create files" or
"create filesets" will create everything file like (and it won't hurt to
both, but only the first one done will take effect). Whew...
Would be interesting to see what happens if a fileset is used that
wasn't even defined. If that causes a core dump, then definitely file a
bug. Go_filebench should have be checking for failure to create
filesets, even with the new code, and do something nicer than core dump.
Please file a bug around that.
Drew
|