[ANNOUNCE] Apache::AuthCookieNTLM 0.05

2003-11-10 Thread Leo Lapworth
> On Fri, Nov 07, 2003 at 06:11:48PM +0100, Stefano Ciancio wrote:
> > First of all a question. The AuthenNTLM module setted an env variable
> > REMOTE_USER to domain\\username value.

The uploaded file

Apache-AuthCookieNTLM-0.05.tar.gz

has entered CPAN as

  file: $CPAN/authors/id/L/LL/LLAP/Apache-AuthCookieNTLM-0.05.tar.gz
  size: 4590 bytes
   md5: e902cc73ff25c384fd3e8e1b11d96702

Available NOW from:

  http://leo.cuckoo.org/projects/

This version now defaults to setting the REMOTE_USER value as
userdomain\\username this will be the case as long as
'username' and 'userdomain' are set in choose_cookie_values().

Enjoy.

Leo

-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re: apache2 could not start

2003-11-10 Thread HLiu

Thanks Randy,

It was caused by the permission which should not happen. I just changed OS
from window 2000 to XP and installed the apache2 but the logs directory was
readable only by unknow reason.
It works fine now.

Thanks again,

Willy



   
  
  Randy Kobes  
  
  <[EMAIL PROTECTED]To:   [EMAIL PROTECTED]

  innipeg.ca>   cc:   [EMAIL PROTECTED]

Subject:  Re: apache2 could not start  
  
  11/07/2003 05:35 
  
  PM   
  
   
  
   
  




On Fri, 7 Nov 2003 [EMAIL PROTECTED] wrote:

> Randy,
>
> I downloaded the binary bundle of Apache2 with modperl
> from uwinnipeg which was fine for Window 2000 but doesn't
> work for Window XP.
>
> Do you have any idea what I should do to fix the problem such as
>
> The Apache2 service terminated with service-specific error 1 (0xl). The
> more detailed information is attached as below.
>
> Thanks,
>
> Willy

I'm afraid the error message is a bit too general ...  Does
this error come up when starting the service? Or do you have
to make a request to invoke it? Any request?

Did you install the service using
   C:\Apache2\bin> Apache -n Apache2 -k install
If so, does starting the service as
   C:\Apache2\bin> Apache -n Apache2 -k start
work with just a vanilla Apache (ie, with mod_perl
disabled)?

Might there be another Apache installation on your system
(or, shudder, another brand of web server) that might be
running off of the same port and causing a conflict?

--
best regards,
randy

--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html






-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re: xml and mod_perl

2003-11-10 Thread tvilliers
On Thu, 06 Nov 2003 17:36:38 -0700, Dustin Whitney wrote:

> I am using Mason.  Here are some lines from my httpd.conf file that are
> probably relevant:
> 
> 
>   Alias /perl/ /var/www/perl/
>   PerlSetVar MasonAllowGlobals $swit_user PerlInitHandler "Apache::StatINC"
> 
> 
>   SetHandler perl-script
>   PerlHandler Apache::Registry
>   Options +ExecCGI
> 
>   
>   
>SetHandler perl-script
>   PerlHandler HTML::Mason::ApacheHandler
> 
>   
>   SetHandler cgi-script
> 
> 

I also use Mason, with success, try:

  
SetHandler default-handler
  



-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re[2]: strange behavor

2003-11-10 Thread Andrey A. Kudrin
Hello Stas,

Thursday, November 06, 2003, 4:11:41 PM, you wrote:

SB> Hmm, I haven't see such a case before. Is it possible that print_login is
SB> defined in some package as well, and when you do an import->(:all) it gets 
SB> imported overriding the local sub?

No, there is no print_login in any module I use.

SB> We need to see a simple test case to try to reproduce the problem. You should 
SB> be able to remove all irrelevant code from these two scripts (like all the 
SB> used modules) and still see the problem. If you don't then the problem comes 
SB> from one of the used modules.

But how can I emulate on-line activity? This error occurs only
on-line.

And additional, I found that my site get freezed after about 2 days
running, all http servers running, but pages cannot be opened. Is
there some tools to determine the reason?

---
Sincerely yours,
Andrey A. Kudrin,



-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re[4]: strange behavor

2003-11-10 Thread Andrey A. Kudrin
Hello Perrin,

Friday, November 07, 2003, 12:23:59 AM, you wrote:

PH> There is nothing in your sample code here that would cause one sub to be
PH> called in place of another.  How do you know that the other print_login
PH> is being called?

Because I see the result page. All print_login prints different pages.

PH> Is it because of CGI parameters that get printed?  You
PH> might be having a problem with accidentally caching your CGI object
PH> somewhere.

but why it's cached under PerlRun?

PH> Can you show us the print_login subs?

there is nothing extraordinary, just few prints and nothing else.

---
Sincerely yours,
Andrey A. Kudrin,
RussianCourier, http://www.russiancourier.com
mailto:[EMAIL PROTECTED]



-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



[MP1] Apache segfault after serving request

2003-11-10 Thread Marc Slagle
After serving up requests normally for some time, we get the following
line in our error_log:

[Mon Nov 10 13:44:31 2003] [notice] child pid 24121 exit signal
Segmentation fault (11)

There aren't any other entries in the error log for the requests.  We
think that this is happening during the normal termination of the child
process (after serving MaxRequestsPerChild requests, or exceeding
GTopLimit limits).  The segfaults were happening before we added the
GTopLimit configuration.

Has anybody seen this behavior before?  I can send more information if
needed.

Thanks

Useful information:

perl -V reports:
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
osname=linux, osvers=2.4.20-8smp, archname=i686-linux
uname='linux ooghij 2.4.20-8smp #1 smp thu mar 13 17:45:54 est 2003
i686 i686 i386 gnulinux '
config_args=''
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='cc', ccflags ='-fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O3',
cppflags='-fno-strict-aliasing -I/usr/include/gdbm'
ccversion='', gccversion='3.2.2 20030222 (Red Hat Linux 3.2.2-5)',
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 -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lc -lcrypt -lutil
libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.2'
  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: USE_LARGE_FILES
  Built under linux
  Compiled at Jul 31 2003 13:36:56
  @INC:
/usr/local/lib/perl5/5.8.0/i686-linux
/usr/local/lib/perl5/5.8.0
/usr/local/lib/perl5/site_perl/5.8.0/i686-linux
/usr/local/lib/perl5/site_perl/5.8.0
/usr/local/lib/perl5/site_perl
.

The version of mod perl we are running is 1.28, with apache 1.28.

We built mod_perl with:
perl Makefile.PL \
APACHE_SRC=../apache_1.3.28/src \
APACHE_PREFIX=/usr/skynet \
DO_HTTPD=1 \
USE_APACI=1 \
EVERYTHING=1 \
APACI_ARGS='--disable-rule=EXPAT --disable-module=env
--disable-module=negotiation --disable-module=status
--disable-module=include --disable-module=autoindex
--disable-module=asis --disable-module=imap --disable-module=actions
--disable-module=userdir --disable-module=setenvif' 

The relevant portion of the httpd.conf file:

ServerAdmin [EMAIL PROTECTED]
DocumentRoot /usr/skynet/htdocs
ServerName skynet.whapps.com
Alias /icons/ "/usr/skynet/htdocs"
PerlTransHandlerSkynet::TransHandler
ErrorDocument 401 /authfail.html

AuthName "Password Protected Area"
AuthType Basic
PerlAuthenHandler Skynet::AuthenHandler
require valid-user
PerlSetVar Apache::GTopLimit::DEBUG 1
PerlFixupHandler Apache::GTopLimit
PerlHandler Skynet::Handler



The startup.pl file:
#!/usr/bin/perl
 
use strict;
use Skynet::Util;
use Apache::GTopLimit;
use Skynet::Handler;
use Apache::DBI;
 
# Control the life based on memory size
# in KB, so this is ~10MB
$Apache::GTopLimit::MAX_PROCESS_SIZE = 2;
 
# Make sure we are in a sane environment.
$ENV{MOD_PERL} or die "not running under mod_perl!";
   
# Initialize the database connections for each child
#$Apache::DBI::DEBUG = "3";
my
$Dbh=Apache::DBI->connect_on_init("dbi:mysql:dbname=skynet;host=x.com;","user","pass",
{AutoCommit => 1, RaiseError => 1});
 
1;



A backtrace when the segfault occurs:
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
This GDB was configured as "i386-redhat-linux-gnu"...
(gdb) run -X -f /usr/skynet/conf/httpd.conf
Starting program: /usr/skynet/bin/httpd -X -f
/usr/skynet/conf/httpd.conf
  
Program received signal SIGSEGV, Segmentation fault.
0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
101 return (table *)SvIV((SV*)SvRV(rv));
(gdb) bt
#0  0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
#1  0x08088995 in XS_Apache__Table_DESTROY (cv=0x81ae5dc) at Table.c:149
#2  0x0810b6c9 in Perl_pp_entersub ()
#3  0x080ba314 in S_call_body ()
#4  0x080ba0ee in Perl_call_sv ()
#5  0x08112b2b in Perl_sv_clear ()
#6  0x08112d53 in Perl_sv_free ()
#7  0x08117995 in Perl_sv_clean_objs ()
#8  0x080b89f8 in perl_destruct ()
#9  0x0806bd6c in perl_shutdown (s=0x819e1

Re: Re[4]: strange behavor

2003-11-10 Thread Perrin Harkins
On Mon, 2003-11-10 at 14:12, Andrey A. Kudrin wrote:
> PH> There is nothing in your sample code here that would cause one sub to be
> PH> called in place of another.  How do you know that the other print_login
> PH> is being called?
> 
> Because I see the result page. All print_login prints different pages.

Does the output you send depend on something external, like a parameter
from CGI.pm?

> PH> Is it because of CGI parameters that get printed?  You
> PH> might be having a problem with accidentally caching your CGI object
> PH> somewhere.
> 
> but why it's cached under PerlRun?

You could be accidentally creating a closure.  Also, keep in mind that
PerlRun only clears globals within the main script.  If you use any
modules that have globals in their own namespaces, those do not get
cleared by PerlRun.

> PH> Can you show us the print_login subs?
> 
> there is nothing extraordinary, just few prints and nothing else.

Well, the code you've shown so far doesn't seem like it could produce
the results you're talking about, so we really need you to show us a
test case to give you further help.  If you can reduce your script down
to a very simple one that demonstrates the problem and post it here, we
can probably see what's wrong.

- Perrin

-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re: [mp1] freezing proccesses

2003-11-10 Thread Stas Bekman
> And additional, I found that my site get freezed after about 2 days
> running, all http servers running, but pages cannot be opened. Is
> there some tools to determine the reason?
[in the future please ask unrelated questions in separate threads to keep the 
threads focused. I did the separation for you this time. ]

See:
http://perl.apache.org/docs/1.0/guide/debug.html#Hanging_Processes__Detection_and_Diagnostics
__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Matisse Enzer
I tried the patch and got the same result:

apr/table..FAILED tests 20-21   
Failed 2/21 tests, 90.48% okay

FWIW, I was able to build without error on a different machine (same 
architecture and OS - redhat 8.0 on intel) - the machine where it 
fails is a dual-processor, but I cannot see what difference that 
would make.


Matisse Enzer wrote:
Anyone have some suggestions for me?

-8<-- Start Bug Report 8<--
1. Problem Description:
apr/table..FAILED tests 20-21
Please apply the patch at the bottom and send the ouput of:

  t/TEST -v apr/table

I think this has to do with 'if (HAVE_APACHE_2_0_47) {'. May be the 
new api compress didn't end up in 2.0.47. Care to try to install 
2.0.48 and give it another test?

--- t/response/TestAPR/table.pm 22 Aug 2003 19:15:08 -  1.8
+++ t/response/TestAPR/table.pm 7 Nov 2003 20:20:40 -
@@ -4,6 +4,7 @@
 use warnings FATAL => 'all';
 use Apache::Test;
+use Apache::TestUtil;
 use APR::Table ();

@@ -127,8 +128,12 @@
 $overlay->compress(APR::OVERLAP_TABLES_MERGE);
 # $add first, then $base
-ok $overlay->get('foo') eq 'three, one, two';
-ok $overlay->get('bar') eq 'beer';
+ok t_cmp($overlay->get('foo'),
+ 'three, one, two',
+ "$overlay->compress");
+ok t_cmp($overlay->get('bar'),
+ 'beer',
+ "\$overlay->compress");
 }
 Apache::OK;

__
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


--
--
Matisse Enzer
Doodlelab Inc.
415-925-5294 ext. 212 (office)
415-225-6703 (mobile)
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: strange behavor

2003-11-10 Thread Stas Bekman
Andrey A. Kudrin wrote:
Hello Perrin,

Friday, November 07, 2003, 12:23:59 AM, you wrote:

PH> There is nothing in your sample code here that would cause one sub to be
PH> called in place of another.  How do you know that the other print_login
PH> is being called?
Because I see the result page. All print_login prints different pages.
Can you come up with two simple test scripts that you can reproduce the 
problem with? We fail to guess a possible reason for this behavior. We need to 
be able to reproduce the problem to analyze it.

PH> Is it because of CGI parameters that get printed?  You
PH> might be having a problem with accidentally caching your CGI object
PH> somewhere.
but why it's cached under PerlRun?
PerlRun doesn't cache scripts it compiles at all. Registry does.

PH> Can you show us the print_login subs?

there is nothing extraordinary, just few prints and nothing else.
see above.

> But how can I emulate on-line activity? This error occurs only
> on-line.
You don't need to emulate it. Just run it online. You can use Apache::Test to 
setup a test if you really want to. But if you give us 2 scripts and the 
instructions how to reproduce the problem we will do that. (e.g., request 
script 1 once and then script 2, and then ...).

Also try to reproduce the problem while running under 'httpd -X'.

__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Stas Bekman
Matisse Enzer wrote:
I tried the patch and got the same result:

apr/table..FAILED tests 
20-21   Failed 2/21 tests, 90.48% okay
thanks, but you didn't do what I've asked you for:

>> Please apply the patch at the bottom and send the ouput of:
>>
>>   t/TEST -v apr/table
Can we see that output?

FWIW, I was able to build without error on a different machine (same 
architecture and OS - redhat 8.0 on intel) - the machine where it fails 
is a dual-processor, but I cannot see what difference that would make.
Interesting. SMP can definitely reveal bugs with threads, but I don't think 
this is related.

__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Matisse Enzer
Here'a line from   t/logs/error_log

/usr/local/apache2.0.47/bin/httpd: relocation error: 
/usr/local/src/apache/mod_perl-1.99_10/blib/arch/auto/APR/Table/Table.so: 
undefined symbol: apr_table_compress

And here is the output of  t/TEST -v apr/table



[EMAIL PROTECTED] mod_perl-1.99_10]# t/TEST -v apr/table
*** setting ulimit to allow core files
ulimit -c unlimited; t/TEST -v 'apr/table'
*** root mode: changing the files ownership to 'nobody' (99:99)
*** sudo -u '#99' /usr/bin/perl -e 'print -r 
"/usr/local/src/apache/mod_perl-1.99_10/t" &&  -w _ && -x _ ? "OK" : 
"NOK"'

*** result: OK
/usr/local/apache2.0.47/bin/httpd  -d 
/usr/local/src/apache/mod_perl-1.99_10/t -f 
/usr/local/src/apache/mod_perl-1.99_10/t/conf/httpd.conf -DAPACHE2 
-DPERL_USEITHREADS
using Apache/2.0.47 (prefork MPM)

waiting for server to start: .[Mon Nov 10 11:08:56 2003] [info] 22 
Apache:: modules loaded
[Mon Nov 10 11:08:56 2003] [info] 5 APR:: modules loaded
[Mon Nov 10 11:08:56 2003] [info] base server + 10 vhosts ready to run tests
..
waiting for server to start: ok (waited 2 secs)
server localhost.localdomain:8529 started
server localhost.localdomain:8530 listening (TestProtocol::echo)
server localhost.localdomain:8531 listening (TestProtocol::echo_filter)
server localhost.localdomain:8532 listening (TestPreConnection::note)
server localhost.localdomain:8533 listening (TestHooks::stacked_handlers2)
server localhost.localdomain:8534 listening (TestFilter::in_str_msg)
server localhost.localdomain:8535 listening (TestFilter::both_str_con_add)
server localhost.localdomain:8536 listening (TestFilter::in_bbs_msg)
server localhost.localdomain:8537 listening (TestDirective::perlmodule)
server localhost.localdomain:8538 listening (TestDirective::perlrequire)
server localhost.localdomain:8539 listening (TestPerl::ithreads)
server localhost.localdomain:8540 listening (TestDirective::perlloadmodule3)
server localhost.localdomain:8541 listening (TestDirective::perlloadmodule4)
server localhost.localdomain:8542 listening (TestDirective::perlloadmodule5)
server localhost.localdomain:8543 listening (TestDirective::perlloadmodule6)
apr/table1..21
# Running under perl version 5.008 for linux
# Current time local: Mon Nov 10 11:08:57 2003
# Current time GMT:   Mon Nov 10 19:08:57 2003
# Using Test.pm version 1.23
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
FAILED tests 20-21
Failed 2/21 tests, 90.48% okay
Failed Test Stat Wstat Total Fail  Failed  List of Failed
---
apr/table.t   212   9.52%  20-21
*** server localhost.localdomain:8529 shutdown
*** port 8529 still in use...
...!!!
server was shutdown but port 8529 is still in use, please shutdown 
the service using this port or select another port for the tests
!!! port 8529 is in use, cannot determine server pid to shutdown
!!! error running tests (please examine t/logs/error_log)
[EMAIL PROTECTED] mod_perl-1.99_10]#







Matisse Enzer wrote:
Anyone have some suggestions for me?

-8<-- Start Bug Report 8<--
1. Problem Description:
apr/table..FAILED tests 20-21
Please apply the patch at the bottom and send the ouput of:

  t/TEST -v apr/table

I think this has to do with 'if (HAVE_APACHE_2_0_47) {'. May be the 
new api compress didn't end up in 2.0.47. Care to try to install 
2.0.48 and give it another test?

--- t/response/TestAPR/table.pm 22 Aug 2003 19:15:08 -  1.8
+++ t/response/TestAPR/table.pm 7 Nov 2003 20:20:40 -
@@ -4,6 +4,7 @@
 use warnings FATAL => 'all';
 use Apache::Test;
+use Apache::TestUtil;
 use APR::Table ();

@@ -127,8 +128,12 @@
 $overlay->compress(APR::OVERLAP_TABLES_MERGE);
 # $add first, then $base
-ok $overlay->get('foo') eq 'three, one, two';
-ok $overlay->get('bar') eq 'beer';
+ok t_cmp($overlay->get('foo'),
+ 'three, one, two',
+ "$overlay->compress");
+ok t_cmp($overlay->get('bar'),
+ 'beer',
+ "\$overlay->compress");
 }
 Apache::OK;

__
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


--
--
Matisse Enzer
Doodlelab Inc.
415-925-5294 ext. 212 (office)
415-225-6703 (mobile)
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Geoffrey Young


Matisse Enzer wrote:
I tried the patch and got the same result:

apr/table..FAILED tests 
20-21   Failed 2/21 tests, 90.48% okay
yes, but please run with verbose mode on so we can see the output

$ t/TEST t/apr/table.t -v




FWIW, I was able to build without error on a different machine (same 
architecture and OS - redhat 8.0 on intel) - the machine where it fails 
is a dual-processor, but I cannot see what difference that would make.
it might.  I had originally coded those two tests with sort, until I was 
told that insertion order in apache tables is guaranteed.  if you get the 
same basic results from the test but in a different order, it might have 
something to do with the underlying table implementation, which could have 
architecture dependencies.  if the results are totally random, though, I 
have no idea :)

anyway, the output would be much appreciated.

--Geoff

--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [MP1] Apache segfault after serving request

2003-11-10 Thread Stas Bekman
Marc Slagle wrote:
After serving up requests normally for some time, we get the following
line in our error_log:
[Mon Nov 10 13:44:31 2003] [notice] child pid 24121 exit signal
Segmentation fault (11)
There aren't any other entries in the error log for the requests.  We
think that this is happening during the normal termination of the child
process (after serving MaxRequestsPerChild requests, or exceeding
GTopLimit limits).  The segfaults were happening before we added the
GTopLimit configuration.
[...]

A backtrace when the segfault occurs:
GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
This GDB was configured as "i386-redhat-linux-gnu"...
(gdb) run -X -f /usr/skynet/conf/httpd.conf
Starting program: /usr/skynet/bin/httpd -X -f
/usr/skynet/conf/httpd.conf
  
Program received signal SIGSEGV, Segmentation fault.
0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
101 return (table *)SvIV((SV*)SvRV(rv));
(gdb) bt
#0  0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
#1  0x08088995 in XS_Apache__Table_DESTROY (cv=0x81ae5dc) at Table.c:149
Thanks for the detailed report, Marc

Please try this patch:

Index: src/modules/perl/Table.xs
===
RCS file: /home/cvs/modperl/src/modules/perl/Table.xs,v
retrieving revision 1.10
diff -u -r1.10 Table.xs
--- src/modules/perl/Table.xs   23 May 2000 15:56:12 -  1.10
+++ src/modules/perl/Table.xs   10 Nov 2003 19:46:55 -
@@ -114,9 +114,10 @@
 Apache__Table tab;
 CODE:
-tab = (Apache__Table)hvrv2table(self);
-if(SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV)
+if(SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV) {
+tab = (Apache__Table)hvrv2table(self);
 safefree(tab);
+}
 void
 FETCH(self, key)
__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Stas Bekman
Matisse Enzer wrote:
Here'a line from   t/logs/error_log

/usr/local/apache2.0.47/bin/httpd: relocation error: 
/usr/local/src/apache/mod_perl-1.99_10/blib/arch/auto/APR/Table/Table.so: 
undefined symbol: apr_table_compress
That's the problem. Thanks for providing this entry.

Please do:

  % ldd blib/arch/auto/APR/APR.so | grep apr-

and then take the path that you get and do

  % nm /path/to/libapr-0.so.0 | grep table_compress

e.g. on my machine it's:

% ldd blib/arch/Apache2/auto/APR/APR.so | grep apr-
libapr-0.so.0 => /home/stas/httpd/worker/lib/libapr-0.so.0 (0x40004000)
% nm /home/stas/httpd/worker/lib/libapr-0.so.0 | grep table_compress
d8b0 T apr_table_compress
Chances are that it uses an old libapr, which it finds instead of the newer 
one coming with Apache 2.0.48. So you may need to nuke the old one. (same for 
libaprutil-0.so.0)

__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Matisse Enzer
Thank you.

I got:

[EMAIL PROTECTED] mod_perl-1.99_10]# ldd blib/arch/auto/APR/APR.so | 
grep apr-libapr-0.so.0 => 
/usr/local/apache2.0.47/lib/libapr-0.so.0 (0x40003000)

[EMAIL PROTECTED] mod_perl-1.99_10]#  nm 
/usr/local/apache2.0.47/lib/libapr-0.so.0 | grep table_compress
d010 T apr_table_compress

So, when you say "nuke the old one" do you mean remove
/usr/local/apache2.0.47/lib/libapr-0.so.0
?

Matisse Enzer wrote:
Here'a line from   t/logs/error_log

/usr/local/apache2.0.47/bin/httpd: relocation error: 
/usr/local/src/apache/mod_perl-1.99_10/blib/arch/auto/APR/Table/Table.so: 
undefined symbol: apr_table_compress
That's the problem. Thanks for providing this entry.

Please do:

  % ldd blib/arch/auto/APR/APR.so | grep apr-

and then take the path that you get and do

  % nm /path/to/libapr-0.so.0 | grep table_compress

e.g. on my machine it's:

% ldd blib/arch/Apache2/auto/APR/APR.so | grep apr-
libapr-0.so.0 => /home/stas/httpd/worker/lib/libapr-0.so.0 
(0x40004000)
% nm /home/stas/httpd/worker/lib/libapr-0.so.0 | grep table_compress
d8b0 T apr_table_compress

Chances are that it uses an old libapr, which it finds instead of 
the newer one coming with Apache 2.0.48. So you may need to nuke the 
old one. (same for libaprutil-0.so.0)

__
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


--
--
Matisse Enzer
Doodlelab Inc.
415-925-5294 ext. 212 (office)
415-225-6703 (mobile)
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Stas Bekman
Matisse Enzer wrote:
Thank you.

I got:

[EMAIL PROTECTED] mod_perl-1.99_10]# ldd blib/arch/auto/APR/APR.so | grep 
apr-libapr-0.so.0 => /usr/local/apache2.0.47/lib/libapr-0.so.0 
(0x40003000)

[EMAIL PROTECTED] mod_perl-1.99_10]#  nm 
/usr/local/apache2.0.47/lib/libapr-0.so.0 | grep table_compress
d010 T apr_table_compress
Good. In which case I want to see:

ldd /usr/local/apache2.0.47/bin/httpd

Also I want you to do:

locate libapr-0.so.0

and see if you come up with another occurence of libapr-0.so.0, somewhere 
else. If you find one in /usr/lib or /usr/local/lib that will explain the 
problem. Most likely you have an old pre-installed apr package which gets 
loaded before /usr/local/apache2.0.47/lib/libapr-0.so.0.

So, when you say "nuke the old one" do you mean remove
/usr/local/apache2.0.47/lib/libapr-0.so.0
no, no, don't nuke anything just yet.

__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [MP1] Apache segfault after serving request

2003-11-10 Thread Marc Slagle

> Please try this patch:
> 
> Index: src/modules/perl/Table.xs
> ===
> RCS file: /home/cvs/modperl/src/modules/perl/Table.xs,v
> retrieving revision 1.10
> diff -u -r1.10 Table.xs
> --- src/modules/perl/Table.xs   23 May 2000 15:56:12 -  1.10
> +++ src/modules/perl/Table.xs   10 Nov 2003 19:46:55 -
> @@ -114,9 +114,10 @@
>   Apache__Table tab;
> 
>   CODE:
> -tab = (Apache__Table)hvrv2table(self);
> -if(SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV)
> +if(SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV) {
> +tab = (Apache__Table)hvrv2table(self);
>   safefree(tab);
> +}
> 
>   void
>   FETCH(self, key)

Thanks for the reply.  Unfortunately the patch didn't resolve the
problem.  The backtrace does look somewhat different, its making some
new calls before the segfault that it wasn't before.  Numbers 4-13 show
differently:

GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
This GDB was configured as "i386-redhat-linux-gnu"...
(gdb) run -X -f /usr/skynet/conf/httpd.conf
Starting program: /usr/skynet/bin/httpd -X -f
/usr/skynet/conf/httpd.conf
 
Program received signal SIGSEGV, Segmentation fault.
0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
101 return (table *)SvIV((SV*)SvRV(rv));
(gdb) bt
#0  0x0807698b in hvrv2table (rv=0x0) at perl_util.c:101
#1  0x080889b6 in XS_Apache__Table_DESTROY (cv=0x81ad57c) at Table.c:150
#2  0x0810b6c5 in Perl_pp_entersub ()
#3  0x080ba310 in S_call_body ()
#4  0x080ba0ea in Perl_call_sv ()
#5  0x08112b27 in Perl_sv_clear ()
#6  0x08112d4f in Perl_sv_free ()
#7  0x081126af in Perl_sv_clear ()
#8  0x08112d4f in Perl_sv_free ()
#9  0x081031b1 in Perl_hv_free_ent ()
#10 0x081032f2 in S_hfreeentries ()
#11 0x08103c93 in Perl_hv_undef ()
#12 0x08112961 in Perl_sv_clear ()
#13 0x08112d4f in Perl_sv_free ()
#14 0x08117991 in Perl_sv_clean_objs ()
#15 0x080b89f4 in perl_destruct ()
#16 0x0806bd6c in perl_shutdown (s=0x819d0cc, p=0x8deca64) at
mod_perl.c:294
#17 0x0806ff43 in perl_child_exit_cleanup (data=0x8) at
mod_perl.c:926
#18 0x0808a8e0 in run_cleanups (c=0x8decbfc) at alloc.c:1745
#19 0x0808917f in ap_clear_pool (a=0x8deca64) at alloc.c:541
#20 0x080891fc in ap_destroy_pool (a=0x8deca64) at alloc.c:571
#21 0x080965ca in clean_child_exit (code=0) at http_main.c:528
#22 0x08099429 in child_main (child_num_arg=0) at http_main.c:4367
#23 0x080999b6 in make_child (s=0x819d0cc, slot=0, now=1068497097) at
http_main.c:4768
#24 0x08099b1c in startup_children (number_to_start=5) at
http_main.c:4850
#25 0x0809a1b9 in standalone_main (argc=4, argv=0xbfffe2c4) at
http_main.c:5169
#26 0x0809a9d7 in main (argc=4, argv=0xbfffe2c4) at http_main.c:5511
#27 0x420156a4 in __libc_start_main () from /lib/tls/libc.so.6
(gdb) list
5511STANDALONE_MAIN(argc, argv);
5512}
5513#else
5514if (!tpf_child) {
5515memcpy(tpf_server_name, input_parms.parent.servname,
5516   INETD_SERVNAME_LENGTH);
5517tpf_server_name[INETD_SERVNAME_LENGTH + 1] = '\0';
5518sprintf(tpf_mutex_key, "%.*x", TPF_MUTEX_KEY_SIZE - 1,
getpid());
5519tpf_parent_pid = getppid();
5520ap_open_logs(server_conf, plog);

We rebuilt the server using new clean tarballs of apache and mod_perl. 
Thanks again for your help.

Marc Slagle
Whapps, LLC



-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Stas Bekman
Stas Bekman wrote:
[...]
Also I want you to do:

locate libapr-0.so.0

and see if you come up with another occurence of libapr-0.so.0, 
somewhere else. If you find one in /usr/lib or /usr/local/lib that will 
explain the problem. Most likely you have an old pre-installed apr 
package which gets loaded before /usr/local/apache2.0.47/lib/libapr-0.so.0.
[onto which Matisse replied privately, probably forgetting to hit Reply-ALl]

> [EMAIL PROTECTED] bin]# locate libapr-0.so.0
> /usr/local/src/apache/httpd-2.0.45/srclib/apr/.libs/libapr-0.so.0.9.3
> /usr/local/src/apache/httpd-2.0.45/srclib/apr/.libs/libapr-0.so.0
> /usr/local/src/apache/httpd-2.0.47/srclib/apr/.libs/libapr-0.so.0.9.4
> /usr/local/src/apache/httpd-2.0.47/srclib/apr/.libs/libapr-0.so.0
> /usr/local/apache2/lib/libapr-0.so.0.9.3
> /usr/local/apache2/lib/libapr-0.so.0
> /usr/local/apache2.0.47/lib/libapr-0.so.0.9.4
> /usr/local/apache2.0.47/lib/libapr-0.so.0
So /usr/local/apache2/lib/libapr-0.so.0.9.3 is your culprit. Does it come from 
your manual install or from a prepackaged release?

Try:

urpmf /usr/local/apache2/lib/libapr-0.so.0.9.3

and if you get a hit, rpm -e that package.

But before you do that, I want to investigate another matter: how 
/usr/local/apache2/lib/ entered the list of libs to load? Did you (or some rpm 
package) edit /etc/ld.so.conf to include that lib dir?

__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [MP1] Apache segfault after serving request

2003-11-10 Thread Stas Bekman
Marc Slagle wrote:
[...]
Thanks for the reply.  Unfortunately the patch didn't resolve the
problem.  The backtrace does look somewhat different, its making some
new calls before the segfault that it wasn't before.  Numbers 4-13 show
differently:
[...]

I don't have a test to reproduce the segfault, so I'm just shooting in the 
dark based on the core trace that you've kindly provided. Please revert the 
previous patch and try the new one:

Index: src/modules/perl/Table.xs
===
RCS file: /home/cvs/modperl/src/modules/perl/Table.xs,v
retrieving revision 1.10
diff -u -r1.10 Table.xs
--- src/modules/perl/Table.xs   23 May 2000 15:56:12 -  1.10
+++ src/modules/perl/Table.xs   10 Nov 2003 22:33:09 -
@@ -114,9 +114,10 @@
 Apache__Table tab;
 CODE:
-tab = (Apache__Table)hvrv2table(self);
-if(SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV)
+if(self && SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV) {
+tab = (Apache__Table)hvrv2table(self);
 safefree(tab);
+}
 void
 FETCH(self, key)
I wonder why SvROK(NULL) returns true. It doesn't make any sense.

__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Matisse Enzer
All OK now.

I'm sure /usr/local/apache2/lib/libapr-0.so.0.9.3 came from my manual 
install of httpd-2.0.45

I've investigated and when I built httpd-2.0.47 I built it with a 
prefix of /usr/local/apache2, where an existing 2.0.45 installation 
exists. I actually installed 2.0.47 in /usr/local/apache2.0.47 but 
the binary was built probably looking at the old libs.

FYI, /etc/ld.so.conf doesn't have /usr/local/apache{anything}

After rebuilding httpd-2.0.47 with --prefix=/usr/local/apache2.0.47

I get:

 ldd /usr/local/apache2.0.47/bin/httpd
libssl.so.2 => /lib/libssl.so.2 (0x4003)
libcrypto.so.2 => /lib/libcrypto.so.2 (0x40061000)
libaprutil-0.so.0 => 
/usr/local/apache2.0.47/lib/libaprutil-0.so.0 (0x40135000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x40149000)
libdb-4.0.so => /lib/libdb-4.0.so (0x4015)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0x401f8000)
libapr-0.so.0 => /usr/local/apache2.0.47/lib/libapr-0.so.0 (0x40218000)
librt.so.1 => /lib/librt.so.1 (0x40235000)
libm.so.6 => /lib/i686/libm.so.6 (0x40247000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40269000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40296000)
libdl.so.2 => /lib/libdl.so.2 (0x402ac000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x402af000)
libc.so.6 => /lib/i686/libc.so.6 (0x4200)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4000)

and then building and testing mod_perl-1.99_10 works fine.

Thank you once again for excellent help!



At 2:32 PM -0800 11/10/03, Stas Bekman wrote:

...

So /usr/local/apache2/lib/libapr-0.so.0.9.3 is your culprit. Does it 
come from your manual install or from a prepackaged release?

Try:

urpmf /usr/local/apache2/lib/libapr-0.so.0.9.3

and if you get a hit, rpm -e that package.

But before you do that, I want to investigate another matter: how 
/usr/local/apache2/lib/ entered the list of libs to load? Did you 
(or some rpm package) edit /etc/ld.so.conf to include that lib dir?

__
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


--
--
Matisse Enzer
Doodlelab Inc.
415-925-5294 ext. 212 (office)
415-225-6703 (mobile)
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Stas Bekman
Matisse Enzer wrote:
All OK now.

I'm sure /usr/local/apache2/lib/libapr-0.so.0.9.3 came from my manual 
install of httpd-2.0.45

I've investigated and when I built httpd-2.0.47 I built it with a prefix 
of /usr/local/apache2, where an existing 2.0.45 installation exists. I 
actually installed 2.0.47 in /usr/local/apache2.0.47 but the binary was 
built probably looking at the old libs.
Aha, so it's your fault ;)

FYI, /etc/ld.so.conf doesn't have /usr/local/apache{anything}
OK

After rebuilding httpd-2.0.47 with --prefix=/usr/local/apache2.0.47

I get:

 ldd /usr/local/apache2.0.47/bin/httpd
libssl.so.2 => /lib/libssl.so.2 (0x4003)
libcrypto.so.2 => /lib/libcrypto.so.2 (0x40061000)
libaprutil-0.so.0 => 
/usr/local/apache2.0.47/lib/libaprutil-0.so.0 (0x40135000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x40149000)
libdb-4.0.so => /lib/libdb-4.0.so (0x4015)
libexpat.so.0 => /usr/lib/libexpat.so.0 (0x401f8000)
libapr-0.so.0 => /usr/local/apache2.0.47/lib/libapr-0.so.0 
(0x40218000)
librt.so.1 => /lib/librt.so.1 (0x40235000)
libm.so.6 => /lib/i686/libm.so.6 (0x40247000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40269000)
libnsl.so.1 => /lib/libnsl.so.1 (0x40296000)
libdl.so.2 => /lib/libdl.so.2 (0x402ac000)
libpthread.so.0 => /lib/i686/libpthread.so.0 (0x402af000)
libc.so.6 => /lib/i686/libc.so.6 (0x4200)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x4000)

and then building and testing mod_perl-1.99_10 works fine.

Thank you once again for excellent help!
Very nice ;)

As mp2 now depends on several libraries I think we are going to have this 
question asked more than once. Mattisse, would you like to write a short 
troubleshooting section based on your questions and my answers? So we can add 
it to the docs and point others to it. It's the best that you peruse this 
thread's data (including the relevant chunks of output that you have posted in 
your replies).

Also I have failed to post your complete reply that didn't make it to the 
list, oversnipping it. the missing part was:

[EMAIL PROTECTED] bin]# ldd /usr/local/apache2.0.47/bin/httpd
libssl.so.2 => /lib/libssl.so.2 (0x4003)
libcrypto.so.2 => /lib/libcrypto.so.2 (0x40061000)
libaprutil-0.so.0 => /usr/local/apache2/lib/libaprutil-0.so.0 
(0x40135000)
libapr-0.so.0 => /usr/local/apache2/lib/libapr-0.so.0 (0x40218000)
...

So that output was more clearly showing the problem -- httpd was linked 
against the wrong libs.

__
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
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: mp2 - make test - apr/table...FAILED tests 20-21

2003-11-10 Thread Matisse Enzer
At 3:54 PM -0800 11/10/03, Stas Bekman wrote:
Aha, so it's your fault ;)
Yes :-)
As mp2 now depends on several libraries I think we are going to have 
this question asked more than once. Mattisse, would you like to 
write a short troubleshooting section based on your questions and my 
answers? So we can add it to the docs and point others to it. It's 
the best that you peruse this thread's data (including the relevant 
chunks of output that you have posted in your replies).


Yes, I will do that this week and post to the list here.

--
--
Matisse Enzer
Doodlelab Inc.
415-925-5294 ext. 212 (office)
415-225-6703 (mobile)
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Apache::DBI and MySQL warnings

2003-11-10 Thread Perrin Harkins
So, has anyone else done an app using a combination of transactional and
non-transactional tables in MySQL?  The problem I'm having -- which is
more like an annoyance than a problem -- is that I keep getting this
message in my logs:

DBD::mysql::db rollback failed: Warning:  Some non-transactional changed
tables couldn't be rolled back at
/home/perrin/work/checked_out/OCS/lib/Apache/DBI.pm line 154.

This is because Apache::DBI automatically does a rollback after every
request when you have AutoCommit turned off, and MySQL is letting me
know that it couldn't roll back the MyISAM tables.  No problem, I knew
that, and the tables weren't changed anyway.  However, I don't want this
warning showing up in logs and scaring admins.

So, the question is, what's an elegant way to eliminate this warning?  I
could modify Apache::DBI to do it (although filtering a specific
warning, as opposed to simply turning them all off temporarilly, could
be a pain).  I could install a WARN handler.  Ick.  Any other bright
ideas?

- Perrin

-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re: [RELEASE CANDIDATE] mod_perl-1.99_11 RC1

2003-11-10 Thread Haroon Rafique
On Friday at 4:00pm, GY=>Geoffrey Young <[EMAIL PROTECTED]> wrote:

GY> a release candidate for mod_perl 1.99_11 is now available for testing.  
GY> note that 1.99_11 will be required for users running perl 5.8.2.
GY> 
GY> please grab the candidate from
GY> 
GY>http://perl.apache.org/~geoff/mod_perl-1.99_11-dev.tar.gz
GY> 
GY> and report back successes or failures.  when reporting failures,
GY> please see the bug reporting guidelines at
GY> 

-8<-- Start Bug Report 8<--
Geoff,

I have an anomolous report on a Gentoo Linux system. Anything else I can 
do to help? (I am not subscribed to [EMAIL PROTECTED], so I am not sure 
that the Cc: to dev list will work if the sender is not subscribed).

1. Problem Description:

The code which figured out where the installed apache 2 config files are 
located used to work flawlessly in 1.99_10. Now I get a:
*** configuration file /etc/apache2/conf/modules.d/*.conf does not exist
fairly early in the configuration process. I didn't even bother to 
continue the build after that.

(From the bug report) You can focus on the:
 -D SERVER_CONFIG_FILE="/etc/apache2/conf/apache2.conf"
and instead of looking there, it decided to search in modules.d/*.conf?

2. Used Components and their Configuration:

*** mod_perl version 1.9911

*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
  MP_APXS => /usr/sbin/apxs2
  MP_AP_PREFIX=> /usr
  MP_COMPAT_1X=> 1
  MP_DEBUG=> 1
  MP_GENERATE_XS  => 1
  MP_INST_APACHE2 => 1
  MP_LIBNAME  => mod_perl
  MP_TRACE=> 1
  MP_USE_DSO  => 1


*** /usr/sbin/apache2 -V
Server version: Apache/2.0.48
Server built:   Nov  7 2003 13:31:58
Server's Module Magic Number: 20020903:4
Architecture:   32-bit
Server compiled with
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -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"
 -D SUEXEC_BIN="/usr/sbin/suexec2"
 -D DEFAULT_PIDLOG="/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/conf/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/conf/apache2.conf"


*** /usr/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
  Platform:
osname=linux, osvers=2.4.20-ck6, archname=i686-linux
uname='linux haroon.sis.utoronto.ca 2.4.20-ck6 #1 fri jun 6 14:48:56 edt 2003 i686 
intel(r) pentium(r) 4 cpu 1.80ghz genuineintel gnulinux '
config_args='-des -Darchname=i686-linux -Dcc=gcc -Dprefix=/usr -Dvendorprefix=/usr 
-Dsiteprefix=/usr -Dlocincpth=  -Doptimize=-march=pentium4 -O3 -pipe -s 
-fomit-frame-pointer -fforce-addr -falign-functions=4 -fprefetch-loop-arrays 
-ffast-math -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Dscriptdir=/usr/bin 
-Dman3ext=3pm -Dcf_by=Gentoo -Ud_csh -Di_gdbm -Di_db -Di_ndbm'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
  Compiler:
cc='gcc', ccflags ='-fno-strict-aliasing -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
optimize='-march=pentium4 -O3 -pipe -s -fomit-frame-pointer -fforce-addr 
-falign-functions=4 -fprefetch-loop-arrays -ffast-math',
cppflags='-DPERL5 -fno-strict-aliasing'
ccversion='', gccversion='3.3.2 20031022 (Gentoo Linux 3.3.2-r2, propolice)', 
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='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.3.2'
  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: USE_LARGE_FILES
  Built under linux
  Compiled at Nov 10 2003 10:00:13
  %ENV:
PERL_LWP_USE_HTTP_10="1"
  @INC:
/etc/perl
/usr/lib/perl5/site_perl/5.8.2/i686-linux
/usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.1/i686-linux
/usr/lib/perl5/site_perl/5.8.1
/usr/lib/perl5/site_perl/5.8.0/i686-linux
/usr/lib/perl5/site_perl/5.8.0

[ANNOUNCE] mod_perl 1.99_11

2003-11-10 Thread Geoffrey Young
The URL

http://perl.apache.org/~geoff/mod_perl-1.99_11.tar.gz

has entered CPAN as

  file: $CPAN/authors/id/G/GE/GEOFF/mod_perl-1.99_11.tar.gz
  size: 1093014 bytes
   md5: 855adb033de193dc999a5a2bd714f675
Changes since 1.99_10

add a build/win32_fetch_apxs script (called within the top-level
Makefile.PL) to offer to fetch and install a Win32 development
version of apxs and (apr|apu)-config [Randy Kobes]
rewrite $r->read() and perlio read functions to use the same function,
which completely satisfies the read request if possible, on the way
getting rid of get_client_block and its supporting functions which
have problems and will most likely will be removed from the httpd-API
in the future. Directly manipulate bucket brigades instead. [Stas]
Since Apache2.pm pops /foo/Apache2 dirs to the top of @INC, it now
also takes care of keeping lib and blib dirs before the system dirs,
so that previously installed libraries won't get loaded instead of the
currently uninstalled libraries that are under test. [Stas]
When 'make test' fails we now print the info on what to do next [Stas]

At the end of 'make install' we now print the info how to proceed with
mod_perl and what to do in the case of post-install problems [Geoff]
Adjust the source to properly work with 5.8.2's new algorithm of
dynamic re-hashing of hashes on hash collision attack. [Nicholas Clark
<[EMAIL PROTECTED]>, Stas]. Add a test that mounts such an attack so we
can verify that we can survive this rehashing. [Scott A Crosby
<[EMAIL PROTECTED]>, Nicholas Clark <[EMAIL PROTECTED]>, Tels
<[EMAIL PROTECTED]>, Mark Jason Dominus <[EMAIL PROTECTED]>, Stas]
Standardize the Apache::PerlSections package name to it's plural form for
clarity and so that the pod gets glued in it's proper place.
[Philippe M. Chiasson <[EMAIL PROTECTED]>]
return value from Perl callbacks are now passed directly to Apache
without additional post-call manipulations (such as assuming HTTP_OK
should really be OK).  [Geoffrey Young]
perl 5.8.1 w/ ithreads has a bug where it reports the wrong parent pid
(as if the process was never forked), provide a local workaround (+ new
test). [Rafael Garcia-Suarez <[EMAIL PROTECTED]>]
overriden STD* streams now can be further overriden and will be
properly restored, which allows functions like $r->internal_redirect
work (+add tests) [Stas]
implement perlio's getarg hook, which now allows dupping STD* streams
overloaded by modperl [Stas]
Add PerlMapToStorageHandler [Geoffrey Young]

callbacks are now expected to return a meaningful value
(OK, SERVER_ERROR, etc) or return via an official API
(exit, die, etc).  relying on implicit returns from the
last call evaluated by a subroutine may result in server
errors.  [Stas, Geoffrey Young]
in the MP_MAINTAINER mode add the -Werror compilation flag when perl
v5.6.2 or higher is used, so that we don't miss compilation
warnings. [Stas]
fix the Makefile.PL option parser to support overriding of certain
build options, in addition to appending to them (.e.g. now MP_LIBNAME
is overridable) [Andrew Wyllie <[EMAIL PROTECTED]>]
make sure that connection filters won't be inserted as request filters
[Stas]
Prevent the 'Use of uninitialized value.' warning when
ModPerl::Util::exit is used. [Stas]
To make the test-sute sandbox-friendly, which break when things try to
run off /tmp, use t/logs as the location of the mod_cgid socket and
TMPDIR env var [Haroon Rafique <[EMAIL PROTECTED]>]
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


[ANNOUNCE] Apache-Test 1.06

2003-11-10 Thread Geoffrey Young
The URL

http://perl.apache.org/~geoff/Apache-Test-1.06.tar.gz

has entered CPAN as

  file: $CPAN/authors/id/G/GE/GEOFF/Apache-Test-1.06.tar.gz
  size: 94492 bytes
   md5: 27c7096b027fa1d477b260c54d49c455
Changes since 1.05

added -startup_timeout and $ENV{APACHE_TEST_STARTUP_TIMEOUT} as places
to specify the maximum number of seconds to wait for the test
server to start.  the default is still 60 seconds.  [Geoffrey Young]
use apxs PREFIX to resolve relative httpd.conf directives
ServerRoot is not present [Mike Cramer]
add support for a new subclass method 'bug_report', which if provided
will be called when 'make test' fails. we use it in mod_perl to print
the pointers on how to proceed when the failure occurs. [Stas]
sudo and su -u aren't portable, therefore use a simple setuid/setguid
perl program instead, to check whether the root directory of the test
suite is rwx by the user/group apache is going to run under (when
running 'make test' as root). [Stas]
--
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


further benchmarks on different versions of Perl

2003-11-10 Thread Perrin Harkins
I grabbed perlbench from CPAN and did some more benchmarks.  These
confirmed what we already suspected, i.e. there are no significant
performance differences in Perl itself between 5.6.1, 5.8.0, and 5.8.1,
but the stock Perl on Red Hat 9 (which is compiled with threads) is
significantly slower than a default compile of any recent Perl on the
same system.

All of the Perls that I compiled were done with default options.

The output of perlbench is attached.

- Perrin
A) perl-5.006001
path= /usr/local/perl56/bin/perl
cc  = cc
optimize= -O2
ccflags = -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64
usemymalloc = n

B) perl-5.008
path= /usr/local/perl580/bin/perl
cc  = cc
optimize= -O3
ccflags = -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-I/usr/include/gdbm
usemymalloc = n

C) perl-5.008001
path= /usr/local/perl581/bin/perl
cc  = cc
optimize= -O3
ccflags = -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
usemymalloc = n

D) perl-5.008
path= /usr/bin/perl
cc  = gcc
optimize= -O2 -g -pipe -march=i386 -mcpu=i686
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
usemymalloc = n

   A   B   C   D

arith/mixed  100  95  93  82
arith/trig   100  92  93  82
array/copy   100 108 103  81
array/foreach100 110 118  83
array/index  100 112 116  95
array/pop100 105  99  79
array/shift  100 103  99  78
array/sort-num   100  92  94  72
array/sort   100  99  99  89
call/0arg100 100 100  90
call/1arg100  97 103  88
call/2arg100 100 103  87
call/9arg100 111 110  90
call/empty   100  98  99  74
call/fib 100 109 106  95
call/method  100 106 107  86
call/wantarray   100 104 104  78
hash/copy100 114 117  89
hash/each100  95  95  76
hash/foreach-sort100 100 100  83
hash/foreach 100 109 113  95
hash/get 100 104 106  70
hash/set 100  83  81  75
loop/for-c   100 107 104  95
loop/for-range-const 100  97 110  81
loop/for-range   100 102 114  90
loop/getline 100  88  88  66
loop/while-my100  97 104  84
loop/while   100  88 103  84
re/const 100  94  87  59
re/w 100  93  90  72
startup/fewmod   100  66  61  45
startup/lotsofsub100  93  92  65
startup/noprog   100  84  80  52
string/base64100 106 105  91
string/htmlparser100  99  92  77
string/index-const   100  92  95  50
string/index-var 100  95  98  74
string/ipol  100  97  97  89
string/tr100 101  93 100

AVERAGE  100  99  99  80

-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Re: further benchmarks on different versions of Perl

2003-11-10 Thread Stas Bekman
Perrin Harkins wrote:
I grabbed perlbench from CPAN and did some more benchmarks.  These
confirmed what we already suspected, i.e. there are no significant
performance differences in Perl itself between 5.6.1, 5.8.0, and 5.8.1,
but the stock Perl on Red Hat 9 (which is compiled with threads) is
significantly slower than a default compile of any recent Perl on the
same system.
All of the Perls that I compiled were done with default options.

The output of perlbench is attached.
Thanks Perrin for this comparison numbers, but I think you didn't provide 
enough build information. Default build opts vary from release to release and 
from OS to OS, you really need to show the whole perl -V to make these numbers 
more useful.

In any case as the "Practical mod_perl" book suggests you should never blindly 
follow any benchmarks that you see, but to benchmark your own thing and come 
to your conclusions. This is because there are many factors that may make the 
benchmarks show quite a different picture in your case.

What's for sure is that as of this writing, enabling ithreads won't make your 
perl faster ;)

A) perl-5.006001
path= /usr/local/perl56/bin/perl
cc  = cc
optimize= -O2
ccflags = -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64
usemymalloc = n
B) perl-5.008
path= /usr/local/perl580/bin/perl
cc  = cc
optimize= -O3
ccflags = -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-I/usr/include/gdbm
usemymalloc = n
C) perl-5.008001
path= /usr/local/perl581/bin/perl
cc  = cc
optimize= -O3
ccflags = -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
usemymalloc = n
D) perl-5.008
path= /usr/bin/perl
cc  = gcc
optimize= -O2 -g -pipe -march=i386 -mcpu=i686
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
usemymalloc = n
You mean RH's perl comes with perl built with -DDEBUGGING? how silly ;) This 
option definitely adds to the size perl lib and its run-time slowdown. Someone 
please report to the RH guys. I've CC'ed Chip on this reply, in case he still 
maintains this package.

Though I think it's also compiled with ithreads, whereas all others are 
without, so it's not a fair comparison across different perl versions. You can 
compare 5.6.0 with 5.8.0 using the same build options, or you can compare 
5.8.0 w/ and w/o threads, but not the cross of these. I guess your B and D 
items should be looked at as one comparison group and A and C as another.

FWIW, here is the perl -V of perl-5.8.1 (really 5.8.1-RC4) that comes with 
Mandrake 9.2:

% perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 1) configuration:
  Platform:
osname=linux, osvers=2.4.18-23mdksmp, archname=i386-linux-thread-multi
uname='linux hp6.mandrakesoft.com 2.4.18-23mdksmp #1 smp fri aug 2 
12:31:40 cest 2002 i686 unknown unknown gnulinux '
config_args='-des -Dinc_version_list=5.8.0/i386-linux-thread-multi 5.8.0 
5.6.1 5.6.0 -Darchname=i386-linux -Dcc=gcc -Doptimize=-O2 -fomit-frame-pointer 
-pipe -march=i586 -mcpu=pentiumpro  -Dprefix=/usr -Dvendorprefix=/usr 
-Dsiteprefix=/usr -Dman3ext=3pm -Dcf_by=MandrakeSoft -Dmyhostname=localhost 
[EMAIL PROTECTED] -Dd_dosuid -Ud_csh -Duseshrplib -Dusethreads'
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='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -fomit-frame-pointer -pipe -march=i586 -mcpu=pentiumpro ',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS 
-fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.3.1 (Mandrake Linux 9.2 3.3.1-1mdk)', 
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='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lndbm -lgdbm -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='

Re: further benchmarks on different versions of Perl

2003-11-10 Thread Perrin Harkins
On Mon, 2003-11-10 at 21:31, Stas Bekman wrote:
> Thanks Perrin for this comparison numbers, but I think you didn't provide 
> enough build information. Default build opts vary from release to release and 
> from OS to OS, you really need to show the whole perl -V to make these numbers 
> more useful.

Well, I'm not trying to do an analysis of compiler optimizations here. 
I built these the way I suspect almost everyone else does: all
defaults.  The main point was to see if there has been a degradation in
performance since 5.6.1, since I have been hearing that a lot.  The
results show clearly enough to me that there has not been, and they
agree with my previous benchmarks.  They also show that if you don't
need threads, it is very easy to build a Perl that performs
significantly better than the one that comes with Red Hat 9, so it's
worth doing if you are thinking about deploying a mod_perl app on Red
Hat 9 and concerned about performance.

> Though I think it's also compiled with ithreads, whereas all others are 
> without, so it's not a fair comparison across different perl versions.

That was actually the reason I included it: to get a sense of how much
ithreads hurt performance.  As you say though, the other options might
be affecting it as well.

- Perrin




-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



BEGIN, preloading and restarting

2003-11-10 Thread Anatoly Vorobey
Hello,

I've two quick and perhaps silly questions. I'm preloading a whole lot
of modules in my startup script. In fact, some of the stuff I'm
preloading aren't .pm modules, they're .pl libraries I want to 
"require" rather than "use". Do I have to wrap the require statements 
inside a BEGIN {}
block in order for them to be correctly preloaded for children, or
perhaps it doesn't matter and I can just require them at the runtime
of the startup script and not its compile time?

(my guess is that requiring at runtime is fine, since both compile
time and runtime of that script happen while processing the PerlRequire
directive in the config file, but perhaps I'm missing something here?)

The second question is about restarting the server. My httpd.conf file
has only one perlmod-related directive: a PerlRequire of my startup
script, and nothing more. The startup script uses Apache->httpd_conf()
to execute a whole bunch of other crucial config directives, like
DocumentRoot and setting Perl*Handlers. This is by design and is very
convenient to me. However, it doesn't work across restarts, either
regular or graceful (HUP or USR1). I thought of using a 
PerlRestartHandler to call a subroutine which would execute the same
Apache->httpd_conf commands, but I couldn't quite figure out when 
exactly during restart these commands would be sent to Apache, and 
whether it might mess some complex configs (e.g. if there're several
virtual servers, in context of which one of them will DocumentRoot
be processed, if it's set in a callback called by a RestartHandler?).

So the way I solved it was by appending to the end of my startup script 
a statement deleting it from %INC: delete $INC{"/path/to/script.pl"};
Then after restart the script is run again and all the 
Apache->httpd_conf directives are executed. Is that a reasonable way
to solve this problem, or does it have some gotchas/drawbacks I'm
not aware of?

Many thanks in advance,
Anatoly.

--
avva

-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html