Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: Dev

DIR_CREATE woes

 

 

ModPerl dev RSS feed   Index | Next | Previous | View Threaded


gyoung at laserlink

Jul 6, 2001, 6:04 AM

Post #1 of 3 (982 views)
Permalink
DIR_CREATE woes

hi all...

about 2 weeks ago I noticed that modules with DIR_CREATE and DIR_MERGE
sections stopped working with bleedperl. I've tried to trace it as best I
could, but I'm really at a loss since Apache just stops - no core.

sending httpd -X to strace gives me

open("/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/Apache/Stop
Me.pm", O_RDONLY|O_LARGEFILE) = 4
fstat(4, {st_mode=S_IFREG|0444, st_size=579, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x405b6000
read(4, "package Apache::StopMe;\n\nuse 5.7"..., 4096) = 579
read(4, "", 4096) = 0
close(4) = 0
munmap(0x405b6000, 4096) = 0
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++

no matter which module I happen to be using - if it has DIR_CREATE and
DIR_MERGE sections (or SERVER_*) it SIGSEGVs. modules that use custom
directives but without merging seem to be fine.

I have included a simple module for testing. on my system (cvs Apache, cvs
modperl, bleedperl with 2 vhosts)

PerlModule Apache::StopMe
StopMe

in the main server config is sufficient to stop things. maybe I'm chasing
air here, but it just all of a sudden stopped working. I'm at a loss for
how to continue tracking it down (if 'it' actually exists :)

--Geoff

Summary of my perl5 (revision 5.0 version 7 subversion 17) configuration:
Platform:
osname=linux, osvers=2.2.14-5.0, archname=i686-linux-thread-multi
uname='linux spinnaker.laserlink.net 2.2.14-5.0 #1 tue mar 7 21:07:39
est 2000 i686 unknown '
config_args='-des -Dusethreads -Dprefix=/src/bleedperl -Doptimize=-g
-Dusedevel -Dinstallusrbinperl -Uversiononly'
hint=previous, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-g',
cppflags='-D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT
-Wall -DDEBUGGING -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT
-Wall -DDEBUGGING -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT
-Wall -DDEBUGGING -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT
-Wall -DDEBUGGING -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccversion='', gccversion='egcs-2.91.66 19990314/Linux (egcs-1.1.2
release)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
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 -lpthread -lc -lposix -lcrypt
-lutil
perllibs=-lnsl -ldl -lm -lpthread -lc -lposix -lcrypt -lutil
libc=/lib/libc-2.1.3.so, 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):
Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
Locally applied patches:
DEVEL11146
Built under linux
Compiled at Jul 5 2001 22:03:39
@INC:
/src/bleedperl/lib/5.7.1/i686-linux-thread-multi
/src/bleedperl/lib/5.7.1
/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi
/src/bleedperl/lib/site_perl/5.7.1
/src/bleedperl/lib/site_perl
.

--Geoff
Attachments: Apache-StopMe-1.tar.gz (1.70 KB)


dougm at covalent

Jul 6, 2001, 9:43 AM

Post #2 of 3 (955 views)
Permalink
Re: DIR_CREATE woes [In reply to]

patch below fixes, you can see the problem excercised with this little
test too:

use POSIX ();

for (1,2) {
undef &POSIX::isalnum;
}

Index: op.c
===================================================================
RCS file: /usr/local/cvs_repository/perl-current-mirror/op.c,v
retrieving revision 1.1.1.45
diff -u -r1.1.1.45 op.c
--- op.c 2001/07/06 16:37:22 1.1.1.45
+++ op.c 2001/07/06 16:39:38
@@ -4161,8 +4161,8 @@
#ifdef USE_ITHREADS
if (CvFILE(cv) && !CvXSUB(cv)) {
Safefree(CvFILE(cv));
- CvFILE(cv) = 0;
}
+ CvFILE(cv) = 0;
#endif

if (!CvXSUB(cv) && CvROOT(cv)) {




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe [at] perl
For additional commands, e-mail: dev-help [at] perl


gyoung at laserlink

Jul 6, 2001, 11:03 AM

Post #3 of 3 (968 views)
Permalink
RE: DIR_CREATE woes [In reply to]

> -----Original Message-----
> From: Doug MacEachern [mailto:dougm [at] covalent]
> Sent: Friday, July 06, 2001 12:44 PM
> To: Geoffrey Young
> Cc: 'dev [at] perl'
> Subject: Re: DIR_CREATE woes
>
>
> patch below fixes, you can see the problem excercised with this little
> test too:
>

amazing... I spun my wheels on that for a week ;)

--Geoff

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe [at] perl
For additional commands, e-mail: dev-help [at] perl

ModPerl dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.