Bug 656320 - siege segfaults in glibc's getopt_long() -> __strncmp_sse2()
Summary: siege segfaults in glibc's getopt_long() -> __strncmp_sse2()
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: siege
Version: 14
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Christof Damian
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-23 14:07 UTC by Thierry Vignaud
Modified: 2010-12-04 11:27 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2010-12-04 11:27:28 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Thierry Vignaud 2010-11-23 14:07:23 UTC
Description of problem:
siege segfaults in glibc's getopt_long() -> __strncmp_sse2()
when using --max-connections parameter:

$ gdb -q --args siege --max-connections=10 http://localhost
(gdb) run
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff70a9d28 in __strncmp_sse2 () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff70a9d28 in __strncmp_sse2 () from /lib64/libc.so.6
#1  0x00007ffff70f08bf in _getopt_internal_r () from /lib64/libc.so.6
#2  0x00007ffff70f192b in _getopt_internal () from /lib64/libc.so.6
#3  0x00007ffff70f19b3 in getopt_long () from /lib64/libc.so.6
#4  0x000000000040c043 in parse_rc_cmdline (argc=3, argv=0x7fffffffdd98) at main.c:168
#5  0x000000000040c4ca in main (argc=3, argv=0x7fffffffdd98) at main.c:311


Version-Release number of selected component (if applicable):
siege-2.70-1.fc14.x86_64

How reproducible:
Always

Steps to Reproduce:
1. run siege --max-connections=10 http://localhost
2.
3.
  
Actual results:
it segfaults

Expected results:
it should not segfault

Additional info:
$ ltrace -S siege --max-connections=10 http://localhost
(...)
__libc_start_main(0x40c410, 3, 0x7fff127f1e58, 0x410e20, 0x410eb0 <unfinished ...>
calloc(128, 1)                                           = 0x12d6030
sigemptyset(0x7fff127f1c60)                              = 0
sigaddset(0x7fff127f1c60, 1)                             = 0
sigaddset(0x7fff127f1c60, 2)                             = 0
sigaddset(0x7fff127f1c60, 14)                            = 0
sigaddset(0x7fff127f1c60, 15)                            = 0
sigprocmask(0, 0x7fff127f1c60, NULL <unfinished ...>
SYS_rt_sigprocmask(0, 0x7fff127f1c60, 0, 8, 136)         = 0
<... sigprocmask resumed> )                              = 0
malloc(16)                                               = 0x12d60c0
memset(0x12d60c0, '\000', 16)                            = 0x12d60c0
getopt_long(3, 0x7fff127f1e58, "VhvCDgl::ibr:t:f:d:c:m:H:R:A:", 0x619740, NULL <unfinished ...>
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

Comment 1 Christof Damian 2010-11-23 19:52:33 UTC
I reported it on the mailing list. The option doesn't show in the help, maybe it is depreciated? 
I will report back.

Comment 2 Christof Damian 2010-11-29 20:25:38 UTC
I found the problem and reported it upstream: http://groups.google.com/group/siege-users/msg/bde6ffd0d44d854c?hl=en

Comment 3 Christof Damian 2010-12-04 11:27:28 UTC
Its is fixed in upstream 2.71b3 , which is now in rawhide siege-2.71-1.b3.fc15

Once 2.71 final arrives I will push it to previous Fedora releases and EPEL.


Note You need to log in before you can comment on or make changes to this bug.