Re: child seg fault (11) with mod_perl as DSO (Sol 8, perl 5.6, gcc 2.95.2)

2000-10-23 Thread Bjørn Ola Smievoll

* Gary Goldberg
|
| Hello. I am build a machine from scratch, so I've done this:
| 
| 1. Installed clean Solaris 8 Intel.
| 2. Installed SFWgcc (2.95.2) from Solaris install.
| 3. Used Solaris-installed perl 5.005 to build perl 5.6 in /opt. (Everything
| in /opt).
| 4. Used CPAN to install libnet, MD5, CPAN bundles.
| 5. Installed Mysql 3.23.26 into /opt.
| 6. Installed Bundle::Mysql, Bundle::Apache using CPAN.
| 7. Installed Berkeley db 3.1 into /opt.
| 8. Reinstalled perl 5.6 using -Ubincomat5005 enabling large file support.
| 8. Used clean dists of apache 1.3.14, php 4.03pl1, mod_perl 1.24.
| 
|Built apache using suexec config, --enable=module=most --enable-shared-max
|with largefile support. Make, install.
| 
|Built mod_perl using USE_APXS=1 WITH_APXS=/opt/apache/bin/apxs EVERYTHING=1
|and make, install.
| 
|Built php4 using APXS. Make, install.
| 
| Everything seems fine, but when I try to access the status module or the
| webroot home page I get "child exit segmentation fault (11)".
| 
| All previous messages in the list archive did not seem to apply, although
| I tried their suggestions also. Nothing seems to work and I am stuck
| here, Any ideaa? THanks to all in advance, -Gary


I've got the same sigsegv problem, though not with perl 5.6.0 only
5.00503 and 500404 and only on linux/x86 and linux/ppc, solaris/usparc
works fine.  DSO or no DSO doesn't seem to matter.  I'm trying to
do some debugging of this problem, but haven't gotten very far.
Actually I only have the Apache::Status sigsegv on one build on
linux/x86.  _BUT_ I've got another homemade module that dies on every
linux build that doesn't use 5.6.  It's a real show stopper, but it's
forcing me to learn a little more about gdb and c every day :)

Any advances you do in tracing this problem, please let me know.


(bo)
Head Engineer   Center for Information Technology Services
University of Oslo




child seg fault (11) with mod_perl as DSO (Sol 8, perl 5.6, gcc2.95.2)

2000-10-22 Thread Gary Goldberg


Hello. I am build a machine from scratch, so I've done this:

1. Installed clean Solaris 8 Intel.
2. Installed SFWgcc (2.95.2) from Solaris install.
3. Used Solaris-installed perl 5.005 to build perl 5.6 in /opt. (Everything
in /opt).
4. Used CPAN to install libnet, MD5, CPAN bundles.
5. Installed Mysql 3.23.26 into /opt.
6. Installed Bundle::Mysql, Bundle::Apache using CPAN.
7. Installed Berkeley db 3.1 into /opt.
8. Reinstalled perl 5.6 using -Ubincomat5005 enabling large file support.
8. Used clean dists of apache 1.3.14, php 4.03pl1, mod_perl 1.24.

   Built apache using suexec config, --enable=module=most --enable-shared-max
   with largefile support. Make, install.

   Built mod_perl using USE_APXS=1 WITH_APXS=/opt/apache/bin/apxs EVERYTHING=1
   and make, install.

   Built php4 using APXS. Make, install.

Everything seems fine, but when I try to access the status module or the
webroot home page I get "child exit segmentation fault (11)".

All previous messages in the list archive did not seem to apply, although
I tried their suggestions also. Nothing seems to work and I am stuck
here, Any ideaa? THanks to all in advance, -Gary



-- 
- "Two peanuts crossed the street. One was assaulted."
Gary Goldberg KA3ZYW <[EMAIL PROTECTED]>   V:301/249-6501 F:301/390-1955
Digital Marketing Inc., Bowie MD    ICQ:22569505




Re: Seg fault (11) backtrace (long email) - was RE: does anyone havea fix for this?

2000-08-15 Thread Doug MacEachern

On Thu, 3 Aug 2000, Jamie Krasnoo wrote:
 
> Program received signal SIGSEGV, Segmentation fault.
> 0x8086ef0 in perl_handler_ismethod ()

yes, cvs should fix this, here's the diff:

--- mod_perl.c  2000/05/25 18:06:23 1.121
+++ mod_perl.c  2000/06/02 17:23:07 1.122
@@ -1222,7 +1222,7 @@
 }
 
 #ifdef CVf_METHOD
-if (CvFLAGS(cv) & CVf_METHOD) {
+if (cv && (CvFLAGS(cv) & CVf_METHOD)) {
 is_method = 1;
 }
 #endif





Re: Seg Fault (11)

2000-08-04 Thread Bill Jones

> From: Dave Moore <[EMAIL PROTECTED]>

>> no errors during build:
>> Apache/1.3.12 (Unix) secured_by_Raven/1.5.1 mod_perl/1.24 PHP/4.0.1pl2
>> 
>> However, trying to use mod_perl's DSO causes Seg Fault (11)

> mod_perl and php4 dont mix well together, there has been a few posts
> about this in the past. try running it through gdb to get a stack
> backtrace. that might provide some more clues.


Thx for the reply :)

Actually, Covalent discovered the issue -

I built Perl with use_large_files w/64-bit offsets; Apache wasn't
built that way -- therefore mod_perl didn't like it.

All better now :)
-Sneex-
- FCCJ * 501 W State St * Jacksonville, Fl 32202 * 904/632-3089 -




Re: Seg Fault (11)

2000-08-04 Thread Dave Moore

On Fri, 4 Aug 2000, Bill Jones wrote:

> Using Raven's (www.covalent.com) build, I want to use mod_perl as a DSO --
> 
> no errors during build:
> Apache/1.3.12 (Unix) secured_by_Raven/1.5.1 mod_perl/1.24 PHP/4.0.1pl2
> 
> However, trying to use mod_perl's DSO causes Seg Fault (11)
> 
> Any thoughts, comments, or ideas would be most appreciated :)
> 
> TIA;
> -Sneex-  :]
> - FCCJ * 501 W State St * Jacksonville, Fl 32202 * 904/632-3089 -
> 

mod_perl and php4 dont mix well together, there has been a few posts
about this in the past. try running it through gdb to get a stack
backtrace. that might provide some more clues.

--
Dave Moore
Web Application Developer
mailto:[EMAIL PROTECTED]

ePALS Classroom Exchange
http://www.epals.com/
Connecting more than 1.9 million students and teachers in 182 countries!




Seg Fault (11)

2000-08-04 Thread Bill Jones

Using Raven's (www.covalent.com) build, I want to use mod_perl as a DSO --

no errors during build:
Apache/1.3.12 (Unix) secured_by_Raven/1.5.1 mod_perl/1.24 PHP/4.0.1pl2

However, trying to use mod_perl's DSO causes Seg Fault (11)

Any thoughts, comments, or ideas would be most appreciated :)

TIA;
-Sneex-  :]
- FCCJ * 501 W State St * Jacksonville, Fl 32202 * 904/632-3089 -




Seg fault (11) backtrace (long email) - was RE: does anyone have a fix for this?

2000-08-03 Thread Jamie Krasnoo

Perl -V output:

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
osname=linux, osvers=2.2.5-22smp, archname=i386-linux
uname='linux porky.devel.redhat.com 2.2.5-22smp #1 smp wed jun 2
09:11:51 edt 1999 i686 unknown '
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
cc='cc', optimize='-O2 -m486 -fno-strength-reduce',
gccversion=egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include'
ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include'
stdchar='char', d_stdstdio=undef, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
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 -ldl -lm -lc -lposix -lcrypt
libc=, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl):
  Built under linux
  Compiled at Feb  2 2000 15:35:58
  @INC:
/usr/lib/perl5/5.00503/i386-linux
/usr/lib/perl5/5.00503
/usr/lib/perl5/site_perl/5.005/i386-linux
/usr/lib/perl5/site_perl/5.005


Apache version 1.3.12.


mod_perl version 1.24

Options:

EVERYTHING=1 APACHE_SRC=../apache-1.3.12/src USE_APACI=1 DO_HTTPD=1
PERL_DEBUG=1 \
APACI_ARGS='--with-layout=RedHat --enable-module=rewrite --enable-module=inf
o --enable-module=usertrack --enable-module=unique_id'

test results:
All tests successful, 4 tests skipped.
Files=34,  Tests=418, 27 wallclock secs (21.67 cusr +  2.58 csys = 24.25
CPU)
kill `cat t/logs/httpd.pid`
rm -f t/logs/httpd.pid
rm -f t/logs/error_log


Ok, Heres the backtrace I did.

Program received signal SIGSEGV, Segmentation fault.
0x8086ef0 in perl_handler_ismethod ()
(gdb) bt
#0  0x8086ef0 in perl_handler_ismethod ()
#1  0x8087bc3 in perl_call_handler ()
#2  0x80875cb in perl_run_stacked_handlers ()
#3  0x80859bd in perl_handler ()
#4  0x80a1db3 in ap_invoke_handler ()
#5  0x80b5289 in ap_some_auth_required ()
#6  0x80b52ec in ap_process_request ()
#7  0x80acbde in ap_child_terminate ()
#8  0x80acd6c in ap_child_terminate ()
#9  0x80acec9 in ap_child_terminate ()
#10 0x80ad4f6 in ap_child_terminate ()
#11 0x80adc83 in main ()
#12 0x400d09cb in __libc_start_main (main=0x80ad93c , argc=4,
argv=0xbb74, init=0x8060180 <_init>,
fini=0x81271fc <_fini>, rtld_fini=0x4000ae60 <_dl_fini>,
stack_end=0xbb6c) at ../sysdeps/generic/libc-start.c:92

I also did an strace I hope its of some help -

gettimeofday({965330042, 362731}, NULL) = 0
stat("/web/myeboard/markup/html/hello", 0xb93c) = -1 ENOENT (No such
file or directory)
stat("/web/myeboard/markup/html", {st_mode=S_IFDIR|0775, st_size=4096, ...})
= 0
open("/web/myeboard/markup/html/", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 5
fstat(5, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
fcntl(5, F_SETFD, FD_CLOEXEC)   = 0
getdents(5, /* 5 entries */, 3933)  = 96
getdents(5, /* 0 entries */, 3933)  = 0
close(5)= 0
rt_sigaction(SIGALRM, NULL, {0x80aa050, [], SA_INTERRUPT|0x400}, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/web/myeboard/perl/app/hello.pm", O_RDONLY) = 5
fstat64(0x5, 0xbfffd0e8)= 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x401b
read(5, "package hello;\n\nuse strict;\nuse "..., 4096) = 364
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(5, "", 4096)   = 0
close(5)= 0
munmap(0x401b, 4096)= 0
--- SIGSEGV (Segmentation fault) ---

I think I know what the problem is. If the module doesn't have its directory
in the package declaration, it will seg fault. If its there, it runs fine.
But even so, the server should give an error and complain that it can't find
&app::hello::handler instead of segmenting.

The problem can be replicated with a simple hello world module.

in the conf file is this


 SetHandler perl-script
 PerlHandler app::hello


with the directory structure as

/home/httpd/perl/app

and the hello.pm residing in app. Run with the package declaration as
"package app::hello;"
then as "package hello;" <-- should seg fault on this one and single server
should die.

I tried this with both stock RedHat kernel and 2.4.0-test5 kernel, same
results both seg fault and tests normal.

Still learning,

Jamie Krasnoo

I apologize for the lengthy email.


-Original Message-
From: