JoeDog / siege

Siege is an http load tester and benchmarking utility
GNU General Public License v3.0
5.9k stars 386 forks source link

Segmentation fault on specific url #82

Open xorecx opened 7 years ago

xorecx commented 7 years ago

Hi, Running Debian Jessie 8.5, Siege 4.0.3rc1. compiled with-ssl

gdb:
(gdb) run -c1 -f errorurl
Starting program: /root/tools/siegeBuild/bin/siege -c1 -f errorurl
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff6d98700 (LWP 14489)]
[New Thread 0x7ffff6597700 (LWP 14490)]
** SIEGE 4.0.3rc1
** Preparing 1 concurrent users for battle.
The server is now under siege...

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff6d98700 (LWP 14489)]
__strncasecmp_l_avx () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:164
164     ../sysdeps/x86_64/multiarch/strcmp-sse42.S: No such file or directory.
(gdb) bt
#0  __strncasecmp_l_avx () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:164
#1  0x0000000000413f95 in __parse_control (html=0x7ffff6d95ce0 "a", base=0x6409a0, array=0x640b70) at parser.c:214
#2  html_parser (array=0x640b70, base=base@entry=0x6409a0, page=<optimized out>) at parser.c:83
#3  0x0000000000407be5 in __http (U=0x6409a0, this=0x654eb0) at browser.c:520
#4  __request (this=this@entry=0x654eb0, U=U@entry=0x6409a0) at browser.c:406
#5  0x0000000000408334 in start (this=0x654eb0) at browser.c:295
#6  0x000000000040ade1 in crew_thread (crew=0x654fd0) at crew.c:141
#7  0x00007ffff7bc70a4 in start_thread (arg=0x7ffff6d98700) at pthread_create.c:309
#8  0x00007ffff6e8162d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
nask0 commented 7 years ago

Take a look at

164     ../sysdeps/x86_64/multiarch/strcmp-sse42.S: **No such file or directory.**

Are you sure that "errorurl" file exists. Try to provide full path to url's file, e.g.:

run -c1 -f /home/user/urls_file
xorecx commented 7 years ago

same error, best guess would be something like what they discuss here: http://stackoverflow.com/questions/19939593/sigsegv-in-my-c-split

JoeDog commented 7 years ago

I tried running it like the problem mentioned above. In this case, with an unknown file called 'errorurl' As siege notes, it can't locate the file called 'errorurl'

I noticed that you're passing 'errorurl' to -f which requires a file. Is that what you wanted?

(gdb) run -c 1 -f run -c1 -f errorurl Starting program: /home/jdfulmer/src/siege/src/siege -c 1 -f run -c1 -f errorurl [Thread debugging using libthread_db enabled] [alert] unable to open file: errorurl: No such file or directory SIEGE 4.0.3rc1 Usage: siege [options] siege [options] URL siege -g URL Options: -V, --version VERSION, prints the version number. -h, --help HELP, prints this section. -C, --config CONFIGURATION, show the current config. -v, --verbose VERBOSE, prints notification to screen. -q, --quiet QUIET turns verbose off and suppresses output. -g, --get GET, pull down HTTP headers and display the transaction. Great for application debugging. -c, --concurrent=NUM CONCURRENT users, default is 10 -r, --reps=NUM REPS, number of times to run the test. -t, --time=NUMm TIMED testing where "m" is modifier S, M, or H ex: --time=1H, one hour test. -d, --delay=NUM Time DELAY, random delay before each requst -b, --benchmark BENCHMARK: no delays between requests. -i, --internet INTERNET user simulation, hits URLs randomly. -f, --file=FILE FILE, select a specific URLS FILE. -R, --rc=FILE RC, specify an siegerc file -l, --log[=FILE] LOG to FILE. If FILE is not specified, the default is used: PREFIX/var/siege.log -m, --mark="text" MARK, mark the log file with a string. between .001 and NUM. (NOT COUNTED IN STATS) -H, --header="text" Add a header to request (can be many) -A, --user-agent="text" Sets User-Agent in request -T, --content-type="text" Sets Content-Type in request

Copyright (C) 2016 by Jeffrey Fulmer, et al. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Program exited normally. (gdb)

On Fri, Sep 30, 2016 at 6:57 AM, xorecx notifications@github.com wrote:

same error, best guess would be something like what they discuss here: http://stackoverflow.com/questions/19939593/sigsegv-in-my-c-split http://url

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/JoeDog/siege/issues/82#issuecomment-250716778, or mute the thread https://github.com/notifications/unsubscribe-auth/AFMT5n82GTpMc0LsduFPBBEWvrgMcjiKks5qvOsMgaJpZM4KK72G .

xorecx commented 7 years ago

I have one url in a file named "errorurl". I get the same result if I just insert the url and run against it. I used split to find this particular url among 500+ others, thats why I have it in a file like that - the rest of the urls work ;)

JoeDog commented 7 years ago

Can you share the troublesome URL with me?

On Fri, Sep 30, 2016 at 9:21 AM, xorecx notifications@github.com wrote:

I have one url in a file named "errorurl". I get the same result if I just insert the url and run against it. I used split to find this particular url among 500+ others, thats why I have it in a file like that - the rest of the urls work ;)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/JoeDog/siege/issues/82#issuecomment-250742621, or mute the thread https://github.com/notifications/unsubscribe-auth/AFMT5ueLAxH9Xm3MHhJ96hs9yaONNXnSks5qvQzIgaJpZM4KK72G .

xorecx commented 7 years ago

There, just sent it.