SegFault while starting Oracle database bench

Bug #1231323 reported by DAGET Thomas
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
sysbench
New
Undecided
Unassigned

Bug Description

Hi,
I'm working on a redhat system. I need to bench some Oracle database so I get to compile a Sysbench 0.4.12 for this.

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.4 (Tikanga)

Some env variables :
LD_LIBRARY_PATH=/opt/mysql/lib:/oracle/ora11g/lib: ... and more again ...
ORACLE_HOME=/oracle/ora11g
OSTYPE=linux-gnu
PATH=/opt/mysql/bin:/oracle/ora11g/bin:/usr/local/bin:/bin:/usr/bin: ... and more again ...

In order to compile this I execute folowing steps :
$ cd sysbench-0.4.12
$ export CC=cc
$ export CXX=c++export CFLAGS="-m64 -I /oracle/ora11g/rdbms/public"
$ export CXXFLAGS="$CFLAGS"
$ export LD_LIBRARY_PATH=/oracle/ora11g/rdbms/public:/oracle/ora11g/lib:$LD_LIBRARY_PATH
$ export SHLIB_PATH=/oracle/ora11g/lib:$SHLIB_PATH
$ export CPPFLAGS="-I/oracle/ora11g/rdbms/public"
$ export LDFLAGS="-L/oracle/ora11g/lib"
$ ./configure --prefix=/opt/sysbench --with-mysql --with-oracle --with-mysql-includes=/opt/mysql/include --with-mysql-libs=/opt/mysql/lib
$ make
$ make install
and it produce the wanted folder structure and files.

For Mysql database, all bench process ("prepare", "run" and " cleanup") run fine.
For Oracle database, "prepare" and "cleanup" steps run fine without any error message.

But "run" step will fail with a 'Segmentation fault' fatal message

$ /opt/sysbench/bin/sysbench --test=oltp --db-driver=oracle --oracle-user=bench --oracle-password=benchbench01 --oracle-db=jde9dv --oltp-table-size=10000 --num-threads=16 --max-requests=10000 --debug=on run
sysbench 0.4.12: multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 16
Debug mode enabled.

Doing OLTP test.
Running mixed OLTP test
Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases)
Using "BEGIN" for starting transactions
Using auto_inc on the id column
Maximum number of requests for OLTP test is limited to 10000
DEBUG: Runner thread started (0)!
DEBUG: Runner thread started (1)!
DEBUG: Runner thread started (2)!
DEBUG: Runner thread started (3)!
DEBUG: Runner thread started (4)!
DEBUG: Runner thread started (5)!
DEBUG: Runner thread started (6)!
Threads started!
Segmentation fault

Revision history for this message
DAGET Thomas (tdaget) wrote :
Download full text (115.5 KiB)

Hi,
I'm not fluent with debugging tools for C code but I found the strace utility:

strace -f -F -v -o /home/dba/sysbenchtrace ./sysbench --test=oltp --db-driver=oracle --oracle-user=bench --oracle-password=benchbench01 --oracle-db=jde9dv --oltp-table-size=10000 --num-threads=3 --max-requests=1000 --debug=on --verbosity=5 run

25154 execve("./sysbench", ["./sysbench", "--test=oltp", "--db-driver=oracle", "--oracle-user=bench", "--oracle-password=benchbench01", "--oracle-db=jde9dv", "--oltp-table-size=10000", "--num-threads=3", "--max-requests=1000", "--debug=on", "--verbosity=5", "run"], ["HOSTNAME=dev-web01", "M2=/opt/maven/bin", "TERM=xterm", "SHELL=/bin/bash", "HISTSIZE=1000", "KDE_NO_IPV6=1", "SSH_CLIENT=172.17.6.212 51781 22", "OLDPWD=/home/dba", "SSH_TTY=/dev/pts/1", "ANT_HOME=/opt/ant", "CC_HOME=/opt/cruisecontrol", "http_proxy=http://172.16.32.252:", "USER=dba", "LD_LIBRARY_PATH=/opt/mysql/lib:/", "LS_COLORS=no=00:fi=00:di=00;34:l", "KDEDIR=/usr", "MAVEN_OPTS=-Xms256m -Xmx512m", "MAIL=/var/spool/mail/dba", "PATH=/opt/libreoffice3.6/program", "INPUTRC=/etc/inputrc", "PWD=/opt/sysbench/bin", "JAVA_HOME=/usr/java/jdk1.6.0_43", "LANG=C", "KDE_IS_PRELINKED=1", "SSH_ASKPASS=/usr/libexec/openssh", "M2_HOME=/opt/maven", "SHLVL=1", "HOME=/home/dba", "no_proxy=localhost,.vetoquinol,.", "LOGNAME=dba", "CVS_RSH=ssh", "SSH_CONNECTION=172.17.6.212 5178", "LESSOPEN=|/usr/bin/lesspipe.sh %", "ORACLE_HOME=/oracle/ora11g", "G_BROKEN_FILENAMES=1", "_=/usr/bin/strace"]) = 0
25154 brk(0) = 0xc0f8000
25154 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2abdadc9d000
25154 uname({sysname="Linux", nodename="dev-web01", release="2.6.18-164.el5", version="#1 SMP Tue Aug 18 15:51:48 EDT 2009", machine="x86_64"}) = 0
25154 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
25154 open("/opt/mysql/lib/tls/x86_64/libmysqlclient.so.18", O_RDONLY) = -1 ENOENT (No such file or directory)
25154 stat("/opt/mysql/lib/tls/x86_64", 0x7fff4fc52990) = -1 ENOENT (No such file or directory)
25154 open("/opt/mysql/lib/tls/libmysqlclient.so.18", O_RDONLY) = -1 ENOENT (No such file or directory)
25154 stat("/opt/mysql/lib/tls", 0x7fff4fc52990) = -1 ENOENT (No such file or directory)
25154 open("/opt/mysql/lib/x86_64/libmysqlclient.so.18", O_RDONLY) = -1 ENOENT (No such file or directory)
25154 stat("/opt/mysql/lib/x86_64", 0x7fff4fc52990) = -1 ENOENT (No such file or directory)
25154 open("/opt/mysql/lib/libmysqlclient.so.18", O_RDONLY) = 3
25154 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\350\2\0\0\0\0\0"..., 832) = 832
25154 fstat(3, {st_dev=makedev(8, 2), st_ino=4496983, st_mode=S_IFREG|0770, st_nlink=1, st_uid=611, st_gid=611, st_blksize=4096, st_blocks=7248, st_size=3705453, st_atime=2013/09/30-15:06:49, st_mtime=2013/04/16-14:23:14, st_ctime=2013/09/30-00:28:11}) = 0
25154 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2abdadc9e000
25154 mmap(NULL, 5622128, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2abdadc9f000
25154 mprotect(0x2abdadf73000, 2097152, PROT_NONE) = 0
25154 mmap(0x2abdae173000, 540672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_...

tags: added: redhat sysbench
Revision history for this message
DAGET Thomas (tdaget) wrote :
Download full text (118.5 KiB)

I have rebuild the sysbench binary without mysql options:

./configure --prefix=/opt/sysbench --with-oracle

Then make, sudo make install and finally ...

strace -f -F -v -o /home/dba/sysbenchtrace ./sysbench --test=oltp --db-driver=oracle --oracle-user=bench --oracle-password=benchbench01 --oracle-db=jde9dv --oltp-table-size=10000 --num-threads=3 --max-requests=1000 --debug=on --verbosity=5 run

Dump of produced sysbenchtrace file :

1860 execve("./sysbench", ["./sysbench", "--test=oltp", "--db-driver=oracle", "--oracle-user=bench", "--oracle-password=benchbench01", "--oracle-db=jde9dv", "--oltp-table-size=10000", "--num-threads=3", "--max-requests=1000", "--debug=on", "--verbosity=5", "run"], ["LDFLAGS=-L/oracle/ora11g/lib", "HOSTNAME=dev-web01", "M2=/opt/maven/bin", "TERM=xterm", "SHELL=/bin/bash", "HISTSIZE=1000", "CPPFLAGS=-I/oracle/ora11g/rdbms/", "KDE_NO_IPV6=1", "SSH_CLIENT=172.17.6.212 52055 22", "OLDPWD=/home/dba/sysbench-0.4.12", "SSH_TTY=/dev/pts/1", "ANT_HOME=/opt/ant", "CC_HOME=/opt/cruisecontrol", "http_proxy=http://172.16.32.252:", "USER=dba", "LD_LIBRARY_PATH=/oracle/ora11g/r", "LS_COLORS=no=00:fi=00:di=00;34:l", "KDEDIR=/usr", "CXXFLAGS=-m64 -I /oracle/ora11g/", "MAVEN_OPTS=-Xms256m -Xmx512m", "MAIL=/var/spool/mail/dba", "PATH=/opt/libreoffice3.6/program", "INPUTRC=/etc/inputrc", "PWD=/opt/sysbench/bin", "JAVA_HOME=/usr/java/jdk1.6.0_43", "LANG=C", "KDE_IS_PRELINKED=1", "CXX=c++export", "SSH_ASKPASS=/usr/libexec/openssh", "M2_HOME=/opt/maven", "SHLVL=1", "HOME=/home/dba", "CFLAGS=-m64 -I /oracle/ora11g/rd", "no_proxy=localhost,.vetoquinol,.", "LOGNAME=dba", "CVS_RSH=ssh", "SSH_CONNECTION=172.17.6.212 5205", "LESSOPEN=|/usr/bin/lesspipe.sh %", "SHLIB_PATH=/oracle/ora11g/lib:", "CC=cc", "ORACLE_HOME=/oracle/ora11g", "G_BROKEN_FILENAMES=1", "_=/usr/bin/strace"]) = 0
1860 brk(0) = 0x6b9b000
1860 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aabf5e60000
1860 uname({sysname="Linux", nodename="dev-web01", release="2.6.18-164.el5", version="#1 SMP Tue Aug 18 15:51:48 EDT 2009", machine="x86_64"}) = 0
1860 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
1860 open("/oracle/ora11g/rdbms/public/tls/x86_64/libmysqlclient.so.18", O_RDONLY) = -1 ENOENT (No such file or directory)
1860 stat("/oracle/ora11g/rdbms/public/tls/x86_64", 0x7fff881e8510) = -1 ENOENT (No such file or directory)
1860 open("/oracle/ora11g/rdbms/public/tls/libmysqlclient.so.18", O_RDONLY) = -1 ENOENT (No such file or directory)
1860 stat("/oracle/ora11g/rdbms/public/tls", 0x7fff881e8510) = -1 ENOENT (No such file or directory)
1860 open("/oracle/ora11g/rdbms/public/x86_64/libmysqlclient.so.18", O_RDONLY) = -1 ENOENT (No such file or directory)
1860 stat("/oracle/ora11g/rdbms/public/x86_64", 0x7fff881e8510) = -1 ENOENT (No such file or directory)
1860 open("/oracle/ora11g/rdbms/public/libmysqlclient.so.18", O_RDONLY) = -1 ENOENT (No such file or directory)
1860 stat("/oracle/ora11g/rdbms/public", {st_dev=makedev(8, 2), st_ino=1727490, st_mode=S_IFDIR|0770, st_nlink=2, st_uid=601, st_gid=602, st_blksize=4096, st_blocks=8, st_size=4096, st_atime=2013/09/30-15:20:56, st_mtim...

Revision history for this message
DAGET Thomas (tdaget) wrote :

[dba@dev-web01 bin]$ ldd ./sysbench
        libmysqlclient.so.18 => /opt/mysql/lib/libmysqlclient.so.18 (0x00002b4a0463c000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003787600000)
        libm.so.6 => /lib64/libm.so.6 (0x0000003786e00000)
        librt.so.1 => /lib64/librt.so.1 (0x0000003788a00000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000003787200000)
        libclntsh.so.11.1 => /oracle/ora11g/lib/libclntsh.so.11.1 (0x00002b4a04bbc000)
        libaio.so.1 => /usr/lib64/libaio.so.1 (0x0000003785e00000)
        libc.so.6 => /lib64/libc.so.6 (0x0000003786a00000)
        libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003788200000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003787e00000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003785a00000)
        libnnz11.so => /oracle/ora11g/lib/libnnz11.so (0x00002b4a071e8000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x000000378d200000)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.