[httperf] SIGSEGV when multiple instances are running?

Jim Whitehead II jnwhiteh at gmail.com
Wed Feb 2 07:43:46 PST 2011

I'm currently writing a tool that helps to automate benchmarking using
httperf, distributing the load over a number of worker machines to
generate the appropriate load. Everything works fine as long as I only
issue one request to each worker machine, but as soon as I spawn two
processes on the same machine to perform the httperf benchmark, one or
both processes will frequently crash with a SIGSEGV. The core dump
shows that this is happening in the conn_inc_ref(conn) macro call on
core.c:1172. This error happens on both SVN trunk as well as 0.9.0 as
downloaded from the HP ftp server.

The following shows the backtrace and the core dump itself (shown last)
#0  0x000000010000796c in core_loop () at core.c:1221
#1  0x00000001000044b2 in main (argc=14, argv=0x7fff5fbff5d8) at httperf.c:971

#0  0x000000010000796c in core_loop () at core.c:1221
1221			      conn_inc_ref (conn);

The problem is I have difficulty getting httperf to reproduce this
problem on its own; it seems that it only occurs when I am spawning
new (multiple) instances from my RPC server that is handling requests.

The RPC server is written in Go, so in an attempt to better isolate
the problem, I tried running httperf using both bash -c and env. In
each of these cases, the problem persisted.

My question is: Are there any known issues with running concurrent
instances of httperf on the same machine that might be causing this
problem? I'd rather have a nice working tool than one with a dirty
caveat of "httperf will crash is you do this, so don't".

Beyond this snag, httperf has been instrumental in my benchmarking, so
thank you!

- Jim

More information about the httperf mailing list