On 12/12/18 11:33 PM, Sitsofe Wheeler wrote: > Hi, > > On Wed, 12 Dec 2018 at 13:43, Mohan Mohan <mohan@xxxxxxxxxx> wrote: >> >> I am testing fio with bs ranges 1k-10k 2k-10k 3k-10k 4k-10k 5k-10k 6k-10k. >> >> The test works fine for the below run: >> fio --name=App2 --size=10m --rw=read --blocksize_range=1k-10k >> # fio --name=App2 --size=10m --rw=read --blocksize_range=2k-10k >> # fio --name=App2 --size=10m --rw=read --blocksize_range=5k-10k >> >> But error throws on below runs >> # fio --name=App2 --size=10m --rw=read --blocksize_range=3k-10k >> # fio --name=App2 --size=10m --rw=read --blocksize_range=4k-10k >> # fio --name=App2 --size=10m --rw=read --blocksize_range=6k-10k >> >> App2: (g=0): rw=read, bs=(R) 3072B-10.0KiB, (W) 3072B-10.0KiB, (T) 3072B-10.0KiB, ioengine=psync, iodepth=1 >> fio-3.12-17-g0fcbc0 >> Starting 1 process >> *** Error in `fio': double free or corruption (!prev): 0x0000555f92a80a60 *** >> fio: pid=1468, got signal=6 > > [snip] > >> I believe the expected test has run properly but why the error has thrown for the particular ranges. > > This is a real bug and it's occurring because the end of the range is > not a multiple of the start of the range (10k is a multiple of 1k but > 10k is not a multiple of 3k). I've reproduced it here: Oops, I'll take a look at this one, thanks for reporting. -- Jens Axboe