Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
First of all, sorry if this is not the appropriate list. I have a problem with the latest mod_perl 2.0 binary for Windows and ActivePerl 5.8.1 build 807. (I've tested it on XP and 2K with identical results, BTW.) I know the latest release of mod_perl 2.0 is 1.99_11, but by following the instructions at http://perl.apache.org/docs/2.0/os/win32/install.html#PPM_Packages what gets installed is something that identifies itself as 1.99_12: ppm> query mod_perl Querying target 1 (ActivePerl 5.8.1.807) 1. mod_perl [1.99_12~ Embed a Perl interpreter in the Apache/2.0.48 http~ ppm> Once installed, it causes some errors with Apache::Status. For example, requesting http://localhost/perl-status shows the required information, followed by: OK The server encountered an internal error or misconfiguration and was unable to complete your request. [...] FWIW, Apache::Status::handler returns 0, instead of Apache::OK or whatever, but I'm not sure if that's the right value or not. http://localhost/perl-status?myconfig fails, and the error logs says: [Sat Nov 15 17:39:17 2003] [error] [client 127.0.0.1] Modification of a read-only value attempted at C:/bin/Perl/lib/Config.pm line 75. , referer: http://localhost/perl-status Config.pm line 75 tries to modify $summary, which is declared as our $summary : unique = ... which could be the cause, as perlfunc states that: [...] this attribute also has the effect of making the global readonly when the first new interpreter is cloned (for example, when the first new thread is created). Thanks, /L/e/k/t/u - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Segmentation fault
(gdb) p r->filename
$1 = 0x81a1818 "/usr/local/lxr/source"
(gdb) p r->finfo
$2 = {pool = 0x819fe80, valid = 7598448, protection = 1877,
filetype = APR_REG, user = 48, group = 48, inode = 410325, device = 774,
nlink = 1, size = 7123, csize = 1077577583, atime = 106890962200,
mtime = 102790578300, ctime = 106830794700,
fname = 0x81a1818 "/usr/local/lxr/source", name = 0x0, filehand = 0x1}
I found r->finfo.filehand always is 0 whether i refresh the page, the file must be
open by apr_file_open() even it is 1. So i just do
(gdb) set r->finfo.filehand=0
(gdb) p r->filename
$4 = 0x81a5828 "/usr/local/lxr/source"
(gdb) p r->finfo
$5 = {pool = 0x81a3e90, valid = 7598448, protection = 1877,
filetype = APR_REG, user = 48, group = 48, inode = 410325, device = 774,
nlink = 1, size = 7123, csize = 1077577583, atime = 106891474800,
mtime = 102790578300, ctime = 106830794700,
fname = 0x81a5828 "/usr/local/lxr/source", name = 0x0, filehand = 0x0}
It works.
Here is what i changed:
--- src.bak/modules/perl/modperl_util.c 2003-11-16 00:10:57.351359624 +0800
+++ src/modules/perl/modperl_util.c 2003-11-16 00:17:50.310580280 +0800
@@ -712,6 +712,7 @@
return newRV_noinc(sv);
}
+r->finfo.filehand = 0;
file = r->finfo.filehand;
if (!file) {
rc = apr_file_open(&file, r->filename, APR_READ|APR_BINARY,
Stas Bekman <[EMAIL PROTECTED]> wrote:
>Bobber Cheng wrote:
>> Hi, Stas:
>>
>> thx ur quck reply. The problem remained although i applied ur patch to last cvs
>> mod_per and run on last cvs apache2.
>>
>> perl -v
>> This is perl, v5.8.2 built for i686-linux
>> ./httpd -v
>> Server version: Apache/2.0.49-dev
>> Server built: Nov 16 2003 21:48:57
>>
>> But the place change where Segmentation fault raise, here is the gdb output:
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 16384 (LWP 8102)]
>> 0x40174670 in apr_file_read (thefile=0x1, buf=0x824f6f0, nbytes=0xb468)
>> at readwrite.c:79
>> 79 if (thefile->buffered) {
>>
>> (gdb) backtrace
>> #0 0x40174670 in apr_file_read (thefile=0x1, buf=0x824f6f0, nbytes=0xb468)
>> at readwrite.c:79
>> #1 0x403ab840 in modperl_slurp_filename (r=0x819f680, tainted=0)
>> at modperl_util.c:722
>
>OK, so filehandle thefile is not initilized or corrupt. What are you trying to
>slurp? Can you go one frame up and do:
>
>gdb> p r->filename
>
>__
>Stas BekmanJAm_pH --> Just Another mod_perl Hacker
>http://stason.org/ mod_perl Guide ---> http://perl.apache.org
>mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
>http://modperlbook.org http://apache.org http://ticketmaster.com
>
>
>-
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
__
McAfee VirusScan Online from the Netscape Network.
Comprehensive protection for your entire computer. Get your free trial today!
http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397
Get AOL Instant Messenger 5.1 free of charge. Download Now!
http://aim.aol.com/aimnew/Aim/register.adp?promo=380455
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
Juanma Barranquero wrote:
First of all, sorry if this is not the appropriate list.
This is the right list, Juanma. ;) Thank you for your report.
I have a problem with the latest mod_perl 2.0 binary for Windows and
ActivePerl 5.8.1 build 807. (I've tested it on XP and 2K with identical
results, BTW.)
I know the latest release of mod_perl 2.0 is 1.99_11, but by following
the instructions at
http://perl.apache.org/docs/2.0/os/win32/install.html#PPM_Packages
what gets installed is something that identifies itself as 1.99_12:
ppm> query mod_perl
Querying target 1 (ActivePerl 5.8.1.807)
1. mod_perl [1.99_12~ Embed a Perl interpreter in the Apache/2.0.48 http~
ppm>
I suppose Randy simply used the cvs version to make this build.
Once installed, it causes some errors with Apache::Status.
For example, requesting http://localhost/perl-status shows the required
information, followed by:
OK
The server encountered an internal error or misconfiguration and was
unable to complete your request.
[...]
FWIW, Apache::Status::handler returns 0, instead of Apache::OK or
whatever, but I'm not sure if that's the right value or not.
Good catch. Now fixed in cvs. Thank you.
In fact what happened is that I started to port Apache::Status to mp2, but was
distracted by other issues and never had a chance to complete it. It's almost
completed though.
http://localhost/perl-status?myconfig fails, and the error logs says:
[Sat Nov 15 17:39:17 2003] [error] [client 127.0.0.1] Modification of
a read-only value attempted at C:/bin/Perl/lib/Config.pm line 75.
, referer: http://localhost/perl-status
Config.pm line 75 tries to modify $summary, which is declared as
our $summary : unique = ...
which could be the cause, as perlfunc states that:
[...] this attribute also has the effect of making the
global readonly when the first new interpreter is cloned (for
example, when the first new thread is created).
Yup, confirmed, that's a bug in perl:
% perl-5.8.1-ithread -le 'use threads; require Config; \
threads->new(sub { })->detach; print Config::myconfig()'
Modification of a read-only value attempted at
/home/stas/perl/5.8.1-ithread/lib/5.8.1/i686-linux-thread-multi/Config.pm line 88.
I reported it to p5p and CC'ed you.
However this works:
% perl-5.8.1-ithread -le 'use threads; require Config; \
my $config = Config::myconfig(); threads->new(sub { })->detach; \
print $config'
though it didn't help in Apache/Status :( I guess temprorary we could call a
slow external query:
qx[$^X -V]
but I'll just disable it till this ussue gets resolved.
p.s. though it wasn't needed for this report as I was able to reproduce the
problem, in the future bug reports please follow:
http://perl.apache.org/bugs/. Thanks.
__
Stas BekmanJAm_pH --> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
At 12:20 -0800 11/15/03, Stas Bekman wrote:
Juanma Barranquero wrote:
[Sat Nov 15 17:39:17 2003] [error] [client 127.0.0.1] Modification of
a read-only value attempted at C:/bin/Perl/lib/Config.pm line 75.
, referer: http://localhost/perl-status
Yup, confirmed, that's a bug in perl:
% perl-5.8.1-ithread -le 'use threads; require Config; \
threads->new(sub { })->detach; print Config::myconfig()'
Modification of a read-only value attempted at
/home/stas/perl/5.8.1-ithread/lib/5.8.1/i686-linux-thread-multi/Config.pm
line 88.
One of which I am guilty, I'm afraid. This was one of the memory
saving fixes I submitted for 5.8.1. To fix this with 5.8.1 and
5.8.2, please add the following code to your program (or to
Apache::Status possibly?):
use Config;
BEGIN {
if ($Config::Config{useithreads} and $] > 5.008 and $] < 5.008003) {
no strict 'refs';
no warnings 'redefine';
sub Config::myconfig {
return $Config::summary_expanded if $Config::summary_expanded;
($Config::summary_expanded = $Config::summary) =~ s{\$(\w+)}
{ my $c = $Config{$1}; defined($c) ? $c : 'undef' }ge;
$Config::summary_expanded;
} #Config::myconfig
}
}
I reported it to p5p and CC'ed you.
However this works:
% perl-5.8.1-ithread -le 'use threads; require Config; \
my $config = Config::myconfig(); threads->new(sub { })->detach; \
print $config'
though it didn't help in Apache/Status :( I guess temprorary we
could call a slow external query:
qx[$^X -V]
but I'll just disable it till this ussue gets resolved.
This code should resolve the issue for 5.8.1 and 5.8.2. I'll supply
patches for 5.8.3 to p5p.
Liz
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
On Sat, 15 Nov 2003 12:20:57 -0800, Stas Bekman <[EMAIL PROTECTED]> wrote: > I suppose Randy simply used the cvs version to make this build. Yeah, well, the problem is that now there's no 1.99_11 binary on Winnipeg :( :) > In fact what happened is that I started to port Apache::Status to mp2, but was > distracted by other issues and never had a chance to complete it. It's almost > completed though. Hmm... ActivePerl 5.8.0 and mod_perl 1.99_11 worked flawlessly. ?? > I reported it to p5p and CC'ed you. Yeah, thanks. > p.s. though it wasn't needed for this report as I was able to reproduce the > problem, in the future bug reports please follow: > http://perl.apache.org/bugs/. Thanks. Will do. Thanks for the prompt response. /L/e/k/t/u - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Segmentation fault
Bobber Cheng wrote:
(gdb) p r->filename
$1 = 0x81a1818 "/usr/local/lxr/source"
(gdb) p r->finfo
$2 = {pool = 0x819fe80, valid = 7598448, protection = 1877,
filetype = APR_REG, user = 48, group = 48, inode = 410325, device = 774,
nlink = 1, size = 7123, csize = 1077577583, atime = 106890962200,
mtime = 102790578300, ctime = 106830794700,
fname = 0x81a1818 "/usr/local/lxr/source", name = 0x0, filehand = 0x1}
I found r->finfo.filehand always is 0 whether i refresh the page, the file must be open by apr_file_open() even it is 1. So i just do
(gdb) set r->finfo.filehand=0
(gdb) p r->filename
$4 = 0x81a5828 "/usr/local/lxr/source"
(gdb) p r->finfo
$5 = {pool = 0x81a3e90, valid = 7598448, protection = 1877,
filetype = APR_REG, user = 48, group = 48, inode = 410325, device = 774,
nlink = 1, size = 7123, csize = 1077577583, atime = 106891474800,
mtime = 102790578300, ctime = 106830794700,
fname = 0x81a5828 "/usr/local/lxr/source", name = 0x0, filehand = 0x0}
It works.
Here is what i changed:
--- src.bak/modules/perl/modperl_util.c 2003-11-16 00:10:57.351359624 +0800
+++ src/modules/perl/modperl_util.c 2003-11-16 00:17:50.310580280 +0800
@@ -712,6 +712,7 @@
return newRV_noinc(sv);
}
+r->finfo.filehand = 0;
file = r->finfo.filehand;
if (!file) {
rc = apr_file_open(&file, r->filename, APR_READ|APR_BINARY,
Well, that renders the check, whether the file was already opened, useless, in
which case we should just:
rc = apr_file_open(...)
no matter what. I've now posted a question to the apr list asking how to
verify whether finfo contains a valid filehandle or not. Depending on their
answer we will either adjust the check to do the right thing, or
unconditionally open that file.
Thanks for the debug, Bobber, I'll keep you posted as I'll have more
information to tell.
__
Stas BekmanJAm_pH --> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
Elizabeth Mattijsen wrote:
At 12:20 -0800 11/15/03, Stas Bekman wrote:
Juanma Barranquero wrote:
[Sat Nov 15 17:39:17 2003] [error] [client 127.0.0.1] Modification of
a read-only value attempted at C:/bin/Perl/lib/Config.pm line 75.
, referer: http://localhost/perl-status
Yup, confirmed, that's a bug in perl:
% perl-5.8.1-ithread -le 'use threads; require Config; \
threads->new(sub { })->detach; print Config::myconfig()'
Modification of a read-only value attempted at
/home/stas/perl/5.8.1-ithread/lib/5.8.1/i686-linux-thread-multi/Config.pm
line 88.
One of which I am guilty, I'm afraid. This was one of the memory saving
fixes I submitted for 5.8.1. To fix this with 5.8.1 and 5.8.2, please
add the following code to your program (or to Apache::Status possibly?):
use Config;
BEGIN {
if ($Config::Config{useithreads} and $] > 5.008 and $] < 5.008003) {
no strict 'refs';
no warnings 'redefine';
sub Config::myconfig {
return $Config::summary_expanded if $Config::summary_expanded;
($Config::summary_expanded = $Config::summary) =~ s{\$(\w+)}
{ my $c = $Config{$1}; defined($c) ? $c : 'undef' }ge;
$Config::summary_expanded;
} #Config::myconfig
}
}
Thanks a lot, Liz. I've committed a similar local workaround, without
redefining Config::myconfig.
This code should resolve the issue for 5.8.1 and 5.8.2. I'll supply
patches for 5.8.3 to p5p.
Great! It'd be nice to have this tested as well under threads ;)
__
Stas BekmanJAm_pH --> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
On Sat, 15 Nov 2003 12:20:57 -0800, Stas Bekman <[EMAIL PROTECTED]> wrote:
> > FWIW, Apache::Status::handler returns 0, instead of Apache::OK or
> > whatever, but I'm not sure if that's the right value or not.
>
> Good catch. Now fixed in cvs.
As a follow-up:
/perl-status?inc
then click on a module with functions, then on a function, then Deparse;
I get, for example:
Deparse of Apache::XSLoader::BOOTSTRAP sub Apache::XSLoader::BOOTSTRAP () { 1 }
OK
The server encountered an internal error or misconfiguration and was
unable to complete your request.
/L/e/k/t/u
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
[mp2] borked cv_dump in Apache::Status
Something else that needs to be fixed (after t/TEST -start):
http://localhost:8529/status/perl/APR::Brigade::bootstrap/FUNCTION?cv_dump
Subroutine info for APR::Brigade::bootstrap
File: xYÂ
Package: APR::Brigade
Line: 245
Prototype: none
XSUB: yes
notice the bogus filename.
Looks like the problem is coming from:
sub cv_file {
my $obj = shift;
$obj->can('FILEGV') ? $obj->FILEGV->SV->PV : $obj->FILE;
}
where we get the $obj->FILE; rendered as a filename.
This is with:
Summary of my perl5 (revision 5.0 version 8 subversion 1) configuration:
Platform:
osname=linux, osvers=2.4.21-0.18mdkcustom, archname=i686-linux-thread-multi
uname='linux rabbit.stason.org 2.4.21-0.18mdkcustom #6 mon jun 16
16:26:34 est 2003 i686 unknown unknown gnulinux '
config_args='-des -Dprefix=/home/stas/perl/5.8.1-ithread -Dusethreads
-Doptimize=-g -Duseshrplib -Dusedevel'
hint=recommended, 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
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-g',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)',
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, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic
-Wl,-rpath,/home/stas/perl/5.8.1-ithread/lib/5.8.1/i686-linux-thread-multi/CORE'
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
Built under linux
Compiled at Oct 9 2003 11:57:40
%ENV:
PERLDOC_PAGER="less -R"
@INC:
/home/stas/perl/5.8.1-ithread/lib/5.8.1/i686-linux-thread-multi
/home/stas/perl/5.8.1-ithread/lib/5.8.1
/home/stas/perl/5.8.1-ithread/lib/site_perl/5.8.1/i686-linux-thread-multi
/home/stas/perl/5.8.1-ithread/lib/site_perl/5.8.1
/home/stas/perl/5.8.1-ithread/lib/site_perl
.
__
Stas BekmanJAm_pH --> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
Juanma Barranquero wrote:
As a follow-up:
/perl-status?inc
then click on a module with functions, then on a function, then Deparse;
I get, for example:
Deparse of Apache::XSLoader::BOOTSTRAP sub Apache::XSLoader::BOOTSTRAP () { 1 }
OK
The server encountered an internal error or misconfiguration and was
unable to complete your request.
Thanks, Juanma. Now fixed in cvs. (same problem)
__
Stas BekmanJAm_pH --> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
On Sat, 15 Nov 2003, Stas Bekman wrote:
> Juanma Barranquero wrote:
>
> > As a follow-up:
> >
> > /perl-status?inc
> >
> > then click on a module with functions, then on a function, then Deparse;
> > I get, for example:
> >
> > Deparse of Apache::XSLoader::BOOTSTRAP sub Apache::XSLoader::BOOTSTRAP () { 1 }
> >
> > OK
> >
> > The server encountered an internal error or misconfiguration and was
> > unable to complete your request.
>
> Thanks, Juanma. Now fixed in cvs. (same problem)
I've just updated the mod_perl ppm package to reflect
these changes. The version hasn't changed, so to
install it, you may have to uninstall the old version.
--
best regards,
randy
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
On Sat, 15 Nov 2003, Juanma Barranquero wrote: > On Sat, 15 Nov 2003 12:20:57 -0800, Stas Bekman <[EMAIL PROTECTED]> wrote: > > > I suppose Randy simply used the cvs version to make this build. That's right ... > > Yeah, well, the problem is that now there's no 1.99_11 binary on > Winnipeg :( :) At one point I tried keeping multiple versions. This becomes a bit complicated administratively, but more importantly, 99.9% of the time older versions have bugs that are fixed in the current version. This is the main reason I use the cvs version for the builds - however, I make sure that all, or at least the vast majority, of tests pass with a given build. So there's rarely a case of needing an older version, especially for something like mod_perl 2 which is in development. -- best regards, randy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
Randy Kobes wrote: Yeah, well, the problem is that now there's no 1.99_11 binary on Winnipeg :( :) At one point I tried keeping multiple versions. This becomes a bit complicated administratively, but more importantly, 99.9% of the time older versions have bugs that are fixed in the current version. This is the main reason I use the cvs version for the builds - however, I make sure that all, or at least the vast majority, of tests pass with a given build. So there's rarely a case of needing an older version, especially for something like mod_perl 2 which is in development. May be we should keep the binary of the latest release and the cvs one? The cvs version may introduce bugs non-existing in the last release and may go unnoticed for quite some time, if 'make test' doesn't catch them. So if winFU is now a viable platform for production use of mod_perl 2.0 users will most likely be better off with the latest release and not the cvs version. I'm not sure how ppm can handle that, though. Can it ignore the dev versions by some method similar to PAUSE (_ in the version number)? __ Stas BekmanJAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
On Sat, 15 Nov 2003, Stas Bekman wrote: > Randy Kobes wrote: > > >>Yeah, well, the problem is that now there's no 1.99_11 binary on > >>Winnipeg :( :) > > > > At one point I tried keeping multiple versions. This becomes > > a bit complicated administratively, but more importantly, > > 99.9% of the time older versions have bugs that are fixed in > > the current version. This is the main reason I use the cvs > > version for the builds - however, I make sure that all, or > > at least the vast majority, of tests pass with a given > > build. So there's rarely a case of needing an older version, > > especially for something like mod_perl 2 which is in > > development. > > May be we should keep the binary of the latest release and > the cvs one? The cvs version may introduce bugs > non-existing in the last release and may go unnoticed for > quite some time, if 'make test' doesn't catch them. So if > winFU is now a viable platform for production use of > mod_perl 2.0 users will most likely be better off with the > latest release and not the cvs version. > > I'm not sure how ppm can handle that, though. Can it > ignore the dev versions by some method similar to PAUSE (_ > in the version number)? That's a good point about the cvs vs last release ... ppm just downloads the name specified by the package, so we could make up two packages - "mod_perl" (the current official release), and "mod_perl-cvs", say. -- best regards, randy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1
Randy Kobes wrote: On Sat, 15 Nov 2003, Stas Bekman wrote: Randy Kobes wrote: Yeah, well, the problem is that now there's no 1.99_11 binary on Winnipeg :( :) At one point I tried keeping multiple versions. This becomes a bit complicated administratively, but more importantly, 99.9% of the time older versions have bugs that are fixed in the current version. This is the main reason I use the cvs version for the builds - however, I make sure that all, or at least the vast majority, of tests pass with a given build. So there's rarely a case of needing an older version, especially for something like mod_perl 2 which is in development. May be we should keep the binary of the latest release and the cvs one? The cvs version may introduce bugs non-existing in the last release and may go unnoticed for quite some time, if 'make test' doesn't catch them. So if winFU is now a viable platform for production use of mod_perl 2.0 users will most likely be better off with the latest release and not the cvs version. I'm not sure how ppm can handle that, though. Can it ignore the dev versions by some method similar to PAUSE (_ in the version number)? That's a good point about the cvs vs last release ... ppm just downloads the name specified by the package, so we could make up two packages - "mod_perl" (the current official release), and "mod_perl-cvs", say. Only if you really try to keep up with the cvs and make new releases let's say daily. Otherwise it'd be misleading if the cvs version doesn't match the binary. Therefore most likely you just want to call it mod_perl-dev, which doesn't guarantee that it's the very latest cvs. __ Stas BekmanJAm_pH --> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[mp2] AIX cannot load compiled libraries
1. Problem Description: On AIX 4.3.3, for mod_perl version 1.99_12 (yesterday's CVS) Compile seems to work but make test fails to load shared libraries, outputting: t/TEST -bugreport -verbose=0 /usr/local/apache2/bin/httpd -d /home/xxx/install-src/modperl-2.0/t -f /home/xxx/install-src/modperl-2.0/t/conf/httpd.conf -DAPACHE2 -DPERL_USEITHREADS using Apache/2.0.46 (worker MPM) waiting 60 seconds for server to start: .[Fri Nov 14 10:14:38 2003] [error] Can't load '/home/xx/install-src/modperl-2.0/blib/arch/auto/APR/Table/Table.so' for module APR::Table: at /usr/local/lib/perl5/5.8.0/aix-thread-multi/DynaLoader.pm line 229. at /home/xxx/install-src/modperl-2.0/blib/lib/APR/XSLoader.pm line 16 Compilation failed in require at /home/xxx/install-src/modperl-2.0/t/conf/modperl_extra.pl line 39. BEGIN failed--compilation aborted at /home/xxx/install-src/modperl-2.0/t/conf/modperl_extra.pl line 39. Compilation failed in require at /home/xxx/install-src/modperl-2.0/t/conf/modperl_startup.pl line 17. ...propagated at /home/xxx/install-src/modperl-2.0/t/conf/modperl_startup.pl line 18. BEGIN failed--compilation aborted at /home/xxx/install-src/modperl-2.0/t/conf/modperl_startup.pl line 20. Compilation failed in require at (eval 1) line 1. [Fri Nov 14 10:14:38 2003] [error] Can't load Perl file: /home/xxx/install-src/modperl-2.0/t/conf/modperl_startup.pl for server loopback:8529, exiting... 2. Used Components and their Configuration: *** mod_perl version 1.9912 *** using lib/Apache/BuildConfig.pm *** Makefile.PL options: MP_AP_PREFIX => /usr/local/apache2 MP_COMPAT_1X => 1 MP_GENERATE_XS => 1 MP_LIBNAME => mod_perl MP_USE_DSO => 1 MP_USE_STATIC => 1 *** /usr/local/apache2/bin/httpd -V Server version: Apache/2.0.46 Server built: Jun 17 2003 13:54:50 Server's Module Magic Number: 20020903:3 Architecture: 32-bit Server compiled with -D APACHE_MPM_DIR="server/mpm/worker" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D HTTPD_ROOT="/usr/local/apache2" -D SUEXEC_BIN="/usr/local/apache2/bin/suexec" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf" *** /usr/local/bin/perl -V Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration: Platform: osname=aix, osvers=4.3.3.0, archname=000920534C00-aix-thread-multi uname='aix xxx 3 4 2f0e4c00 ' config_args='' hint=previous, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=de fine useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc_r', ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem =16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -I/usr/local/includ e -q32 -D_LARGE_FILES -qlonglong', optimize='-O', cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -I/usr/local/include -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSI X_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD_INIT -I /usr/local/include -q32 -D_LARGE_FILES -qlonglong -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=16384 -qnoansialias -DUSE_NATIVE_DLOPEN -DNEED_PTHREAD _INIT -I/usr/local/include -q32 -D_LARGE_FILES -qlonglong' ccversion='5.0.1.0', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize =8 alignbytes=8, prototype=define Linker and Libraries: ld='ld', ldflags =' -brtl -L/usr/local/lib -b32' libpth=/usr/local/lib /lib /usr/lib /usr/ccs/lib libs=-lbind -lnsl -ldbm -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW perllibs=-lbind -lnsl -ldl -lld -lm -lpthreads -lc_r -lcrypt -lbsd -lPW libc=/lib/libc.a, so=a, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags=' -bE:/usr/local/lib/ perl5/5.8.0/aix-thread-multi/CORE/perl.exp -bE:/usr/local/lib/perl5/5.8.0/aix-th read-multi/CORE/perl.exp -bE:/usr/local/lib/perl5/5.8.0/aix-thread-multi/CORE/pe rl.exp' cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -bI:$(PERL_INC)/perl.exp -bE:$(B ASEEXT).exp -bnoentry -lpthreads -lc_r -L/usr/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_ CONTEXT Built under aix Compiled at Oct 21 2002 16:02:17 %ENV: PERL_LWP_USE_HTTP_10="1" @INC: /usr/local/
[mp2] segfaults when using "include" filter w/mod_perl
Hello,
Thanks for taking the time to look at this:
-8<-- Start Bug Report 8<--
1. Problem Description:
If anyone knows how to fix this, please CC: your reply directly to me, I'm
not subscribed to the list, thanks :-)
When using mod_include and mod_perl together with DBI (DBD::mysql),
strange crashes happen.
My code works in this setup:
Apache/2.0.46 mod_perl-1.99_09 Perl/5.8.0
My code fails with a segmentation fault in this setup:
Apache/2.0.48 mod_perl-1.99_11 (or CVS) Perl/5.8.2
My code does this:
- A ModPerl::Registry script sends a Server-Side-Include for a shtml file
- That shtml file in turn sends a Server-Side-Include for a ModPerl script
- Either ModPerl script in question attempts to access DBI
EG;
a.pl:
$r->print("");
b.inc:
c.pl
...
$sth->execute()
$r->print($sth->fetchrow_array());
Here is the debugging output I get from gdb:
#0 0x0050 in ?? ()
#1 0x0808d0fa in core_output_filter (f=0x81d80a0, b=0x81e3c90) at
core.c:3926
#2 0x08084b81 in ap_pass_brigade (next=0xbfffe1e8, bb=0xbfffe1ec)
at util_filter.c:550
#3 0x4046bddd in logio_out_filter (f=0x81d8060, bb=0x81e86e8)
at mod_logio.c:179
#4 0x08084b81 in ap_pass_brigade (next=0xbfffe1e8, bb=0xbfffe1ec)
at util_filter.c:550
#5 0x0808713f in ap_content_length_filter (f=0x81e2a50, b=0x81e86e8)
at protocol.c:1263
#6 0x08084b81 in ap_pass_brigade (next=0xbfffe1e8, bb=0xbfffe1ec)
at util_filter.c:550
#7 0x404642ef in handle_include (ctx=0x81d80e0, bb=0xbfffe8b4, r=0x81e1c48,
f=0x81e37b0, head_ptr=0x81de120, inserted_head=0xbfffe458)
at mod_include.c:1268
#8 0x4046728a in send_parsed_content (bb=0xbfffe8b4, r=0x81e1c48,
f=0x81e37b0)
at mod_include.c:3120
#9 0x40467d6c in includes_filter (f=0x81e37b0, b=0x81e86e8)
at mod_include.c:3428
#10 0x08084b81 in ap_pass_brigade (next=0xbfffe1e8, bb=0xbfffe1ec)
at util_filter.c:550
#11 0x404b57ec in modperl_wbucket_pass (wb=0x81e5c20,
buf=0x81e5c24 "DBI
TEST\nD>bizeNom15.99210\n
3bze"..., len=101,
add_flush_bucket=0) at modperl_filter.c:164
#12 0x404b5b39 in modperl_wbucket_flush (wb=0x81e5c20,
add_flush_bucket=-1073749524) at modperl_filter.c:182
#13 0x404b5511 in PerlIOApache_flush (my_perl=0x817a198, f=0x81ddc00)
at modperl_io_apache.c:177
#14 0x405c69a6 in Perl_PerlIO_flush () from /usr/lib/libperl.so.5.8
#15 0x405abc1a in Perl_do_openn () from /usr/lib/libperl.so.5.8
#16 0x405aa91c in Perl_do_open () from /usr/lib/libperl.so.5.8
#17 0x404b49ab in modperl_io_perlio_override_stdout (my_perl=0x817a198,
r=0x81ddc00) at modperl_io.c:140
#18 0x404aa750 in modperl_response_handler_cgi (r=0x8389f00) at
mod_perl.c:888
#19 0x08077615 in ap_run_handler (r=0x8389f00) at config.c:194
#20 0x08077c20 in ap_invoke_handler (r=0x8389f00) at config.c:401
#21 0x0809104f in ap_run_sub_req (r=0x8389f00) at request.c:1893
#22 0x4046414d in handle_include (ctx=0x81d8180, bb=0xb1a4, r=0x82a73e8,
f=0x82a8288, head_ptr=0x81ddef0, inserted_head=0xbfffed48)
at mod_include.c:1349
#23 0x4046728a in send_parsed_content (bb=0xb1a4, r=0x82a73e8,
f=0x82a8288)
at mod_include.c:3120
#24 0x40467d6c in includes_filter (f=0x82a8288, b=0x82a83c8)
at mod_include.c:3428
#25 0x08084b81 in ap_pass_brigade (next=0xbfffe1e8, bb=0xbfffe1ec)
at util_filter.c:550
#26 0x0808c821 in default_handler (r=0x82a73e8) at core.c:3558
#27 0x08077615 in ap_run_handler (r=0x82a73e8) at config.c:194
#28 0x08077c20 in ap_invoke_handler (r=0x82a73e8) at config.c:401
#29 0x0809104f in ap_run_sub_req (r=0x82a73e8) at request.c:1893
#30 0x4046414d in handle_include (ctx=0x81d80e0, bb=0xb774, r=0x81e1c48,
f=0x81e37b0, head_ptr=0x81ddc20, inserted_head=0xb318)
at mod_include.c:1349
#31 0x4046728a in send_parsed_content (bb=0xb774, r=0x81e1c48,
f=0x81e37b0)
at mod_include.c:3120
#32 0x40467d6c in includes_filter (f=0x81e37b0, b=0x81e85b0)
at mod_include.c:3428
#33 0x08084b81 in ap_pass_brigade (next=0xbfffe1e8, bb=0xbfffe1ec)
at util_filter.c:550
#34 0x404b57ec in modperl_wbucket_pass (wb=0x81e5c20,
buf=0x81e5c24 "DBI
TEST\nD>bizeNom15.99210\n
3bze"..., len=101,
add_flush_bucket=0) at modperl_filter.c:164
#35 0x404b5b39 in modperl_wbucket_flush (wb=0x81e5c20,
add_flush_bucket=-1073749524) at modperl_filter.c:182
#36 0x404b5511 in PerlIOApache_flush (my_perl=0x817a198, f=0x81ddc00)
#33 0x08084b81 in ap_pass_brigade (next=0xbfffe1e8, bb=0xbfffe1ec)
at util_filter.c:550
#34 0x404b57ec in modperl_wbucket_pass (wb=0x81e5c20,
buf=0x81e5c24 "DBI
TEST\nD>bizeNom15.99210\n
3bze"..., len=101,
add_flush_bucket=0) at modperl_filter.c:164
#35 0x404b5b39 in modperl_wbucket_flush (wb=0x81e5c20,
add_flush_bucket=-1073749524) at modperl_filter.c:182
#36 0x404b5511 in PerlIOApache_flush (my_perl=0x817a198, f=0x81ddc00)
---Type to continue, or q to quit---
at modperl_io_apache.c:177
#37 0x405c69a6 in Perl_PerlIO_flush () from /usr/lib/l
