Problems with mod_perl 1.12 (?) and ActivePerl 5.8.1

2003-11-15 Thread Juanma Barranquero

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

2003-11-15 Thread Bobber Cheng
(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

2003-11-15 Thread Stas Bekman
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

2003-11-15 Thread Elizabeth Mattijsen
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

2003-11-15 Thread Juanma Barranquero
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

2003-11-15 Thread Stas Bekman
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

2003-11-15 Thread Stas Bekman
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

2003-11-15 Thread Juanma Barranquero
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

2003-11-15 Thread Stas Bekman
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

2003-11-15 Thread Stas Bekman
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

2003-11-15 Thread Randy Kobes
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

2003-11-15 Thread Randy Kobes
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

2003-11-15 Thread Stas Bekman
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

2003-11-15 Thread Randy Kobes
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

2003-11-15 Thread Stas Bekman
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

2003-11-15 Thread Kailden K
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

2003-11-15 Thread Tyler 'Crackerjack' MacDonald
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