Re: Setting bs could lead to some double free or segfault

From: Erwan Velu <erwan_at_seanodes.com>
Date: Fri, 20 Jul 2007 13:11:29 +0200

Jens Axboe wrote:
> [...]
> It works here, can you generate the core dump like described yesterday
> and show in gdb where it traps?
>
[root_at_max1 ~]# ulimit -c100000000
[root_at_max1 ~]# /home/build/rpm/BUILD/fio/fio asimplejob.fio
File size limit exceeded (core dumped)
[root_at_max1 ~]#

Using the procedure you gave I was unable to have a core file ... Its
size is 0 :/

So I directly called fio (compiled without -02) with gdb.

[root_at_max1 ~]# gdb /home/build/rpm/BUILD/fio/fio
GNU gdb 6.3-5mdk (Mandriva Linux release 2006.0)
[....]
This GDB was configured as "x86_64-mandriva-linux-gnu"...Using host
libthread_db library "/lib64/tls/libthread_db.so.1".

(gdb) run "asimplejob.fio"
Starting program: /home/build/rpm/BUILD/fio/fio "asimplejob.fio"
[Thread debugging using libthread_db enabled]
[New Thread 46912505342720 (LWP 20211)]

Program received signal SIGXFSZ, File size limit exceeded.
[Switching to Thread 46912505342720 (LWP 20211)]
0x00002aaaab200dd9 in ftruncate64 () from /lib64/tls/libc.so.6
(gdb) bt
#0 0x00002aaaab200dd9 in ftruncate64 () from /lib64/tls/libc.so.6
#1 0x0000000000417e02 in fio_sem_init (value=0) at mutex.c:30
#2 0x000000000040a0a9 in add_job (td=0x2aaaab378000, jobname=0x5362e0
"job1", job_add_num=0) at init.c:442
#3 0x000000000040a964 in parse_jobs_ini (file=0x535050
"asimplejob.fio", stonewall_flag=0) at init.c:642
#4 0x000000000040b128 in parse_options (argc=2, argv=0x7fffff9ff578) at
init.c:851
#5 0x00000000004080ca in main (argc=2, argv=0x7fffff9ff578) at fio.c:1249
(gdb)

My job was

[global]
# Type of io we'd like to execute
# could be read, write, randwrite, randread, rw, randrw
rw=read

# The amount of IOs we like to generate
size=16m

# The IO engine we use
# could be sync, libaio, posixaio, mmap, splice, syslet-rw, sg, null,
# net, netsplice, cpu, quasi, external
ioengine=sync

# How many IO we'd like to keep in flight against the file.
iodepth=1

# Does the IOs should be O_DIRECT ?
direct=0

#the file/block device we'd like to test
#filename="/dev/sda"
filename=testfile.fio

[job1]
description="A sequential read @ 0k"
bs=0k
Received on Fri Jul 20 2007 - 13:11:29 CEST

This archive was generated by hypermail 2.2.0 : Fri Jul 20 2007 - 13:30:01 CEST