Lol... I'm learning gdb as I'm going... trying to figure this out.
I was messing around with the code, and somehow I got it to segfault doing strcmp in ld-linux-x86-64, which is when I thought.. what the heck? How can such a basic function be broken?
After some googling about that... I just found the stupidest solution. Apparently gcc 3.4 (which is default on CentOS 4), generates bad x86_64 code. In otherwords, there's nothing wrong with peruser... it's the compiler! I installed gcc4 and compiled apache with it and it's all happy now.
Just to be sure, please install GCC4:
# yum -y install gcc4-c++
then do the configure and build with it
# ./buildconf
# CC=gcc4 \
[...]
./configure --with-mpm=peruser \
[...]
# make ; make install
So for anyone trying to use peruser on a 64 bit system, make sure you're using GCC4 to compile it and not GCC3.x
-Severn
On 4/4/06, Sean Gabriel Heacock
<[EMAIL PROTECTED]> wrote:
On Tue, 2006-04-04 at 16:24 -0400, Severn wrote:
> It doesn't segfault at the senv enymore.. instead it does this--
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 182919131456 (LWP 22254)]
How is your Listen directive set up? "Listen 80" or does it specify an
IP? It looks like the code it's crashing on is what's responsible for
the "0.0.0.0" some people see in their logs if they don't bind to a
specific IP (I can't reproduce this, unfortunately). Maybe the same
workaround will help in your situation.
So try "Listen xxx.xxx.xxx.xxx:80" if it's not like that already. If
you need to bind to multiple IPs you can still do that with multiple
Listens.
> If I enable MPM_PERUSER_DEBUG however, *sock is 0x0 and everything
> seems to work fine... (how the heck does turning on debug affect
> pointers?)
Yeah I'm hitting the same thing (a "heisenbug" ;) trying to figure out
what's crashing during the automatic die-off phase... normally it
segfaults, but not with debugging on... unfortunately my gdb kung fu is
NOT strong :(
--
Sean Gabriel Heacock
Telana Internet Services
http://www.telana.com/
_______________________________________________
Peruser mailing list
[email protected]
http://www.telana.com/mailman/listinfo/peruser
_______________________________________________ Peruser mailing list [email protected] http://www.telana.com/mailman/listinfo/peruser
