Re: engines/sync.c:26, func=lseek, error=Bad file descriptor and an Assertion

From: Jens Axboe <jens.axboe_at_oracle.com>
Date: Tue, 22 May 2007 10:50:41 +0200

On Tue, May 22 2007, peter wrote:
> Hello,
>
> I just came across fio, and I want to use it to do some iSCSI tests with
> the iet target and the iscsi initiator in Centos 5 / RHEL 5.
>
> Versions tried: 1.16 and latest git snapshot from today.
>
> During some non-iSCSI related testing (that is, using a local ext3
> filesystem under LVM on top of software RAID5), I repeatedly got:
>
> fio: pid=17522, err=9/file:engines/sync.c:26, func=lseek, error=Bad
> file descriptor
>
> just before the job output. fio exits with code 1 in this case. This
> happens on both Centos 4.2 and Centos 5 based systems.
>
> I'm using the following job file:
>
> [global]
> size=128m
>
> [job1]
> rw=rw
> verify=md5
> randrepeat=1
> fadvise_hint=0
>
>
> Sometimes (not easily reproducable) I even get:
>
> fio: ioengines.c:188: td_io_queue: Assertion `io_u->file->flags &
> FIO_FILE_OPEN' failed.
>
> So two questions arise:
>
> * Is this a bug in fio?
> * Is this a bug in the linux kernel or filesystem?
>
> Personally, I hope it is the former....

It's definitely a fio bug.

> Any other information I can provide?

No I think your report is fine, I can even reproduce it here. It looks
like the io verification doesn't get the file(s) re-opened properly,
hence it throws that error. The two different things you see are
essentially the same problem, it's just a question of timing which one
you hit.

I'll cook up a fix.

-- 
Jens Axboe
Received on Tue May 22 2007 - 10:50:41 CEST

This archive was generated by hypermail 2.2.0 : Tue May 22 2007 - 11:00:01 CEST