Click to See Complete Forum and Search --> : APACHE-child pid 13622 exit signal Segmentation fault (11)


micxz
03-28-2001, 09:32 PM
I'm trying to install PHP4 that went smoothly thank god. But every time I go to call a page now from http://localhost/ I get this in the error_log:

[Wed Mar 28 16:48:05 2001] [notice] child pid 13622 exit signal Segmentation fault (11)

Here's somemore of my log:

[Wed Mar 28 16:47:59 2001] [info] mod_unique_id: using ip addr 127.0.0.2
[Wed Mar 28 16:48:00 2001] [info] created shared memory segment #26628
[Wed Mar 28 16:48:00 2001] [notice] Apache/1.3.12 (Unix) (SuSE/Linux) mod_fastcgi/2.2.2 mod_perl/1.24 PHP/4.0.0 configured -- resuming normal operations
[Wed Mar 28 16:48:00 2001] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Mar 28 16:48:00 2001] [info] Server built: Jul 30 2000 22:47:29
[Wed Mar 28 16:48:05 2001] [notice] child pid 13622 exit signal Segmentation fault (11)

I don't know what to do. I've been searching through out the web and alot of archive mail threads tell me that when this happens it's usually a conf file problem.
I still don't know.

[ 29 March 2001: Message edited by: micxz ]

Infested Flar
03-29-2001, 03:04 AM
Segmentaion Fault = Out Of Memory (i think)

-flar-

micxz
03-29-2001, 01:45 PM
impossible plenty of memory here. It's got to be something else?

PLBlaze
03-29-2001, 02:29 PM
Hehe, i get same thing with sig11 and no it's not memory faults.It's the mod_perl that fsck's things up.It took me good few days to figure this one out but now it works.
How did you install your apache?Did mod_ssl,mod_perl and jakarta were originally installed with apache and later you've added php?

I can't remember how to check configure options for perl but if you have enabled large file support with perl (do not confuse mod_perl) then all of the DSO's for apache must use perl's configure flags with large file source support.See if you can compile simple perl module or perl program and look what falgs it's using when configure it's run.They look something like this: "-D_LARGE_FILE_SOURCE -D_FILESYSTEM_OFFSET_64"

If that's what you have then you need to export the exact flag and recompile your apache and all of the external modules (mod_ssl,mod_perl,php,jakarta) with large file support.If all goes well your apache will not segfault upon startup.

/me who configured apache-1.3.19 with mod_perl,mod_ssl,php nad tomcat/jakarta,cocoon-xml the hard way...

micxz
03-30-2001, 01:12 AM
How did I install apache, php4 and ssl? I used the install DVD from SuSE 7. Yast to install/remove packages. Yast told me that php4 would interfer php3 base. I installed it anyway. I really don't know how perl gets compiled into apache? Is that right? perl and php have to be mentioned at the apache install? How does this work. I want to start from scratch. Do I install perl first, then apache? something like ./configure --with-perl --with-php4?

An Ignorant perl/php/apache student who wants to be like PLBlaze and could say,"/me who configured apache-1.3.19 with mod_perl,mod_ssl,php the hard way...".

I'm sorry PLBlaze but I didn't understand most of that second paragraph you wrote in response. I'm going to start researching on it now. :confused:

jemfinch
03-30-2001, 03:56 AM
Originally posted by Flar:
[B]Segmentaion Fault = Out Of Memory (i think)


No, definitely not. A segfault means your code overwrote memory that it didn't own.

Just as a note, most buffer overflows result in a segfault; a well crafted one can crack a piece of software.

You might want to find out about that before putting it up for the world to see.

Jeremy

PLBlaze
03-30-2001, 01:12 PM
<self note> be less confusing</self note>

Sorry but what i meant is to look for perl compile options,especially if the large files support was enabled.This is the output of perl -V on my box:


paul@blazebox:~$ perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
Platform:
osname=linux, osvers=2.4.0-test7, archname=i686-linux
uname='linux blazebox 2.4.0-test7 #4 tue aug 29 00:30:00 edt 2000 i686 unknown '
config_args=''
hint=previous, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=undef d_sfio=undef uselargefiles=define
use64bitint=undef use64bitall=undef uselongdouble=undef usesocks=undef
Compiler:
cc='cc', optimize='-O2', gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
cppflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccflags ='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
stdchar='char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=4, usemymalloc=n, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lposix -lcrypt
libc=/lib/libc-2.1.3.so, so=so, useshrplib=true, libperl=libperl.a
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.6.0/i686-linux/CORE'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under linux
Compiled at Aug 31 2000 11:44:25
@INC:
/usr/lib/perl5/5.6.0/i686-linux
/usr/lib/perl5/5.6.0
/usr/lib/perl5/site_perl/5.6.0/i686-linux
/usr/lib/perl5/site_perl/5.6.0
/usr/lib/perl5/site_perl
.
paul@blazebox:~$


Note the flags i put in bold see if you get similar output from perl -V.If you do then you will need to recompile apache from source with large file support.
On command line you will need to define the options as follow:

CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" and CCXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" then you will need to export them export CCFLAGS and export CCXFLAGS,once that done run configure and see if it picked those flags,then proceed to compiling the sources...

I had many problems with compilation of mod_perl and that's what needed to be done to make apache child's happpy and not crashing...of course you could have some other problems too.I strongly recommend doing source installs of apache and other mods/programs that you will use.RPM's will most likely give you many problems such as this one.Hope this helps.

/me who is not bragging but sharing some painful exp...

micxz
03-30-2001, 01:58 PM
On the command line I export those vars? Like:

export CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

then:

export CCXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"

OR

CCFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"; CCXFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64";

then:

export CCFLAGS CCXFLAGS

do they both work? I have an inline question about this, when I use "export FOO=/FOO/BAR" the next time I log in it's not there? Is there a way to make more permanent.

This will inable large file support in perl? Is there anything else I should know before trying to remake perl for my problem?

:rolleyes: :D ;)

[ 30 March 2001: Message edited by: micxz ]

micxz
03-31-2001, 06:50 PM
I now know that it's something to do with the start-up script provided by SuSE I think because when I use the command:

/sbin/httpd -f /etc/httpd/httpd.conf

My server works fine but when I use:

/sbin/init.d/apache start

I get the segmentation fault!!!

Well my server is up again but no php4 or 3 I'm going to try to install those again today.

Any comments anyone?