On 12/13/18 6:50 AM, Jens Axboe wrote: > 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. Pushed out a fix for this. -- Jens Axboe