Re: Compilation error for CentOS 5.5, perl-5.10, mp2-current

2011-02-22 Thread Alexander Goller
Hi Philip,

thanks for looking into it. The version i used here is 2.0.6-dev, the -latest 
or -current version downloadable from the website. I can pull svn HEAD too and 
try that.

The error is happening in 2.0.4 which i tried first, then i downloaded 2.0.5 
because i read of 5.10 improvements and am now using the -current version.

alex
Am 22.02.2011 um 03:35 schrieb Philip M. Gollucci:

 On 2/21/2011 12:32 PM, Alexander Goller wrote:
 
 Apache2: -
 Apache2::Request   : -
 CGI: 3.49
 ExtUtils::MakeMaker: 6.56, 6.56
 LWP: 5.836
 mod_perl   : -
 mod_perl2  : -
 Can you pull the specific version from mod_perl2.pm?
 
 Can you try with the recent 2.0.5 and/or svn trunk if thats not what you
 have.
 
 
 
 -- 
 
 1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70  3F8C 75B8 8FFB DB9B 8C1C
 Philip M. Gollucci (pgollu...@p6m7g8.com) c: 703.336.9354
 VP Apache Infrastructure; Member, Apache Software Foundation
 Committer,FreeBSD Foundation
 Consultant,   P6M7G8 Inc.
 Sr. System Admin, Ridecharge Inc.
 
 Work like you don't need the money,
 love like you'll never get hurt,
 and dance like nobody's watching.

-- 
Alexander Goller - Fotografie
web: www.ryte.de
mail: a...@ryte.de

GeSichtweisen - http://gesichtweisen.com/



Re: Compilation error for CentOS 5.5, perl-5.10, mp2-current

2011-02-22 Thread Torsten Förtsch
On Monday, February 21, 2011 18:32:56 Alexander Goller wrote:
 i have a problem compiling mod_perl on CentOS, using perl 5.10.

The problem could have been sorted out on IRC. Alex had used the wrong version 
of ExtUtils::Embed.

We can prevent such problems by checking the version with Module::CoreList. Is 
it worth the effort?

Module::CoreList has appeared in 5.8.9 and 5.10.0. For earlier versions we can 
at least check the ExtUtils::Embed resides somewhere below $Config{privlib}.

Torsten Förtsch

-- 
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net


Compilation error for CentOS 5.5, perl-5.10, mp2-current

2011-02-21 Thread Alexander Goller

Hi,

i have a problem compiling mod_perl on CentOS, using perl 5.10.


Bug report:

-8-- Start Bug Report 8--
1. Problem Description:

Running make:

-c modperl_flags.c  mv modperl_flags.o modperl_flags.lo
gcc -I/usr/src/redhat/BUILD/modperl-2.0/src/modules/perl 
-I/usr/src/redhat/BUILD/modperl-2.0/xs -I/usr/include/apr-1 
-I/usr/include/apr-1  -I/usr/include/httpd -D_REENTRANT -D_GNU_SOURCE 
-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -fstack-protector 
-I/usr/local/include -I/usr/lib/perl5/CORE -DMOD_PERL -DMP_COMPAT_1X 
-DLINUX=2 -D_LARGEFILE64_SOURCE -O2 -g -m32 -march=i386 -mtune=generic 
-fasynchronous-unwind-tables -fPIC \

-c modperl_xsinit.c  mv modperl_xsinit.o modperl_xsinit.lo
modperl_xsinit.c: In function 'xs_init':
modperl_xsinit.c:30: error: 'my_perl' undeclared (first use in this 
function)
modperl_xsinit.c:30: error: (Each undeclared identifier is reported only 
once

modperl_xsinit.c:30: error: for each function it appears in.)
modperl_xsinit.c:30: warning: passing argument 3 of 'Perl_newXS' from 
incompatible pointer type

make[1]: *** [modperl_xsinit.lo] Error 1
make[1]: Leaving directory 
`/usr/src/redhat/BUILD/modperl-2.0/src/modules/perl'

make: *** [modperl_lib] Error 2


2. Used Components and their Configuration:

*** mod_perl version 2.06

*** using /usr/src/redhat/BUILD/modperl-2.0/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB = aprext
  MP_APXS= /usr/sbin/apxs
  MP_COMPAT_1X   = 1
  MP_GENERATE_XS = 1
  MP_LIBNAME = mod_perl
  MP_USE_DSO = 1


*** The httpd binary was not found


*** (apr|apu)-config linking info

 -laprutil-1 -lldap -llber -ldb-4.3 -lexpat
 -lapr-1  -lpthread -ldl



*** /usr/bin/perl -V
Summary of my perl5 (revision 5 version 10 subversion 1) configuration:

  Platform:
osname=linux, osvers=2.6.18-164.10.1.el5, 
archname=i386-linux-thread-multi
uname='linux master-cent5 2.6.18-164.10.1.el5 #1 smp thu jan 7 
20:00:41 est 2010 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-O2 -g -m32 -march=i386 -mtune=generic 
-fasynchronous-unwind-tables -DDEBUGGING=-g 
-Accflags=-DPERL_USE_SAFE_PUTENV -Dversion=5.10.1 -Dmyhostname=localhost 
-Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dprefix=/usr 
-Dvendorprefix=/usr -Dsiteprefix=/usr/local 
-Dsitelib=/usr/local/share/perl5 -Dsitearch=/usr/local/lib/perl5 
-Dprivlib=/usr/share/perl5 -Dvendorlib=/usr/share/perl5 
-Darchlib=/usr/lib/perl5 -Dvendorarch=/usr/lib/perl5 
-Dinc_version_list=5.10.0 -Darchname=i386-linux-thread-multi 
-Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid 
-Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog 
-Dman3ext=3pm -Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 
-Uversiononly -Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto 
-Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto 
-Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto 
-Dscriptdir=/usr/bin 
-Dotherlibdirs=/usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi:/usr/local/lib/perl5/site_perl/5.10.0:/usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi:/usr/lib/perl5/vendor_perl:/usr/lib/perl5/site_perl'

hint=recommended, useposix=true, d_sigaction=define
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 
-DPERL_USE_SAFE_PUTENV -fno-strict-aliasing -pipe -fstack-protector 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
optimize='-O2 -g -m32 -march=i386 -mtune=generic 
-fasynchronous-unwind-tables',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV 
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.1.2 20080704 (Red Hat 4.1.2-46)', 
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 =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.5.so, so=so, useshrplib=true, libperl=libperl.so
gnulibc_version='2.5'
  Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E 
-Wl,-rpath,/usr/lib/perl5/CORE'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -m32 -march=i386 
-mtune=generic -fasynchronous-unwind-tables -L/usr/local/lib 
-fstack-protector'



Characteristics of this binary (from libperl):
  Compile-time options

Re: Compilation error for CentOS 5.5, perl-5.10, mp2-current

2011-02-21 Thread Philip M. Gollucci
On 2/21/2011 12:32 PM, Alexander Goller wrote:

 Apache2: -
 Apache2::Request   : -
 CGI: 3.49
 ExtUtils::MakeMaker: 6.56, 6.56
 LWP: 5.836
 mod_perl   : -
 mod_perl2  : -
Can you pull the specific version from mod_perl2.pm?

Can you try with the recent 2.0.5 and/or svn trunk if thats not what you
have.



-- 

1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70  3F8C 75B8 8FFB DB9B 8C1C
Philip M. Gollucci (pgollu...@p6m7g8.com) c: 703.336.9354
VP Apache Infrastructure; Member, Apache Software Foundation
Committer,FreeBSD Foundation
Consultant,   P6M7G8 Inc.
Sr. System Admin, Ridecharge Inc.

Work like you don't need the money,
love like you'll never get hurt,
and dance like nobody's watching.


Re: libapreq2 for Windows, Apache 2.2 and Perl 5.10

2009-09-15 Thread André Warnier

Randy Kobes wrote:

On Mon, Sep 14, 2009 at 6:54 AM, André Warnier a...@ice-sa.com wrote:


Hi.

I have tried following the usual links at perl.apache.org, CPAN,
ActiveState, and searched Google, but I am getting a bit confused.

Is there a binary package available for libapreq2 with ActivePerl
5.10/Apache 2.2/Win32, and if yes, where ?

I would have to install this first on a WinXP machine, later on a Win2003
server machine, both 32-bit, on neither of which I have a C compiler
available.  Is that a problem ?

Thanks
André



There's a libapreq2 ppm package available from
 http://cpan.uwinnipeg.ca/PPMPackages/10xx/
which should work with this combination.



Many thanks.

I must have missed something somewhere, but it seemed rather difficult 
to locate.  Starting with perl.apache.org, I remember there used to 
exist somewhere a link to an mpinstall script to download, but can't 
find it anymore. Instead there is now somewhere a distinstall, but 
which did not seem to work in my case (and when examined, only mentions 
non 5.10 perl versions). There does not seem to exist a proper link 
between the mod_perl site at perl.apache.org, and an appropriate Win32 
perl repository for Apache 2.2 and perl 5.10.

Or I missed it.


libapreq2 for Windows, Apache 2.2 and Perl 5.10

2009-09-14 Thread André Warnier

Hi.

I have tried following the usual links at perl.apache.org, CPAN, 
ActiveState, and searched Google, but I am getting a bit confused.


Is there a binary package available for libapreq2 with ActivePerl 
5.10/Apache 2.2/Win32, and if yes, where ?


I would have to install this first on a WinXP machine, later on a 
Win2003 server machine, both 32-bit, on neither of which I have a C 
compiler available.  Is that a problem ?


Thanks
André


Re: libapreq2 for Windows, Apache 2.2 and Perl 5.10

2009-09-14 Thread Randy Kobes
On Mon, Sep 14, 2009 at 6:54 AM, André Warnier a...@ice-sa.com wrote:

 Hi.

 I have tried following the usual links at perl.apache.org, CPAN,
 ActiveState, and searched Google, but I am getting a bit confused.

 Is there a binary package available for libapreq2 with ActivePerl
 5.10/Apache 2.2/Win32, and if yes, where ?

 I would have to install this first on a WinXP machine, later on a Win2003
 server machine, both 32-bit, on neither of which I have a C compiler
 available.  Is that a problem ?

 Thanks
 André


There's a libapreq2 ppm package available from
 http://cpan.uwinnipeg.ca/PPMPackages/10xx/
which should work with this combination.

-- 
best regards,
Randy


Re: mod_perl crashes with Perl 5.10

2009-04-21 Thread Jozef Kosoru
Hi Philippe,

(Sorry for the delay with my answer - I'll be quick from now on)
Thank you for your interest to help me with this crasher.

On Tue, Apr 07, 2009 at 22:17:27 -0400, Philippe M. Chiasson wrote:
 On 29/3/09 15:30, Jozef Kosoru wrote:
  Hello,
  
  I tested my mod_perl application using following combinations recently:
  
  * Apache/2.2.9 (Debian) mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 
  Perl/v5.10.0
(default Debian Lenny packages, mpm-prefork)
  
  * Apache/2.2.11 (Unix) mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.0
(apache, apreq and mod_perl compiled from sources, mpm-prefork)
  
  and I see a crash of Apache process on each request.
 
 Just to be sure, is that a 32/64 bit platform ?

This is 32 bit. I can check on 64 bit.
 
  Here's the backtrace:
  
   Program received signal SIGSEGV, Segmentation fault.
   [Switching to Thread 0xb7ce0ad0 (LWP 11196)]
   0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
   (gdb) bt
   #0  0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
   #1  0xb7bc2dc1 in Perl_runops_standard () from /usr/lib/libperl.so.5.10
   #2  0xb7bbcd38 in Perl_call_sv () from /usr/lib/libperl.so.5.10
   #3  0xb7cb2bfc in modperl_callback (my_perl=0x9ab21a0, handler=0x9639b18, 
  p=0x9ad4578,
   r=0x9ad45b8, s=0x961bfe0, args=0x98a13c0) at modperl_callback.c:101
 
 Hrm, if at all possible, while in gdb, could you dump more information from 
 that frame ?
 
 (gdb) info locals

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb7cf9ad0 (LWP 8233)]
0xb7c0b095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
(gdb) info locals
No symbol table info available.

Any clue?
 
 Also, I'd love to see as much of the arguments as possible, expecially 
 handler, r and args
 
 (gdb) print *handler
 (gdb) print *r
 (gdb) print *args

Same with others:

(gdb) print *handler
No symbol handler in current context.

(gdb) print *r
No symbol r in current context

(gdb) print *args
No symbol args in current context

Do I have to recompile Perl with some special debug symbols?

 Thanks.
 
 Also, one thing that always help narrow things down is if you could
 boil down your application to a small enough test case that you could
 share it with us.

I was trying to do so but haven't succeded with any minimalized
test-case yet. But it's not really so much code anyway and it's all GPL.
I'll try to make an easy package of it.

Regards,
Jozef

-- 
Jozef Kosoru
http://zyzstar.kosoru.com


Re: mod_perl crashes with Perl 5.10

2009-04-07 Thread Philippe M. Chiasson
On 29/3/09 15:30, Jozef Kosoru wrote:
 Hello,
 
 I tested my mod_perl application using following combinations recently:
 
 * Apache/2.2.9 (Debian) mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0
   (default Debian Lenny packages, mpm-prefork)
 
 * Apache/2.2.11 (Unix) mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.0
   (apache, apreq and mod_perl compiled from sources, mpm-prefork)
 
 and I see a crash of Apache process on each request.

Just to be sure, is that a 32/64 bit platform ?

 Here's the backtrace:
 
  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread 0xb7ce0ad0 (LWP 11196)]
  0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
  (gdb) bt
  #0  0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
  #1  0xb7bc2dc1 in Perl_runops_standard () from /usr/lib/libperl.so.5.10
  #2  0xb7bbcd38 in Perl_call_sv () from /usr/lib/libperl.so.5.10
  #3  0xb7cb2bfc in modperl_callback (my_perl=0x9ab21a0, handler=0x9639b18, 
 p=0x9ad4578,
  r=0x9ad45b8, s=0x961bfe0, args=0x98a13c0) at modperl_callback.c:101

Hrm, if at all possible, while in gdb, could you dump more information from 
that frame ?

(gdb) info locals

Also, I'd love to see as much of the arguments as possible, expecially handler, 
r and args

(gdb) print *handler
(gdb) print *r
(gdb) print *args

Thanks.

Also, one thing that always help narrow things down is if you could boil down 
your application
to a small enough test case that you could share it with us.

-- 
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/   m/gozer\@(apache|cpan|ectoplasm)\.org/



signature.asc
Description: OpenPGP digital signature


mod_perl crashes with Perl 5.10

2009-03-29 Thread Jozef Kosoru
Hello,

I tested my mod_perl application using following combinations recently:

* Apache/2.2.9 (Debian) mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0
  (default Debian Lenny packages, mpm-prefork)

* Apache/2.2.11 (Unix) mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.0
  (apache, apreq and mod_perl compiled from sources, mpm-prefork)

and I see a crash of Apache process on each request.
Here's the backtrace:

 Program received signal SIGSEGV, Segmentation fault.
 [Switching to Thread 0xb7ce0ad0 (LWP 11196)]
 0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
 (gdb) bt
 #0  0xb7bf2095 in Perl_pp_undef () from /usr/lib/libperl.so.5.10
 #1  0xb7bc2dc1 in Perl_runops_standard () from /usr/lib/libperl.so.5.10
 #2  0xb7bbcd38 in Perl_call_sv () from /usr/lib/libperl.so.5.10
 #3  0xb7cb2bfc in modperl_callback (my_perl=0x9ab21a0, handler=0x9639b18, 
p=0x9ad4578,
 r=0x9ad45b8, s=0x961bfe0, args=0x98a13c0) at modperl_callback.c:101
 #4  0xb7cb32d3 in modperl_callback_run_handlers (idx=6, type=4, r=0x9ad45b8, 
c=0x0,
 s=0x961bfe0, pconf=0x0, plog=0x0, ptemp=0x0, run_mode=MP_HOOK_RUN_FIRST)
 at modperl_callback.c:262
 #5  0xb7cb39ca in modperl_callback_per_dir (idx=6, r=0x9ad45b8, 
run_mode=MP_HOOK_RUN_FIRST)
 at modperl_callback.c:369
 #6  0xb7cac6ef in modperl_response_handler_run (r=0x9ad45b8, finish=1) at 
mod_perl.c:1000
 #7  0xb7caca74 in modperl_response_handler (r=0x9ad45b8) at mod_perl.c:1044
 #8  0x0807c109 in ap_run_handler (r=0x9ad45b8) at config.c:158
 #9  0x0807f469 in ap_invoke_handler (r=0x9ad45b8) at config.c:372
 #10 0x08098c06 in ap_process_request (r=0x9ad45b8) at http_request.c:282
 #11 0x08095ca8 in ap_process_http_connection (c=0x9ace738) at http_core.c:190
 #12 0x08083479 in ap_run_process_connection (c=0x9ace738) at connection.c:43
 #13 0x080a9f35 in child_main (child_num_arg=value optimized out) at 
prefork.c:650
 #14 0x080aa213 in make_child (s=0x961bfe0, slot=0) at prefork.c:746
 #15 0x080ab018 in ap_mpm_run (_pconf=0x96050a8, plog=0x9641198, s=0x961bfe0) 
at prefork.c:881
 #16 0x08068df0 in main (argc=Cannot access memory at address 0x0
 ) at main.c:740

From the perl code perspective it looks like it crashes somewhere inside
HTML::Template::output method. I tried several different versions of
HTML::Template package and all of them crash in the same way. (However I
don't think that the crash is caused by this package.)

Last known working mod_perl combination where my application worked
just fine is:

 Apache/2.2.8 (Ubuntu) mod_apreq2-20051231/2.6.0 mod_perl/2.0.3 Perl/v5.8.8 
 (any older versions also worked with no problems)

and therefore it seems like an upgrade to Perl 5.10 is a possible reason
for this crash.

I'm not able to reproduce this problem with a simple hello world
application but my application isn't that complicated either. Has anyone
experienced a similar issue?

I have a very limited experience with debugging of mod_perl/perl
crashes. Any advise on how to efficiently track this problem would be
greatly appreciated.

Thank you.

Jozef 

-- 
Jozef Kosoru


Re: Apache 2.2, perl 5.10, Windows XP, Apache-DBI-cache

2009-03-24 Thread Perrin Harkins
On Mon, Mar 23, 2009 at 5:20 PM, andynic andynic...@yahoo.com wrote:
 I would like to write a cgi script using a persistent database connection.
 I have read that I need
 For database persistent connections:
 http://cpan.uwinnipeg.ca/dist/Apache-DBI-Cache

No, you don't.  You don't need anything other than DBI with
connect_cached, but you can optionally use the extra features in
Apache::DBI.

- Perrin


Re: Apache 2.2, perl 5.10, Windows XP, Apache-DBI-cache

2009-03-24 Thread andynic

Thanks for this.  I pretty new at this stuff.  I will give it a try.
Andynic.


andynic wrote:
 
 Hi,
 
 I have installed on my Windows XP computer:
 Apache 2.2
 Perl 5.10,
 mod_perl 2
 MySql 5.10.
 
 I would like to write a cgi script using a persistent database connection. 
 I have read that I need 
 For database persistent connections:
 http://cpan.uwinnipeg.ca/dist/Apache-DBI-Cache
 
 There I find downloads but not for Windows which requires a ppm version.
 
 Would anyone know where I can find the Apache-DBI-Cache for the
 above-mentioned set of software for installation via ppm on Windows XP.
 
 Thanks for your help.
 Andynic.
 

-- 
View this message in context: 
http://www.nabble.com/Apache-2.2%2C-perl-5.10%2C-Windows-XP%2C-Apache-DBI-cache-tp22669395p22679396.html
Sent from the mod_perl - General mailing list archive at Nabble.com.



Re: Apache 2.2, perl 5.10, Windows XP, Apache-DBI-cache

2009-03-24 Thread andynic

Concerning Rany's reply:
 I was able to install it with the following command:

C:\ppm install http://trouchelle.com/ppm10/Apache-DBI-Cache.ppd
Downloading Apache-DBI-Cache-0.08...done
Unpacking Apache-DBI-Cache-0.08...done
Generating HTML for Apache-DBI-Cache-0.08...done
Updating files in site area...done
   7 files installed

-- 
View this message in context: 
http://www.nabble.com/Apache-2.2%2C-perl-5.10%2C-Windows-XP%2C-Apache-DBI-cache-tp22669395p22679473.html
Sent from the mod_perl - General mailing list archive at Nabble.com.



Re: Apache 2.2, perl 5.10, Windows XP, Apache-DBI-cache

2009-03-23 Thread Randy Kobes
On Mon, Mar 23, 2009 at 4:20 PM, andynic andynic...@yahoo.com wrote:

 Hi,

 I have installed on my Windows XP computer:
 Apache 2.2
 Perl 5.10,
 mod_perl 2
 MySql 5.10.

 I would like to write a cgi script using a persistent database connection.
 I have read that I need
 For database persistent connections:
 http://cpan.uwinnipeg.ca/dist/Apache-DBI-Cache

 There I find downloads but not for Windows which requires a ppm version.

 Would anyone know where I can find the Apache-DBI-Cache for the
 above-mentioned set of software for installation via ppm on Windows XP.

 Thanks for your help.
 Andynic.

At the bottom of
http://cpan.uwinnipeg.ca/~opi/Apache-DBI-Cache
there's links to Win32 repositories which contain this package; from this, the
http://trouchelle.com/perl/ppmrepview.pl
repository looks like it has it.

--
best regards,
Randy


Re: Apache::Reload - ModPerl::Util::unload_package under perl 5.10 use base directive malfunction

2009-01-07 Thread Philippe M. Chiasson



On 26/12/08 20:39, David Ihnen wrote:

1. Problem Description:

While developing with CGI::Application and utilizing Apache::Reload, we
encountered an issue where our modules were not being succesfully
reinitialized on reload.  It was traced down to @ISA not containing the
proper values after a 'use base' directive, but only on automatic
reload, and freshly on perl 5.10, not our previous version of perl 5.8.8!

I determined that when ModPerl::Util::unload_package is used to unload a
package, when it is then re-required in perl 5.10, 'use base' directives
don't function as expected.

I recreated the problem with this simple use case.  It happens when a
sub-module (required by something else) is unloaded then re-required.  I
included the workaround using the push @ISA method to contrast working
with not working.

This is the output when the program below is run.

$ perl t.pl
X
X
V
Not a CODE reference at t.pl line 14.

Where did the inheritance go after the require of v?  Is this a bug in
the do-file functionality utilized by require?  Did
ModPerl::Util::unload_package not do something it was supposed to?  Is
there a subtle interaction between 5.10 and ModPerl::Util?

I was initially going to submit this to the perl bug database, but
realized that the unload_package function was a ModPerl functionality,
so this is my first place to go.   Five files to test with itemized
below.  As you can see, I can recreate it without utilizing the mod_perl
environment specifically.

--- begin t.pl ---
#!/usr/bin/perl
use ModPerl::Util;
# Using push @ISA
require w;
w-x();
ModPerl::Util::unload_package('w');
require w;
w-x();
# Using use base
require u;
u-v();
ModPerl::Util::unload_package('v');
require u;


This is strange, as you are unloading 'v' and reloading 'u', probably not
what was intended.

--
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/   m/gozer\@(apache|cpan|ectoplasm)\.org/


Re: Apache::Reload - ModPerl::Util::unload_package under perl 5.10 use base directive malfunction

2008-12-27 Thread Philip M. Gollucci

David Ihnen wrote:

1. Problem Description:

While developing with CGI::Application and utilizing Apache::Reload, we 
encountered an issue where our modules were not being succesfully 
reinitialized on reload.  It was traced down to @ISA not containing the 
proper values after a 'use base' directive, but only on automatic 
reload, and freshly on perl 5.10, not our previous version of perl 5.8.8!
Are you able to try 5.8.9, its at least a smaller change set to look at if 
5.8.9 breaks too.





--

1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70  3F8C 75B8 8FFB DB9B 8C1C
Philip M. Gollucci (pgollu...@p6m7g8.com) c: 703.336.9354
Consultant  - P6M7G8 Inc.http://p6m7g8.net
Director IT - RideCharge, Inc.   http://ridecharge.com
Contractor  - PositiveEnergyUSA  http://positiveenergyusa.com
ASF Member  - Apache Software Foundation http://apache.org
FreeBSD Committer   - FreeBSD Foundation http://freebsd.org

Work like you don't need the money,
love like you'll never get hurt,
and dance like nobody's watching.


Apache::Reload - ModPerl::Util::unload_package under perl 5.10 use base directive malfunction

2008-12-26 Thread David Ihnen

1. Problem Description:

While developing with CGI::Application and utilizing Apache::Reload, we 
encountered an issue where our modules were not being succesfully 
reinitialized on reload.  It was traced down to @ISA not containing the 
proper values after a 'use base' directive, but only on automatic 
reload, and freshly on perl 5.10, not our previous version of perl 5.8.8!


I determined that when ModPerl::Util::unload_package is used to unload a 
package, when it is then re-required in perl 5.10, 'use base' directives 
don't function as expected.


I recreated the problem with this simple use case.  It happens when a 
sub-module (required by something else) is unloaded then re-required.  I 
included the workaround using the push @ISA method to contrast working 
with not working.


This is the output when the program below is run.

$ perl t.pl
X
X
V
Not a CODE reference at t.pl line 14.

Where did the inheritance go after the require of v?  Is this a bug in 
the do-file functionality utilized by require?  Did 
ModPerl::Util::unload_package not do something it was supposed to?  Is 
there a subtle interaction between 5.10 and ModPerl::Util?


I was initially going to submit this to the perl bug database, but 
realized that the unload_package function was a ModPerl functionality, 
so this is my first place to go.   Five files to test with itemized 
below.  As you can see, I can recreate it without utilizing the mod_perl 
environment specifically.


--- begin t.pl ---
#!/usr/bin/perl
use ModPerl::Util;
# Using push @ISA
require w;
w-x();
ModPerl::Util::unload_package('w');
require w;
w-x();
# Using use base
require u;
u-v();
ModPerl::Util::unload_package('v');
require u;
u-v();
-- end t.pl --
--- begin u.pm ---
package u;
use v;
use base 'v';
1;
--- end u.pm
--- begin v.pm ---
package v;
sub v { print V\n;}
1;
--- end v.pm
--- begin w.pm ---
package w;
use x;
BEGIN { push @ISA, 'x'; }
1;
--- end w.pm
--- begin x.pm ---
package x;
sub x {print X\n;}
1;
--- end x.pm


2. Used Components and their Configuration:

*** mod_perl version 2.04

*** using /usr/lib/perl5/Apache2/BuildConfig.pm

*** Makefile.PL options:
 MP_APR_LIB = aprext
 MP_APXS= /usr/bin/apxs2
 MP_CCOPTS  = -g -Wall
 MP_COMPAT_1X   = 1
 MP_GENERATE_XS = 1
 MP_INCLUDE_DIR = /usr/include/apache2 /usr/include/apr-1.0
 MP_LIBNAME = mod_perl
 MP_TRACE   = 0
 MP_USE_DSO = 1
 MP_USE_GTOP= 1
 MP_USE_STATIC  = 0


*** The httpd binary was not found


*** (apr|apu)-config linking info

-L/usr/lib -laprutil-1  
-L/usr/lib -lapr-1 -luuid -lrt -lcrypt  -lpthread -ldl




*** /usr/bin/perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
 Platform:
   osname=linux, osvers=2.6.24-16-server, 
archname=x86_64-linux-gnu-thread-multi
   uname='linux yellow 2.6.24-16-server #1 smp thu apr 10 13:15:38 utc 
2008 x86_64 gnulinux '
   config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN 
-Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr 
-Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 
-Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 
-Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local 
-Dsitelib=/usr/local/share/perl/5.10.0 
-Dsitearch=/usr/local/lib/perl/5.10.0 -Dman1dir=/usr/share/man/man1 
-Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 
-Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl 
-Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio 
-Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib 
-Dlibperl=libperl.so.5.10.0 -Dd_dosuid -des'

   hint=recommended, useposix=true, d_sigaction=define
   useithreads=define, usemultiplicity=define
   useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
   use64bitint=define, use64bitall=define, uselongdouble=undef
   usemymalloc=n, bincompat5005=undef
 Compiler:
   cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN 
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',

   optimize='-O2 -g',
   cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing 
-pipe -I/usr/local/include'

   ccversion='', gccversion='4.3.2', gccosandvers=''
   intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
   d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
   ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8

   alignbytes=8, prototype=define
 Linker and Libraries:
   ld='cc', ldflags =' -L/usr/local/lib'
   libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64
   libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
   perllibs=-ldl -lm -lpthread -lc -lcrypt
   libc=/lib/libc-2.8.90.so, so=so, useshrplib=true, 
libperl=libperl.so.5.10.0

   gnulibc_version='2.8.90'
 Dynamic Linking:
   dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
   cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib'


Characteristics of this binary (from libperl

ModPerl + Perl 5.10

2008-07-26 Thread Oleg Burlaca

I read that mod_perl 2.0.4 works with Perl 5.10.
Should I upgrade from 5.8.8. to 5.10?

from perl 5.10 release notes I saw that
The Perl interpreter itself is faster with a smaller memory footprint, 
and has several UTF-8 and threading improvements. etc.


I need a stable Apache + mo_perl + perl combination.
Is perl5.10 + mod_perl2.0.4. the right way to go? (are all perl modules 
working ok under 5.10 ?)


Thanks


Re: ModPerl + Perl 5.10

2008-07-26 Thread Torsten Foertsch
On Sat 26 Jul 2008, Oleg Burlaca wrote:
 I need a stable Apache + mo_perl + perl combination.
 Is perl5.10 + mod_perl2.0.4. the right way to go?

yes, with prefork mpm.

 (are all perl modules working ok under 5.10 ?)

You can't expect someone to tell you even if all perl modules are 
working by their own (without apache+mod_perl). But generally mod_perl2 
is quite stable.

Torsten

--
Need professional mod_perl support?
Just hire me: [EMAIL PROTECTED]


Re: segfault with perl 5.10 + MasonX::Request::WithApacheSession

2008-05-20 Thread Louis-David Mitterrand
On Mon, May 19, 2008 at 09:33:49PM +0300, Niko Tyni wrote:
 On Mon, May 19, 2008 at 11:12:08AM +0200, Louis-David Mitterrand wrote:
 
  Since I've upgraded to perl 5.10 on my debian unstable/sid box I get a 
  segfault when using MasonX::Request::WithApacheSession:
  
  [Sat May 17 16:14:55 2008] [notice] Apache/2.2.8 (Debian) 
  mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0 configured -- 
  resuming normal operations
  [Sat May 17 16:15:03 2008] [notice] child pid 25786 exit signal 
  Segmentation fault (11)
  [Sat May 17 16:15:11 2008] [notice] child pid 25788 exit signal 
  Segmentation fault (11)
  [Sat May 17 16:15:12 2008] [notice] child pid 25789 exit signal 
  Segmentation fault (11)
 
  ## When commented out perl 5.10 works fine
  request_class = 'MasonX::Request::WithApacheSession',
 
 This looks very similar to http://bugs.debian.org/480480, Cc'd as
 [EMAIL PROTECTED] . I just sent a stack backtrace there, no idea
 yet if the fault is with perl or mod_perl2.

Thanks for the pointer and fine investigative work on reducing the
problem to a perl one-liner!

Awaiting upstream now...

Cheers,


segfault with perl 5.10 + MasonX::Request::WithApacheSession

2008-05-19 Thread Louis-David Mitterrand
[this message elicited no answers so far from mason-users, so maybe the
modperl community might be of help, thanks]

Hi,

Since I've upgraded to perl 5.10 on my debian unstable/sid box I get a 
segfault when using MasonX::Request::WithApacheSession:

[Sat May 17 16:14:55 2008] [notice] Apache/2.2.8 (Debian) 
mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming 
normal operations
[Sat May 17 16:15:03 2008] [notice] child pid 25786 exit signal 
Segmentation fault (11)
[Sat May 17 16:15:11 2008] [notice] child pid 25788 exit signal 
Segmentation fault (11)
[Sat May 17 16:15:12 2008] [notice] child pid 25789 exit signal 
Segmentation fault (11)

etc...

I marked the problematic handler.pl block with comments:

my $ah = new HTML::Mason::ApacheHandler(
autohandler_name='ah.mc',
dhandler_name='dh.mc',
comp_root='/var/www',
data_dir='/tmp/mason',
error_mode='output',
args_method='mod_perl',

## When commented out perl 5.10 works fine
request_class = 'MasonX::Request::WithApacheSession',
session_class = 'Apache::Session::Postgres',
session_data_source = 'dbi:Pg:dbname=sessions',
session_user_name = '',
session_password = '',
session_use_cookie = 1,
session_cookie_expires = undef,
## When commented out perl 5.10 works fine

);

When using a vanilla request_class all is well, but then I have to roll 
my own %session object (which is not a huge problem).

I upgraded to libmasonx-request-withapachesession-perl_0.31-1_all.deb 
with no difference.

Does someone have an idea about that segfault?

Thanks,


Re: segfault with perl 5.10 + MasonX::Request::WithApacheSession

2008-05-19 Thread Perrin Harkins
On Mon, May 19, 2008 at 5:12 AM, Louis-David Mitterrand
## When commented out perl 5.10 works fine
request_class = 'MasonX::Request::WithApacheSession',
session_class = 'Apache::Session::Postgres',
session_data_source = 'dbi:Pg:dbname=sessions',
session_user_name = '',
session_password = '',
session_use_cookie = 1,
session_cookie_expires = undef,
## When commented out perl 5.10 works fine

My guess would be that your Postgres driver has a problem.  Try
running some Pg queries from Mason.

- Perrin


Re: segfault with perl 5.10 + MasonX::Request::WithApacheSession

2008-05-19 Thread Fred Moyer

Louis-David Mitterrand wrote:

[this message elicited no answers so far from mason-users, so maybe the
modperl community might be of help, thanks]

Hi,

Since I've upgraded to perl 5.10 on my debian unstable/sid box I get a 
segfault when using MasonX::Request::WithApacheSession:


[Sat May 17 16:14:55 2008] [notice] Apache/2.2.8 (Debian) 
mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming 
normal operations
[Sat May 17 16:15:03 2008] [notice] child pid 25786 exit signal 
Segmentation fault (11)
[Sat May 17 16:15:11 2008] [notice] child pid 25788 exit signal 
Segmentation fault (11)
[Sat May 17 16:15:12 2008] [notice] child pid 25789 exit signal 
Segmentation fault (11)


Did you rebuild mod_perl and libapreq with perl 5.10?




etc...

I marked the problematic handler.pl block with comments:

my $ah = new HTML::Mason::ApacheHandler(
autohandler_name='ah.mc',
dhandler_name='dh.mc',
comp_root='/var/www',
data_dir='/tmp/mason',
error_mode='output',
args_method='mod_perl',

## When commented out perl 5.10 works fine
request_class = 'MasonX::Request::WithApacheSession',
session_class = 'Apache::Session::Postgres',
session_data_source = 'dbi:Pg:dbname=sessions',
session_user_name = '',
session_password = '',
session_use_cookie = 1,
session_cookie_expires = undef,
## When commented out perl 5.10 works fine

);

When using a vanilla request_class all is well, but then I have to roll 
my own %session object (which is not a huge problem).


I upgraded to libmasonx-request-withapachesession-perl_0.31-1_all.deb 
with no difference.


Does someone have an idea about that segfault?

Thanks,



--
Red Hot Penguin Consulting LLC
mod_perl/PostgreSQL consulting and implementation
http://www.redhotpenguin.com/


Re: segfault with perl 5.10 + MasonX::Request::WithApacheSession

2008-05-19 Thread Louis-David Mitterrand
On Mon, May 19, 2008 at 10:31:06AM -0400, Perrin Harkins wrote:
 On Mon, May 19, 2008 at 5:12 AM, Louis-David Mitterrand
 ## When commented out perl 5.10 works fine
 request_class = 
  'MasonX::Request::WithApacheSession',
 session_class = 'Apache::Session::Postgres',
 session_data_source = 'dbi:Pg:dbname=sessions',
 session_user_name = '',
 session_password = '',
 session_use_cookie = 1,
 session_cookie_expires = undef,
 ## When commented out perl 5.10 works fine
 
 My guess would be that your Postgres driver has a problem.  Try
 running some Pg queries from Mason.

I thought about that too, but declaring in my handler.pl:

sub handler {


$HTML::Mason::Commands::dbc = DBI-connect(dbi:Pg:dbname=critik, ,
, {RaiseError=1, PrintError=1, 
AutoCommit=1});

}

and using $dbc in my mason code works fine.


Re: segfault with perl 5.10 + MasonX::Request::WithApacheSession

2008-05-19 Thread Louis-David Mitterrand
On Mon, May 19, 2008 at 07:32:18AM -0700, Fred Moyer wrote:
 Louis-David Mitterrand wrote:
 [this message elicited no answers so far from mason-users, so maybe the
 modperl community might be of help, thanks]

 Hi,

 Since I've upgraded to perl 5.10 on my debian unstable/sid box I get a  
 segfault when using MasonX::Request::WithApacheSession:

  [Sat May 17 16:14:55 2008] [notice] Apache/2.2.8 (Debian) 
 mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming 
 normal operations
  [Sat May 17 16:15:03 2008] [notice] child pid 25786 exit signal 
 Segmentation fault (11)
  [Sat May 17 16:15:11 2008] [notice] child pid 25788 exit signal 
 Segmentation fault (11)
  [Sat May 17 16:15:12 2008] [notice] child pid 25789 exit signal 
 Segmentation fault (11)

 Did you rebuild mod_perl and libapreq with perl 5.10?

I'm using debian packages which are rebuilt with perl 5.10:

libapache2-request-perl 2.08-5+b1 
Depends: perl (= 5.10.0-9)

libapache2-mod-perl2 2.0.4-1
 Depends: perl (= 5.10.0-9)

and anyway mod_perl seems to work fine except when using 

request_class = 'MasonX::Request::WithApacheSession'


Re: segfault with perl 5.10 + MasonX::Request::WithApacheSession

2008-05-19 Thread Niko Tyni
On Mon, May 19, 2008 at 11:12:08AM +0200, Louis-David Mitterrand wrote:

 Since I've upgraded to perl 5.10 on my debian unstable/sid box I get a 
 segfault when using MasonX::Request::WithApacheSession:
 
   [Sat May 17 16:14:55 2008] [notice] Apache/2.2.8 (Debian) 
 mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0 configured -- resuming 
 normal operations
   [Sat May 17 16:15:03 2008] [notice] child pid 25786 exit signal 
 Segmentation fault (11)
   [Sat May 17 16:15:11 2008] [notice] child pid 25788 exit signal 
 Segmentation fault (11)
   [Sat May 17 16:15:12 2008] [notice] child pid 25789 exit signal 
 Segmentation fault (11)

   ## When commented out perl 5.10 works fine
   request_class = 'MasonX::Request::WithApacheSession',

This looks very similar to http://bugs.debian.org/480480, Cc'd as
[EMAIL PROTECTED] . I just sent a stack backtrace there, no idea
yet if the fault is with perl or mod_perl2.

Cheers,
-- 
Niko Tyni   [EMAIL PROTECTED]


Re: [mp2] Perl 5.10 fixes from SVN cause SIGBUS on sparc

2008-03-12 Thread Niko Tyni
On Mon, Mar 10, 2008 at 10:53:54PM -0700, Philippe M. Chiasson wrote:

 Niko Tyni wrote:
 We're switching to Perl 5.10 in Debian soon, and I'm trying to update the
 mod_perl2 package to keep it working. Unfortunately the ModPerl-Registry
 test suite is failing on the Sparc architecture because apache2 is killed
 by a bus error (SIGBUS).

 How about this s/U16/U32/ diff, basically keeping the flag type at U32,
 since it was not an essential part of the fix itself.

No, that doesn't help either.

It turns out the U16/U32 thing was a bad guess on my part. After
some code staring and debugging, I found the real bug. It's not
architecture-specific really, it just happens to bite worst on Sparc.

The non-void function modperl_thx_interp_get() function is doing a
plain 'return;' when it means to 'return NULL;'. The result is that the
MP_APR_POOL_SV_TAKES_OWNERSHIP() macro increments a more or less random
memory location, in this case my_perl-tScopestack aka. PL_scopestack,
making it non-aligned as a side effect.

Patch attached; this fixes the bus error for me.

Cheers,
-- 
Niko Tyni   [EMAIL PROTECTED]
Index: src/modules/perl/modperl_interp.c
===
--- src/modules/perl/modperl_interp.c	(revision 635485)
+++ src/modules/perl/modperl_interp.c	(working copy)
@@ -581,7 +581,7 @@
 modperl_interp_t *interp;
 dTHXa(thx);
 SV **svp = hv_fetch(PL_modglobal, MP_THX_INTERP_KEY, strlen(MP_THX_INTERP_KEY), 0);
-if (!svp) return;
+if (!svp) return NULL;
 interp = INT2PTR(modperl_interp_t *, SvIV(*svp));
 return interp;
 }


Re: [mp2] Perl 5.10 fixes from SVN cause SIGBUS on sparc

2008-03-12 Thread Philippe M. Chiasson

Niko Tyni wrote:

On Mon, Mar 10, 2008 at 10:53:54PM -0700, Philippe M. Chiasson wrote:


Niko Tyni wrote:

We're switching to Perl 5.10 in Debian soon, and I'm trying to update the
mod_perl2 package to keep it working. Unfortunately the ModPerl-Registry
test suite is failing on the Sparc architecture because apache2 is killed
by a bus error (SIGBUS).



How about this s/U16/U32/ diff, basically keeping the flag type at U32,
since it was not an essential part of the fix itself.


No, that doesn't help either.

It turns out the U16/U32 thing was a bad guess on my part. After
some code staring and debugging, I found the real bug. It's not
architecture-specific really, it just happens to bite worst on Sparc.


Thanks a lot for the debugging work!

Committed revision 636631.

--
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/   m/gozer\@(apache|cpan|ectoplasm)\.org/



signature.asc
Description: OpenPGP digital signature


Re: [mp2] Perl 5.10 fixes from SVN cause SIGBUS on sparc

2008-03-10 Thread Philippe M. Chiasson

Niko Tyni wrote:

[Resending, as my first try on March 1st apparently got lost somewhere.
 Apologies if this ends up as a duplicate.]

1. Problem Description:

We're switching to Perl 5.10 in Debian soon, and I'm trying to update the
mod_perl2 package to keep it working. Unfortunately the ModPerl-Registry
test suite is failing on the Sparc architecture because apache2 is killed
by a bus error (SIGBUS).

I can reproduce this with a clean current SVN trunk (r631932)
without any Debian-specific changes, and bisecting shows it broke with
r620440. This is still with Perl 5.8.8 (from Debian unstable, package
version 5.8.8-12).

The kernel messages show the SIGBUS is an unaligned access (as usual on
Sparc). I assume the U32-U16 changes in r615751 are related.


Good old Sparc!

Does this patch make the problem go away? (untested)

Index: src/modules/perl/modperl_mgv.c
===
--- src/modules/perl/modperl_mgv.c  (revision 635455)
+++ src/modules/perl/modperl_mgv.c  (working copy)
@@ -271,7 +271,7 @@
 }
 else {
 if ((cv = get_cv(name, FALSE))) {
-handler-attrs = *modperl_code_attrs(aTHX_ cv);
+memcpy((handler-attrs),modperl_code_attrs(aTHX_ cv), 
sizeof(handler-attrs));
 handler-mgv_cv =
 modperl_mgv_compile(aTHX_ p, HvNAME(GvSTASH(CvGV(cv;
 modperl_mgv_append(aTHX_ p, handler-mgv_cv, GvNAME(CvGV(cv)));
@@ -334,7 +334,7 @@
 modperl_mgv_new_name(handler-mgv_obj, p, name);
 }

-handler-attrs = *modperl_code_attrs(aTHX_ cv);
+memcpy((handler-attrs),modperl_code_attrs(aTHX_ cv), 
sizeof(handler-attrs));
 /* note: this is the real function after @ISA lookup */
 handler-mgv_cv = modperl_mgv_compile(aTHX_ p, HvNAME(GvSTASH(gv)));
 modperl_mgv_append(aTHX_ p, handler-mgv_cv, handler_name);

--
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/   m/gozer\@(apache|cpan|ectoplasm)\.org/



signature.asc
Description: OpenPGP digital signature


Re: [mp2] Perl 5.10 fixes from SVN cause SIGBUS on sparc

2008-03-10 Thread Niko Tyni
On Mon, Mar 10, 2008 at 12:06:54AM -0700, Philippe M. Chiasson wrote:

 Niko Tyni wrote:
 We're switching to Perl 5.10 in Debian soon, and I'm trying to update the
 mod_perl2 package to keep it working. Unfortunately the ModPerl-Registry
 test suite is failing on the Sparc architecture because apache2 is killed
 by a bus error (SIGBUS).

 Does this patch make the problem go away? (untested)

 -handler-attrs = *modperl_code_attrs(aTHX_ cv);
 +memcpy((handler-attrs),modperl_code_attrs(aTHX_ cv), 
 sizeof(handler-attrs));

No, unfortunately I can't see any change at all with this patch.
The backtrace looks just the same.
-- 
Niko Tyni   [EMAIL PROTECTED]


Re: mod_perl, Perl 5.10, Apache 2.2.6 = Tests fail

2008-01-26 Thread Philippe M. Chiasson

Jie Gao wrote:

Hi All

Has this problem been solved finally in dev?


No, not yet. The main problem getting looked at lately was Perl 5.10,
and now that it looks like that is working.

You should try building the svn trunk with the following patch
applied and report if it fixes your problem:

http://mid.gmane.org/[EMAIL PROTECTED]


Regards,



Jie


On Tue, 25 Dec 2007, Heiko Jansen wrote:


Date: Tue, 25 Dec 2007 19:59:14 +0100
From: Heiko Jansen [EMAIL PROTECTED]
To: modperl@perl.apache.org
Subject: mod_perl, Perl 5.10, Apache 2.2.6 = Tests fail

Hi *.

I'm having trouble getting mod_perl to work with Perl 5.10 and Apache
2.2.6 on Solaris 64Bit/SPARC using Sun cc (Sun C 5.8 2005/10/13),
compiling as 64Bit app.
This applies to both mod_perl 2.0.3 and the latest (as of today)
mod_perl/2.0.4-dev.

2.0.3 won't build at all unless I copy
src/modules/perl/modperl_common_util.h and
src/modules/perl/modperl_interp.h over from the dev tree. Then it
compiles fine. Bad hack, of course.

2.0.4-dev compiles out of the box.
However, running the tests, I see a bunch of errors in either case.

I'm adding the test output and some info on my Perl.
The error log will follow in a second mail due to the mail size limit
for the list.
If I should provide some more info or if there is anything I could test
locally, please let me know.

Thx.
Heiko


Taken from 2.0.4-dev:
[...]
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
APACHE_TEST_USER= APACHE_TEST_APXS= \
   /digibib/tools/bin/perl -Iblib/arch -Iblib/lib \
   t/TEST -bugreport -verbose=0
[warning] Skipping 'set unlimited ulimit for coredumps', since we are
running as a non-root user on Solaris
/digibib/apache-2.2.6/bin/httpd  -d /digibib/src/modperl-2.0/t -f
/digibib/src/modperl-2.0/t/conf/httpd.conf -D APACHE2 -D
PERL_USEITHREADS
using Apache/2.2.6 (worker MPM)
[...]
t/apache/add_config...ok
[...These tests worked...]
t/api/lookup_misc.ok
t/api/lookup_uri..EXPECTED:
pre+subreq=lookup_uri;filter=none+suf at t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=none at t/api/lookup_uri.t line 29.
t/api/lookup_uri..1/4 # Failed test 1 in
t/api/lookup_uri.t at line 30
EXPECTED: pre+pre+subreq=lookup_uri;filter=first+suf+suf at
t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=first at t/api/lookup_uri.t line 29.
# Failed test 2 in t/api/lookup_uri.t at line 30 fail #2
EXPECTED: pre+subreq=lookup_uri;filter=second+suf+suf at
t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=second at t/api/lookup_uri.t line 29.
# Failed test 3 in t/api/lookup_uri.t at line 30 fail #3
EXPECTED: pre+subreq=lookup_uri;filter=default+suf at t/api/lookup_uri.t
line 28.
RECEIVED: subreq=lookup_uri;filter=default at t/api/lookup_uri.t line
29.
# Failed test 4 in t/api/lookup_uri.t at line 30 fail #4

[NOTE: the  EXPECTED:/RECEIVED: warnings were added by me in .t file]

t/api/lookup_uri.. Failed 4/4 subtests
t/api/lookup_uri2.ok
t/api/module..ok
t/api/process.ok
t/api/query...ok
t/api/request_rec.ok
t/api/request_subclassok
t/api/request_utilok
t/api/responseok
t/api/rflush..1/2 # Failed test 1 in
t/api/rflush.t at line 14
# Failed test 2 in t/api/rflush.t at line 20
t/api/rflush.. Failed 2/2 subtests
t/api/sendfileok
[...These tests worked...]
t/filter/both_str_con_add.ok
t/filter/both_str_native_remove...1/8 # Failed test 3 in
t/filter/both_str_native_remove.t at line 33
# Failed test 6 in t/filter/both_str_native_remove.t at line 45
# Failed test 7 in t/filter/both_str_native_remove.t at line 49
# Failed test 8 in t/filter/both_str_native_remove.t at line 53
t/filter/both_str_native_remove... Failed 4/8 subtests
t/filter/both_str_req_add.1/1 # Failed test 1 in
t/filter/both_str_req_add.t at line 16
t/filter/both_str_req_add. Failed 1/1 subtests
t/filter/both_str_req_mix.1/1 # Failed test 1 in
t/filter/both_str_req_mix.t at line 33
t/filter/both_str_req_mix. Failed 1/1 subtests
t/filter/both_str_req_proxy...1/1 # Failed test 1 in
t/filter/both_str_req_proxy.t at line 16
t/filter/both_str_req_proxy... Failed 1/1 subtests
t/filter/in_autoload..1/1 # Failed test 1 in
t/filter/in_autoload.t at line 16
t/filter/in_autoload.. Failed 1/1 subtests
t/filter/in_bbs_body.. Failed 2/3 subtests
t/filter/in_bbs_consume...1/1 # Failed test 1 in
t/filter/in_bbs_consume.t at line 19
t/filter/in_bbs_consume... Failed 1/1 subtests
t/filter

Re: mod_perl, Perl 5.10, Apache 2.2.6 = Tests fail

2008-01-25 Thread Jie Gao

Hi All

Has this problem been finally solved in dev?

Regards,



Jie


On Tue, 25 Dec 2007, Heiko Jansen wrote:


Date: Tue, 25 Dec 2007 19:59:14 +0100
From: Heiko Jansen [EMAIL PROTECTED]
To: modperl@perl.apache.org
Subject: mod_perl, Perl 5.10, Apache 2.2.6 = Tests fail

Hi *.

I'm having trouble getting mod_perl to work with Perl 5.10 and Apache
2.2.6 on Solaris 64Bit/SPARC using Sun cc (Sun C 5.8 2005/10/13),
compiling as 64Bit app.
This applies to both mod_perl 2.0.3 and the latest (as of today)
mod_perl/2.0.4-dev.

2.0.3 won't build at all unless I copy
src/modules/perl/modperl_common_util.h and
src/modules/perl/modperl_interp.h over from the dev tree. Then it
compiles fine. Bad hack, of course.

2.0.4-dev compiles out of the box.
However, running the tests, I see a bunch of errors in either case.

I'm adding the test output and some info on my Perl.
The error log will follow in a second mail due to the mail size limit
for the list.
If I should provide some more info or if there is anything I could test
locally, please let me know.

Thx.
Heiko


Taken from 2.0.4-dev:
[...]
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
APACHE_TEST_USER= APACHE_TEST_APXS= \
  /digibib/tools/bin/perl -Iblib/arch -Iblib/lib \
  t/TEST -bugreport -verbose=0
[warning] Skipping 'set unlimited ulimit for coredumps', since we are
running as a non-root user on Solaris
/digibib/apache-2.2.6/bin/httpd  -d /digibib/src/modperl-2.0/t -f
/digibib/src/modperl-2.0/t/conf/httpd.conf -D APACHE2 -D
PERL_USEITHREADS
using Apache/2.2.6 (worker MPM)
[...]
t/apache/add_config...ok
[...These tests worked...]
t/api/lookup_misc.ok
t/api/lookup_uri..EXPECTED:
pre+subreq=lookup_uri;filter=none+suf at t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=none at t/api/lookup_uri.t line 29.
t/api/lookup_uri..1/4 # Failed test 1 in
t/api/lookup_uri.t at line 30
EXPECTED: pre+pre+subreq=lookup_uri;filter=first+suf+suf at
t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=first at t/api/lookup_uri.t line 29.
# Failed test 2 in t/api/lookup_uri.t at line 30 fail #2
EXPECTED: pre+subreq=lookup_uri;filter=second+suf+suf at
t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=second at t/api/lookup_uri.t line 29.
# Failed test 3 in t/api/lookup_uri.t at line 30 fail #3
EXPECTED: pre+subreq=lookup_uri;filter=default+suf at t/api/lookup_uri.t
line 28.
RECEIVED: subreq=lookup_uri;filter=default at t/api/lookup_uri.t line
29.
# Failed test 4 in t/api/lookup_uri.t at line 30 fail #4

[NOTE: the  EXPECTED:/RECEIVED: warnings were added by me in .t file]

t/api/lookup_uri.. Failed 4/4 subtests
t/api/lookup_uri2.ok
t/api/module..ok
t/api/process.ok
t/api/query...ok
t/api/request_rec.ok
t/api/request_subclassok
t/api/request_utilok
t/api/responseok
t/api/rflush..1/2 # Failed test 1 in
t/api/rflush.t at line 14
# Failed test 2 in t/api/rflush.t at line 20
t/api/rflush.. Failed 2/2 subtests
t/api/sendfileok
[...These tests worked...]
t/filter/both_str_con_add.ok
t/filter/both_str_native_remove...1/8 # Failed test 3 in
t/filter/both_str_native_remove.t at line 33
# Failed test 6 in t/filter/both_str_native_remove.t at line 45
# Failed test 7 in t/filter/both_str_native_remove.t at line 49
# Failed test 8 in t/filter/both_str_native_remove.t at line 53
t/filter/both_str_native_remove... Failed 4/8 subtests
t/filter/both_str_req_add.1/1 # Failed test 1 in
t/filter/both_str_req_add.t at line 16
t/filter/both_str_req_add. Failed 1/1 subtests
t/filter/both_str_req_mix.1/1 # Failed test 1 in
t/filter/both_str_req_mix.t at line 33
t/filter/both_str_req_mix. Failed 1/1 subtests
t/filter/both_str_req_proxy...1/1 # Failed test 1 in
t/filter/both_str_req_proxy.t at line 16
t/filter/both_str_req_proxy... Failed 1/1 subtests
t/filter/in_autoload..1/1 # Failed test 1 in
t/filter/in_autoload.t at line 16
t/filter/in_autoload.. Failed 1/1 subtests
t/filter/in_bbs_body.. Failed 2/3 subtests
t/filter/in_bbs_consume...1/1 # Failed test 1 in
t/filter/in_bbs_consume.t at line 19
t/filter/in_bbs_consume... Failed 1/1 subtests
t/filter/in_bbs_inject_header.ok
t/filter/in_bbs_msg...ok
t/filter/in_bbs_underrun..ok
t/filter/in_error.1/1 # Failed test 1 in
t/filter/in_error.t at line 13
t/filter/in_error. Failed 1/1 subtests
t/filter

Re: mod_perl, Perl 5.10, Apache 2.2.6 = Tests fail

2008-01-25 Thread Jie Gao
Hi All

Has this problem been solved finally in dev?

Regards,



Jie


On Tue, 25 Dec 2007, Heiko Jansen wrote:

 Date: Tue, 25 Dec 2007 19:59:14 +0100
 From: Heiko Jansen [EMAIL PROTECTED]
 To: modperl@perl.apache.org
 Subject: mod_perl, Perl 5.10, Apache 2.2.6 = Tests fail

 Hi *.

 I'm having trouble getting mod_perl to work with Perl 5.10 and Apache
 2.2.6 on Solaris 64Bit/SPARC using Sun cc (Sun C 5.8 2005/10/13),
 compiling as 64Bit app.
 This applies to both mod_perl 2.0.3 and the latest (as of today)
 mod_perl/2.0.4-dev.

 2.0.3 won't build at all unless I copy
 src/modules/perl/modperl_common_util.h and
 src/modules/perl/modperl_interp.h over from the dev tree. Then it
 compiles fine. Bad hack, of course.

 2.0.4-dev compiles out of the box.
 However, running the tests, I see a bunch of errors in either case.

 I'm adding the test output and some info on my Perl.
 The error log will follow in a second mail due to the mail size limit
 for the list.
 If I should provide some more info or if there is anything I could test
 locally, please let me know.

 Thx.
 Heiko


 Taken from 2.0.4-dev:
 [...]
 APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
 APACHE_TEST_USER= APACHE_TEST_APXS= \
/digibib/tools/bin/perl -Iblib/arch -Iblib/lib \
t/TEST -bugreport -verbose=0
 [warning] Skipping 'set unlimited ulimit for coredumps', since we are
 running as a non-root user on Solaris
 /digibib/apache-2.2.6/bin/httpd  -d /digibib/src/modperl-2.0/t -f
 /digibib/src/modperl-2.0/t/conf/httpd.conf -D APACHE2 -D
 PERL_USEITHREADS
 using Apache/2.2.6 (worker MPM)
 [...]
 t/apache/add_config...ok
 [...These tests worked...]
 t/api/lookup_misc.ok
 t/api/lookup_uri..EXPECTED:
 pre+subreq=lookup_uri;filter=none+suf at t/api/lookup_uri.t line 28.
 RECEIVED: subreq=lookup_uri;filter=none at t/api/lookup_uri.t line 29.
 t/api/lookup_uri..1/4 # Failed test 1 in
 t/api/lookup_uri.t at line 30
 EXPECTED: pre+pre+subreq=lookup_uri;filter=first+suf+suf at
 t/api/lookup_uri.t line 28.
 RECEIVED: subreq=lookup_uri;filter=first at t/api/lookup_uri.t line 29.
 # Failed test 2 in t/api/lookup_uri.t at line 30 fail #2
 EXPECTED: pre+subreq=lookup_uri;filter=second+suf+suf at
 t/api/lookup_uri.t line 28.
 RECEIVED: subreq=lookup_uri;filter=second at t/api/lookup_uri.t line 29.
 # Failed test 3 in t/api/lookup_uri.t at line 30 fail #3
 EXPECTED: pre+subreq=lookup_uri;filter=default+suf at t/api/lookup_uri.t
 line 28.
 RECEIVED: subreq=lookup_uri;filter=default at t/api/lookup_uri.t line
 29.
 # Failed test 4 in t/api/lookup_uri.t at line 30 fail #4

 [NOTE: the  EXPECTED:/RECEIVED: warnings were added by me in .t file]

 t/api/lookup_uri.. Failed 4/4 subtests
 t/api/lookup_uri2.ok
 t/api/module..ok
 t/api/process.ok
 t/api/query...ok
 t/api/request_rec.ok
 t/api/request_subclassok
 t/api/request_utilok
 t/api/responseok
 t/api/rflush..1/2 # Failed test 1 in
 t/api/rflush.t at line 14
 # Failed test 2 in t/api/rflush.t at line 20
 t/api/rflush.. Failed 2/2 subtests
 t/api/sendfileok
 [...These tests worked...]
 t/filter/both_str_con_add.ok
 t/filter/both_str_native_remove...1/8 # Failed test 3 in
 t/filter/both_str_native_remove.t at line 33
 # Failed test 6 in t/filter/both_str_native_remove.t at line 45
 # Failed test 7 in t/filter/both_str_native_remove.t at line 49
 # Failed test 8 in t/filter/both_str_native_remove.t at line 53
 t/filter/both_str_native_remove... Failed 4/8 subtests
 t/filter/both_str_req_add.1/1 # Failed test 1 in
 t/filter/both_str_req_add.t at line 16
 t/filter/both_str_req_add. Failed 1/1 subtests
 t/filter/both_str_req_mix.1/1 # Failed test 1 in
 t/filter/both_str_req_mix.t at line 33
 t/filter/both_str_req_mix. Failed 1/1 subtests
 t/filter/both_str_req_proxy...1/1 # Failed test 1 in
 t/filter/both_str_req_proxy.t at line 16
 t/filter/both_str_req_proxy... Failed 1/1 subtests
 t/filter/in_autoload..1/1 # Failed test 1 in
 t/filter/in_autoload.t at line 16
 t/filter/in_autoload.. Failed 1/1 subtests
 t/filter/in_bbs_body.. Failed 2/3 subtests
 t/filter/in_bbs_consume...1/1 # Failed test 1 in
 t/filter/in_bbs_consume.t at line 19
 t/filter/in_bbs_consume... Failed 1/1 subtests
 t/filter/in_bbs_inject_header.ok
 t/filter/in_bbs_msg...ok
 t/filter/in_bbs_underrun..ok
 t/filter/in_error.1/1 # Failed test 1 in
 t/filter

Re: Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-29 Thread Issac Goldstand
-0.5

I would actually like to see builds prepared against MSVCRT80, which is
available in the Vista SDK's bundled free compiler, rather than having
users need to download the SDK + VS Express Edition + configure the one
to find and work with the other (a royal pain).  As long as the latest
SDKs are bundled with compilers (for x86, amd64 and even the ia64 for
those who find that useful) there's no reason not to keep the build
procedure as simple as possible for those of us *cough* who prefer not
to buy a new VS suite every time MS feels like trying to send me one :-)

My $0.02,
  Issac

William A. Rowe, Jr. wrote:
 Well folks, here's the news...
 
 Studio 2008, true to form, proves that MS is incapable of keeping
 around a stdc library any longer than one product cycle.  Yes, our
 long awaited (not) MSVCR90 is here.
 
 Just to put it in perspective, cross-library malloc/free, stdio and
 some other facilities are tightly integrated into the clib, such that
 compiling the application under one flavor, and using a library of
 another which modifies the application's memory/stdio allocations
 causes no end of troubles.
 
 You might be also curious if AS is making progress at coming to a new
 baseline msvcrt for perl, since they had adopted Studio 2003's msvcr71
 for python.  Unfortunately, this version is also built under msvcrt.
 
 The obvious question, why not compile apache and perl under vc 8 or 9
 but link to msvcrt.dll?  The trouble which comes in here is that their
 std headers correspond to msvcr90, not to msvcrt.  As that library
 evolves, it's going to inevitably drift from the msvcrt.lib.
 
 My instinct, with 2008 adding the new SDK features for apr such as
 multicast group filtering, and the continued availability of a 2008
 'express'/'lite' free version, is to take httpd 2.4 (3.0?) binaries
 for apache httpd to this 2008 release.  Yes, probably retain either
 .dsp files, or a makefile structure which allows folks to build to
 anything from VC6 to a 'plain SDK' (it now includes the compilers
 and tools), but for binaries, this will become foobar for folks who
 use ActiveState.
 
 Perl 5.10 is interesting for it's attention to Win32 64P model builds
 (64ILP reflects an OS which represents int, long, pointer as 64 bits,
 so Win32's 64P model reflects a 32 bit int/long, and 64 bit pointer).
 Because 64P is unusual in the family of 64 bit OS's, it's received the
 least attention of all of the platforms.  Perl 5.10 is purported to catch
 win32 up significantly to the tried-and-true linux, solaris, bsd 64 bit
 flavors.
 
 So I'm posting this mostly for feedback to the rational of moving to
 a compiler that will generate reliable 32 *and* 64 bit builds of httpd,
 will be freely available (the point of the ASF is the source, and that
 users can do something with it), and that decision will be locked at
 the 2.4 release based on our strong commitment to binary compatibility.
 
 It's very true that modules compiled for another runtime can coexist
 very happily when the module does not free allocations from another
 component, don't attempt to share faux-posix stdio resources, etc.
 mod_aspdotnet is a great example; compiled with VS.NET or VS2005 it
 lives very happily in a VC6 build of httpd.  But the way that perl,
 mod_perl and httpd interact is not that trivial, and highly prone to
 this class of problems.  So I figure if there's a plan here, it will
 likely satisfy the 80/20.
 
 If AS Perl can't part of that solution, so be it.
 
 Bill
 


Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-28 Thread William A. Rowe, Jr.

Well folks, here's the news...

Studio 2008, true to form, proves that MS is incapable of keeping
around a stdc library any longer than one product cycle.  Yes, our
long awaited (not) MSVCR90 is here.

Just to put it in perspective, cross-library malloc/free, stdio and
some other facilities are tightly integrated into the clib, such that
compiling the application under one flavor, and using a library of
another which modifies the application's memory/stdio allocations
causes no end of troubles.

You might be also curious if AS is making progress at coming to a new
baseline msvcrt for perl, since they had adopted Studio 2003's msvcr71
for python.  Unfortunately, this version is also built under msvcrt.

The obvious question, why not compile apache and perl under vc 8 or 9
but link to msvcrt.dll?  The trouble which comes in here is that their
std headers correspond to msvcr90, not to msvcrt.  As that library
evolves, it's going to inevitably drift from the msvcrt.lib.

My instinct, with 2008 adding the new SDK features for apr such as
multicast group filtering, and the continued availability of a 2008
'express'/'lite' free version, is to take httpd 2.4 (3.0?) binaries
for apache httpd to this 2008 release.  Yes, probably retain either
.dsp files, or a makefile structure which allows folks to build to
anything from VC6 to a 'plain SDK' (it now includes the compilers
and tools), but for binaries, this will become foobar for folks who
use ActiveState.

Perl 5.10 is interesting for it's attention to Win32 64P model builds
(64ILP reflects an OS which represents int, long, pointer as 64 bits,
so Win32's 64P model reflects a 32 bit int/long, and 64 bit pointer).
Because 64P is unusual in the family of 64 bit OS's, it's received the
least attention of all of the platforms.  Perl 5.10 is purported to catch
win32 up significantly to the tried-and-true linux, solaris, bsd 64 bit
flavors.

So I'm posting this mostly for feedback to the rational of moving to
a compiler that will generate reliable 32 *and* 64 bit builds of httpd,
will be freely available (the point of the ASF is the source, and that
users can do something with it), and that decision will be locked at
the 2.4 release based on our strong commitment to binary compatibility.

It's very true that modules compiled for another runtime can coexist
very happily when the module does not free allocations from another
component, don't attempt to share faux-posix stdio resources, etc.
mod_aspdotnet is a great example; compiled with VS.NET or VS2005 it
lives very happily in a VC6 build of httpd.  But the way that perl,
mod_perl and httpd interact is not that trivial, and highly prone to
this class of problems.  So I figure if there's a plan here, it will
likely satisfy the 80/20.

If AS Perl can't part of that solution, so be it.

Bill




RE: Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-28 Thread Jan Dubois
On Fri, 28 Dec 2007, William A. Rowe, Jr. wrote:
 Studio 2008, true to form, proves that MS is incapable of keeping
 around a stdc library any longer than one product cycle. Yes, our long
 awaited (not) MSVCR90 is here.

You can expect a new runtime library version for each compiler release
from Microsoft. This started back with VS.NET (MSVCR70), VS2003
(MSVCR71), VS2005 (MSVCR80) and now VS2008 (MSVCR90).

The initial switch away from MSVCRT.dll was due to a conflict inside
Microsoft between the Windows and the VC++ teams: MSVCRT.dll has become
so important to the operation of Windows itself that the compiler team
was no longer allowed to update it; ownership had been transferred to
the OS team and the only update vehicle was Windows Update. This made it
impossible to include updated versions of MSVCRT.dll with Visual Studio
releases, and the compiler team went back to versioned runtime
libraries.

 Just to put it in perspective, cross-library malloc/free, stdio and
 some other facilities are tightly integrated into the clib, such that
 compiling the application under one flavor, and using a library of
 another which modifies the application's memory/stdio allocations
 causes no end of troubles.

This is not really true for Perl, which abstracts all runtime library
dependencies away.  As long as you include the Perl headers in your
module code, you will use the same runtime library as Perl itself.

 You might be also curious if AS is making progress at coming to a new
 baseline msvcrt for perl, since they had adopted Studio 2003's msvcr71
 for python. Unfortunately, this version is also built under msvcrt.

This was a conscious decision:  Using MSVCRT.dll as the runtime library
has many advantages: the library is already installed on *all* Windows
systems, so you never need to distribute it yourself.  This is important
for tools like PAR, PerlApp and Perl2Exe that create selfcontained
executables of Perl applications.  Using MSVCRT.dll also allows to use
both VC++6 and GCC from MinGW without loading duplicate runtimes. 

I still haven't seen a compelling argument why someone wants to move
away from using MSVCRT.dll (and then continue switching CRTs then every
other year).

 The obvious question, why not compile apache and perl under vc 8 or 9
 but link to msvcrt.dll? The trouble which comes in here is that their
 std headers correspond to msvcr90, not to msvcrt. As that library
 evolves, it's going to inevitably drift from the msvcrt.lib.

I tried back in the VS.NET days to compile with VC7 and link against
MSVCRT.dll.  It turned out to fail in some cases when compiler generated
code (under C++) called help functions not present in MSVCRT.dll.

 My instinct, with 2008 adding the new SDK features for apr such as
 multicast group filtering, and the continued availability of a 2008
 'express'/'lite' free version, is to take httpd 2.4 (3.0?) binaries
 for apache httpd to this 2008 release. Yes, probably retain either
 .dsp files, or a makefile structure which allows folks to build to
 anything from VC6 to a 'plain SDK' (it now includes the compilers and
 tools), but for binaries, this will become foobar for folks who use
 ActiveState.

Why?  What problems are going to happen?

 Perl 5.10 is interesting for it's attention to Win32 64P model builds
 (64ILP reflects an OS which represents int, long, pointer as 64 bits,
 so Win32's 64P model reflects a 32 bit int/long, and 64 bit pointer).
 Because 64P is unusual in the family of 64 bit OS's, it's received the
 least attention of all of the platforms. Perl 5.10 is purported to
 catch win32 up significantly to the tried-and-true linux, solaris, bsd
 64 bit flavors.

This is not correct.  All the 64-bit support code is already in Perl 5.8.x
as well.

 So I'm posting this mostly for feedback to the rational of moving to a
 compiler that will generate reliable 32 *and* 64 bit builds of httpd,
 will be freely available (the point of the ASF is the source, and that
 users can do something with it), and that decision will be locked at
 the 2.4 release based on our strong commitment to binary
 compatibility.

 It's very true that modules compiled for another runtime can coexist
 very happily when the module does not free allocations from another
 component, don't attempt to share faux-posix stdio resources, etc.
 mod_aspdotnet is a great example; compiled with VS.NET or VS2005 it
 lives very happily in a VC6 build of httpd. But the way that perl,
 mod_perl and httpd interact is not that trivial, and highly prone to
 this class of problems. So I figure if there's a plan here, it will
 likely satisfy the 80/20.

 If AS Perl can't part of that solution, so be it.

I have no idea what you are trying to get at here, and where your
fatalistic attitude comes from.  If there is a real problem using
ActivePerl with mod_perl, then please let me know about it.  I'm
sure we can work it out. :)

Cheers,
-Jan 



Re: Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-28 Thread William A. Rowe, Jr.

Jan Dubois wrote:


The initial switch away from MSVCRT.dll was due to a conflict inside
Microsoft between the Windows and the VC++ teams: MSVCRT.dll has become
so important to the operation of Windows itself that the compiler team
was no longer allowed to update it; ownership had been transferred to
the OS team and the only update vehicle was Windows Update. This made it
impossible to include updated versions of MSVCRT.dll with Visual Studio
releases, and the compiler team went back to versioned runtime
libraries.


A very interesting perspective, thanks!


I still haven't seen a compelling argument why someone wants to move
away from using MSVCRT.dll (and then continue switching CRTs then every
other year).


The obvious question is; what are your include libraries for that module?
The modern compiler's?  (e.g. studio 200X?)  The SDK's?  Or continue to
build with VC 6?

I'm concerned about drift; I understand the advantages to msvcrt.dll, but
fail to see where the proper headers are derived from, and agree with some
other posters that the performance advantage to moving to a more modern
compiler will outweigh the desire to remain windows 9x compatible.

One aspect of my current vc perspective is that really NT 4.0 and 9x are
now dead, as in harmful when installed in the network cloud.  So with
the loss of further security fixes to the NT4/9x class OS's, I'm moving
away from their support whatsoever for httpd 2.4 (3.0?) binaries.


The obvious question, why not compile apache and perl under vc 8 or 9
but link to msvcrt.dll? The trouble which comes in here is that their
std headers correspond to msvcr90, not to msvcrt. As that library
evolves, it's going to inevitably drift from the msvcrt.lib.


I tried back in the VS.NET days to compile with VC7 and link against
MSVCRT.dll.  It turned out to fail in some cases when compiler generated
code (under C++) called help functions not present in MSVCRT.dll.


I'd expect that... but I'm more concerned about insidious failures which
aren't clean compile/link time exceptions.


My instinct, with 2008 adding the new SDK features for apr such as
multicast group filtering, and the continued availability of a 2008
'express'/'lite' free version, is to take httpd 2.4 (3.0?) binaries
for apache httpd to this 2008 release. Yes, probably retain either
.dsp files, or a makefile structure which allows folks to build to
anything from VC6 to a 'plain SDK' (it now includes the compilers and
tools), but for binaries, this will become foobar for folks who use
ActiveState.


Why?  What problems are going to happen?


The major class of problems happens that there is one posix files table
per linked clib, one memory pool per linked clib, etc.  When resources
cross from one to the next, that's the crux of the issue.


Perl 5.10 is interesting for it's attention to Win32 64P model builds
(64ILP reflects an OS which represents int, long, pointer as 64 bits,
so Win32's 64P model reflects a 32 bit int/long, and 64 bit pointer).
Because 64P is unusual in the family of 64 bit OS's, it's received the
least attention of all of the platforms. Perl 5.10 is purported to
catch win32 up significantly to the tried-and-true linux, solaris, bsd
64 bit flavors.


This is not correct.  All the 64-bit support code is already in Perl 5.8.x
as well.


Ack, 5.8.9 IIUC, but AFAIK the 5.8.9 release was held up by our favorite
perlmongers to put their full attention to 5.10 first (good choice IMHO).


I have no idea what you are trying to get at here, and where your
fatalistic attitude comes from.  If there is a real problem using
ActivePerl with mod_perl, then please let me know about it.  I'm
sure we can work it out. :)


Certainly some folks who are actively using it already will chime in,
I'm looking forward to their specific examples - it's why I brought this
up on modperl's list.

I'm not meaning to badmouth AS (to the contrary, it's my bootstrap of
any new box I personally use until and if I get around to building perl
and python myself), but point out that the glue in malloc/free, faux-posix
entities etc that have to span httpd to apr to modperl to perl do have
issues today that have been reported on-list.

I suspect a good number of these will, ultimately, be resolved with a
consistent clib across all components.

Alternate solution is for each component to manage it's own resources
and abstract them for the consumer; we are getting there, slowly.  The
breadth of cpan packages doesn't make this easier ;-)

For example, OpenSSL needs to be built for both a host of perl ssl
packages and for httpd mod_ssl (and apr-util, in the near future).
Which build?  One compiled on VC 9 or VC 6?

Bill


RE: Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-28 Thread Jan Dubois
On Fri, 28 Dec 2007, William A. Rowe, Jr. wrote:
 Jan Dubois wrote:
 I still haven't seen a compelling argument why someone wants to move
 away from using MSVCRT.dll (and then continue switching CRTs then
 every other year).

 The obvious question is; what are your include libraries for that
 module? The modern compiler's? (e.g. studio 200X?) The SDK's? Or
 continue to build with VC 6?

That Platform SDK headers (in case the module uses APIs that were
introduced with Win2K or later), followed by the VC6 ones for traditional
CRT stuff.

 I'm concerned about drift; I understand the advantages to msvcrt.dll,
 but fail to see where the proper headers are derived from, and agree
 with some other posters that the performance advantage to moving to a
 more modern compiler will outweigh the desire to remain windows 9x
 compatible.

I don't see how Windows 9X/NT compatibility plays a role here.  E.g.
for ActivePerl 5.10.0.10xx the minimum *supported* Windows version is
Windows 2000, but the code is still using MSVCRT.dll for the various
reasons I listed.

That being said, we don't go out of our way to *break* Win9X
compatibility, but we don't test on it, and won't try to fix anything
unless it is obvious/trivial.

I'm interested in the potential performance advantage though.  Did
you do any measurements?  I've only heard anecdotal evidence of a 5%
improvement that leaves me quite unimpressed (for things like PerlBench
a 5% difference is almost at the noise level).

 My instinct, with 2008 adding the new SDK features for apr such as
 multicast group filtering, and the continued availability of a 2008
 'express'/'lite' free version, is to take httpd 2.4 (3.0?) binaries
 for apache httpd to this 2008 release. Yes, probably retain either
 .dsp files, or a makefile structure which allows folks to build to
 anything from VC6 to a 'plain SDK' (it now includes the compilers
 and tools), but for binaries, this will become foobar for folks who
 use ActiveState.

 Why? What problems are going to happen?

 The major class of problems happens that there is one posix files
 table per linked clib, one memory pool per linked clib, etc. When
 resources cross from one to the next, that's the crux of the issue.

Sure, but how do resources cross?  Isn't this always a module bug
to start with?  Note that I have virtually no experience with the
particular issues you may see with Perl inside Apache, but I've
worked on many Perl embedding scenarios, putting Perl into COM
controls, Windows services and .NET applications, so I'm well aware
of the general issues, and how to solve them/work around them.

Therefore I'm genuinely interested to learn where the problems are
if you build say Apache with VS2008, Perl with VC6 and e.g. mod_perl
with VC7.  I would expect this to work just fine if we ignore the
address space wasted by essentially unused surplus clibs.

 This is not correct. All the 64-bit support code is already in Perl
 5.8.x as well.

 Ack, 5.8.9 IIUC, but AFAIK the 5.8.9 release was held up by our
 favorite perlmongers to put their full attention to 5.10 first (good
 choice IMHO).

It used to work in earlier Perl 5.8.x versions too, but later releases
of the 64-bit VC compiler in the Platform SDK broke things. I thought
I fixed this ages ago, but I guess I only submitted the necessary
patches earlier this year and they had not been included in any
official P5P release:

http://public.activestate.com/cgi-bin/perlbrowse/p/30878

However, there have been 64-bit ActivePerl releases of 5.8.8 on
Windows since August 2006.

Just FYI, all the 64-bit ActivePerl on Windows releases have been built
with the VC version from the Windows Server 2003 SP1 SDK.  That compiler
is a special version of the VS2003 compiler that links against the
64-bit MSVCRT.dll instead of the MSVCR71.dll.  You need to link in
a special bufferoverflowU.lib library if you use the /GS compiler option
because MSVCRT.dll doesn't include the runtime support for the buffer
overrun detection.

 Certainly some folks who are actively using it already will chime in,
 I'm looking forward to their specific examples - it's why I brought
 this up on modperl's list.

Yes, please speak up; I'm very interested to hear about it.

 I'm not meaning to badmouth AS (to the contrary, it's my bootstrap of
 any new box I personally use until and if I get around to building
 perl and python myself), but point out that the glue in malloc/free,
 faux-posix entities etc that have to span httpd to apr to modperl to
 perl do have issues today that have been reported on-list.

I may have missed these, as I only skim the mod_perl mailing lists.
I always assumes that you would either use the Newx()/Safefree() mechanism
from Perl, or a corresponding mechanism from APR to manage your memory.
Mixing them can be dangerous even with a single clib because the Perl
mechanism may use memory before and after the allocated block to detect
buffer overruns in testing builds etc.

 I suspect a good number of 

RE: Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-28 Thread Randy Kobes

On Fri, 28 Dec 2007, Jan Dubois wrote:


On Fri, 28 Dec 2007, William A. Rowe, Jr. wrote:

[ ... ]

My instinct, with 2008 adding the new SDK features for apr such as
multicast group filtering, and the continued availability of a 2008
'express'/'lite' free version, is to take httpd 2.4 (3.0?) binaries
for apache httpd to this 2008 release. Yes, probably retain either
.dsp files, or a makefile structure which allows folks to build to
anything from VC6 to a 'plain SDK' (it now includes the compilers
and tools), but for binaries, this will become foobar for folks who
use ActiveState.


Why? What problems are going to happen?


The major class of problems happens that there is one posix files
table per linked clib, one memory pool per linked clib, etc. When
resources cross from one to the next, that's the crux of the issue.


Sure, but how do resources cross?  Isn't this always a module bug
to start with?  Note that I have virtually no experience with the
particular issues you may see with Perl inside Apache, but I've
worked on many Perl embedding scenarios, putting Perl into COM
controls, Windows services and .NET applications, so I'm well aware
of the general issues, and how to solve them/work around them.

Therefore I'm genuinely interested to learn where the problems are
if you build say Apache with VS2008, Perl with VC6 and e.g. mod_perl
with VC7.  I would expect this to work just fine if we ignore the
address space wasted by essentially unused surplus clibs.


I'm not sure if this is a clean example, but there was
a report:
  http://marc.info/?l=apache-modperlm=119140365320503w=2
where mod_perl and Apache (compiled with VC8) did not
work with ActivePerl (VC6), whereas switching to a mod_perl
compiled with VC6 with the same Apache and Perl
did (seemingly) work.

Also, Steve Hay reports that his Win32::SharedFileOpen
module:
 http://search.cpan.org/src/SHAY/Win32-SharedFileOpen-3.36/INSTALL
and his Win32::UTCFileTime module:
 http://search.cpan.org/src/SHAY/Win32-UTCFileTime-1.46/INSTALL
will only work with ActivePerl when they're compiled with
VC6.

--
best regards,
Randy


Re: Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-28 Thread William A. Rowe, Jr.

Jan Dubois wrote:

On Fri, 28 Dec 2007, William A. Rowe, Jr. wrote:

The obvious question is; what are your include libraries for that
module? The modern compiler's? (e.g. studio 200X?) The SDK's? Or
continue to build with VC 6?


That Platform SDK headers (in case the module uses APIs that were
introduced with Win2K or later), followed by the VC6 ones for traditional
CRT stuff.


Bingo!  Ok, so we are clear, we are still building to VC6.  I just wanted
to clarify that this isn't mixing and matching to MSVCRxx headers from
a later compiler.

In theory that might even be possible, but it's only fair to point out that
it's becoming impossible to download VC6 or obtain the SDK flavor which
will actually compile under it.  Or are you compiling with a more modern
VC against the older VC6 headers?  (The issue with obtaining them remains).


I don't see how Windows 9X/NT compatibility plays a role here.  E.g.
for ActivePerl 5.10.0.10xx the minimum *supported* Windows version is
Windows 2000, but the code is still using MSVCRT.dll for the various
reasons I listed.


Right - understood.


That being said, we don't go out of our way to *break* Win9X
compatibility, but we don't test on it, and won't try to fix anything
unless it is obvious/trivial.


:)  Ditto, although I'm less vigorous about providing dynaload thunks
now, unless a 2008/Vista or 2003/XP API would break on 2000.


I'm interested in the potential performance advantage though.  Did
you do any measurements?  I've only heard anecdotal evidence of a 5%
improvement that leaves me quite unimpressed (for things like PerlBench
a 5% difference is almost at the noise level).


Right; we have entirely different designs on performance.  For httpd,
5% would be a godsend :)  I'll be collecting and reporting on such in
the near future.


The major class of problems happens that there is one posix files
table per linked clib, one memory pool per linked clib, etc. When
resources cross from one to the next, that's the crux of the issue.


Sure, but how do resources cross?  Isn't this always a module bug
to start with?  Note that I have virtually no experience with the
particular issues you may see with Perl inside Apache, but I've
worked on many Perl embedding scenarios, putting Perl into COM
controls, Windows services and .NET applications, so I'm well aware
of the general issues, and how to solve them/work around them.


Yup - it's almost always the same story; some API returns memory that
it expects the caller to free(), rather than a corresponding API release
call.  There are a host of such examples in the way that mod_perl was
implemented.  Even some of the API's (as I hint about the SSL modules)
which are implemented as xs's that behave similarly.


Therefore I'm genuinely interested to learn where the problems are
if you build say Apache with VS2008, Perl with VC6 and e.g. mod_perl
with VC7.  I would expect this to work just fine if we ignore the
address space wasted by essentially unused surplus clibs.


Right; we aren't talking about optimizing, but simply interop.


It used to work in earlier Perl 5.8.x versions too, but later releases
of the 64-bit VC compiler in the Platform SDK broke things. I thought
I fixed this ages ago, but I guess I only submitted the necessary
patches earlier this year and they had not been included in any
official P5P release:

http://public.activestate.com/cgi-bin/perlbrowse/p/30878

However, there have been 64-bit ActivePerl releases of 5.8.8 on
Windows since August 2006.


:)


Just FYI, all the 64-bit ActivePerl on Windows releases have been built
with the VC version from the Windows Server 2003 SP1 SDK.  That compiler
is a special version of the VS2003 compiler that links against the
64-bit MSVCRT.dll instead of the MSVCR71.dll.  You need to link in
a special bufferoverflowU.lib library if you use the /GS compiler option
because MSVCRT.dll doesn't include the runtime support for the buffer
overrun detection.


Interesting detail, thanks.  I had presumed as much (or that you had built
it against an earlier DDK before they incorporated this fully into the SDK).


I may have missed these, as I only skim the mod_perl mailing lists.
I always assumes that you would either use the Newx()/Safefree() mechanism
from Perl, or a corresponding mechanism from APR to manage your memory.
Mixing them can be dangerous even with a single clib because the Perl
mechanism may use memory before and after the allocated block to detect
buffer overruns in testing builds etc.


Right - of course should-be and are-actually are two different things :)

And it's only fair to point out this isn't win32 specific, libs linked
against an optimized allocator on various flavors of unix will blow up
in similar ways when the consuming app is linked to the 'stock' allocator.


I sure hope that the problems can be solved by proper encapsulation of
the different components.  Re-releasing all components in sync whenever
Microsoft releases a new compiler sounds 

RE: Visual Studio 2008 and ActiveState Perl 5.10 updates

2007-12-28 Thread Jan Dubois
On Fri, 28 Dec 2007, Randy Kobes wrote:
 On Fri, 28 Dec 2007, Jan Dubois wrote:
  Therefore I'm genuinely interested to learn where the problems are
  if you build say Apache with VS2008, Perl with VC6 and e.g. mod_perl
  with VC7.  I would expect this to work just fine if we ignore the
  address space wasted by essentially unused surplus clibs.
 
 I'm not sure if this is a clean example, but there was
 a report:
http://marc.info/?l=apache-modperlm=119140365320503w=2
 where mod_perl and Apache (compiled with VC8) did not
 work with ActivePerl (VC6), whereas switching to a mod_perl
 compiled with VC6 with the same Apache and Perl
 did (seemingly) work.

I didn't find enough information in that thread to figure out what
the problem might be.  It could very well be a module issue and
not a problem with mod_perl itself.
 
 Also, Steve Hay reports that his Win32::SharedFileOpen
 module:
   http://search.cpan.org/src/SHAY/Win32-SharedFileOpen-3.36/INSTALL
 and his Win32::UTCFileTime module:
   http://search.cpan.org/src/SHAY/Win32-UTCFileTime-1.46/INSTALL
 will only work with ActivePerl when they're compiled with VC6.

I've looked at both, and they indeed must be compiled using the same
runtime library as the corresponding perl5x.dll: Both modules use
core Perl APIs and either insert FILE* pointers received from the
CRT into Perl data structures, or try to turn a FILE* pointer from
Perl into a fileno using the CRT.

Both extensions contain code that should ideally be part of the core.
Or at least the core should provide the necessary thunks to access
the corresponding functions from its own CRT.

I wonder if there are many modules though that do this kind of diddling
with the PerlIO subsystem internals.

If there aren't, then I can see a few ways to resolve this:

* Maybe the functionality of these modules should be supported by
  the core.  I believe Steve already asked if the Win32::UTCFileTime
  code shouldn't be the default for Perl's handling of filetimes.

* Maybe we should add the required thunks to Perl.  E.g. add a
  Perl_get_osfhandle() function etc.

* Maybe add the modules to ActivePerl and/or the PPM repositories.
  (They should already be on the PPM server, but seem to be missing
  due to some buildbox meltdown).

Cheers,
-Jan




mod_perl, Perl 5.10, Apache 2.2.6 = Tests fail

2007-12-25 Thread Heiko Jansen
Hi *.

I'm having trouble getting mod_perl to work with Perl 5.10 and Apache
2.2.6 on Solaris 64Bit/SPARC using Sun cc (Sun C 5.8 2005/10/13),
compiling as 64Bit app.
This applies to both mod_perl 2.0.3 and the latest (as of today)
mod_perl/2.0.4-dev.

2.0.3 won't build at all unless I copy
src/modules/perl/modperl_common_util.h and
src/modules/perl/modperl_interp.h over from the dev tree. Then it
compiles fine. Bad hack, of course.

2.0.4-dev compiles out of the box.
However, running the tests, I see a bunch of errors in either case.

I'm adding the test output and some info on my Perl.
The error log will follow in a second mail due to the mail size limit
for the list.
If I should provide some more info or if there is anything I could test
locally, please let me know.

Thx.
Heiko


Taken from 2.0.4-dev:
[...]
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT=
APACHE_TEST_USER= APACHE_TEST_APXS= \
   /digibib/tools/bin/perl -Iblib/arch -Iblib/lib \
   t/TEST -bugreport -verbose=0
[warning] Skipping 'set unlimited ulimit for coredumps', since we are
running as a non-root user on Solaris
/digibib/apache-2.2.6/bin/httpd  -d /digibib/src/modperl-2.0/t -f
/digibib/src/modperl-2.0/t/conf/httpd.conf -D APACHE2 -D
PERL_USEITHREADS
using Apache/2.2.6 (worker MPM)
[...]
t/apache/add_config...ok
[...These tests worked...]
t/api/lookup_misc.ok
t/api/lookup_uri..EXPECTED:
pre+subreq=lookup_uri;filter=none+suf at t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=none at t/api/lookup_uri.t line 29.
t/api/lookup_uri..1/4 # Failed test 1 in
t/api/lookup_uri.t at line 30
EXPECTED: pre+pre+subreq=lookup_uri;filter=first+suf+suf at
t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=first at t/api/lookup_uri.t line 29.
# Failed test 2 in t/api/lookup_uri.t at line 30 fail #2
EXPECTED: pre+subreq=lookup_uri;filter=second+suf+suf at
t/api/lookup_uri.t line 28.
RECEIVED: subreq=lookup_uri;filter=second at t/api/lookup_uri.t line 29.
# Failed test 3 in t/api/lookup_uri.t at line 30 fail #3
EXPECTED: pre+subreq=lookup_uri;filter=default+suf at t/api/lookup_uri.t
line 28.
RECEIVED: subreq=lookup_uri;filter=default at t/api/lookup_uri.t line
29.
# Failed test 4 in t/api/lookup_uri.t at line 30 fail #4

[NOTE: the  EXPECTED:/RECEIVED: warnings were added by me in .t file]

t/api/lookup_uri.. Failed 4/4 subtests
t/api/lookup_uri2.ok
t/api/module..ok
t/api/process.ok
t/api/query...ok
t/api/request_rec.ok
t/api/request_subclassok
t/api/request_utilok
t/api/responseok
t/api/rflush..1/2 # Failed test 1 in
t/api/rflush.t at line 14
# Failed test 2 in t/api/rflush.t at line 20
t/api/rflush.. Failed 2/2 subtests
t/api/sendfileok
[...These tests worked...]
t/filter/both_str_con_add.ok
t/filter/both_str_native_remove...1/8 # Failed test 3 in
t/filter/both_str_native_remove.t at line 33
# Failed test 6 in t/filter/both_str_native_remove.t at line 45
# Failed test 7 in t/filter/both_str_native_remove.t at line 49
# Failed test 8 in t/filter/both_str_native_remove.t at line 53
t/filter/both_str_native_remove... Failed 4/8 subtests
t/filter/both_str_req_add.1/1 # Failed test 1 in
t/filter/both_str_req_add.t at line 16
t/filter/both_str_req_add. Failed 1/1 subtests
t/filter/both_str_req_mix.1/1 # Failed test 1 in
t/filter/both_str_req_mix.t at line 33
t/filter/both_str_req_mix. Failed 1/1 subtests
t/filter/both_str_req_proxy...1/1 # Failed test 1 in
t/filter/both_str_req_proxy.t at line 16
t/filter/both_str_req_proxy... Failed 1/1 subtests
t/filter/in_autoload..1/1 # Failed test 1 in
t/filter/in_autoload.t at line 16
t/filter/in_autoload.. Failed 1/1 subtests
t/filter/in_bbs_body.. Failed 2/3 subtests
t/filter/in_bbs_consume...1/1 # Failed test 1 in
t/filter/in_bbs_consume.t at line 19
t/filter/in_bbs_consume... Failed 1/1 subtests
t/filter/in_bbs_inject_header.ok
t/filter/in_bbs_msg...ok
t/filter/in_bbs_underrun..ok
t/filter/in_error.1/1 # Failed test 1 in
t/filter/in_error.t at line 13
t/filter/in_error. Failed 1/1 subtests
t/filter/in_init_basic1/1 # Failed test 1 in
t/filter/in_init_basic.t at line 16
t/filter/in_init_basic Failed 1/1 subtests
t/filter/in_str_bin_data..ok
t/filter/in_str_consume...1/1 # Failed test 1 in
t/filter

Re: Perl 5.10

2007-12-21 Thread John Siracusa
On 12/21/07 2:32 AM, Andreas J. Koenig wrote:
 I fear I do not understand enough of mod_perl to volunteer to make a
 release.

Me neither, but have you at least contacted the mod_perl maintainers about
this?  Perhaps you could file a bug on rt.cpan.org even?

-John




Re: Perl 5.10

2007-12-21 Thread Geoffrey Young


John Siracusa wrote:
 On 12/21/07 2:32 AM, Andreas J. Koenig wrote:
 I fear I do not understand enough of mod_perl to volunteer to make a
 release.
 
 Me neither, but have you at least contacted the mod_perl maintainers about
 this?  Perhaps you could file a bug on rt.cpan.org even?

the current maintainers hang out here :)

we'll try to roll a mp1 release soonish, which should address 5.10
issues.  with the holidays it might be difficult, but hopefully it won't
take too long after the new year.

--Geoff


Re: Perl 5.10

2007-12-21 Thread Michael Schout
Andreas J. Koenig wrote:

 Modperl1 doesn't work, patch available. As for modperl2 I don't know.

I've been running 5.10 in my modperl2/apache2.2 sandbox development
environment since yesterday.  Haven't run into any issues related to
5.10 yet, but its still early on for me :).

Regards,
Michael Schout


Re: Perl 5.10

2007-12-21 Thread Michael Schout
Andreas J. Koenig wrote:
 On Thu, 20 Dec 2007 11:38:02 -0500, Colin Wetherbee [EMAIL PROTECTED] 
 said:
 
Have any of you used mod_perl with Perl 5.10 yet?  Are there any
gotchas to consider?
 
 Modperl1 doesn't work, patch available. As for modperl2 I don't know.

I apparently should not have sent the last email.  I have since found a
problem for me.  I'm having trouble getting my custom
PerlOutputFilterHandler to fire.  It works flawlessly under the same
mod_perl 2.0.3/apache 2.2.6/perl 5.8.8.. but with 5.10, *usually* it
refuses to run it and just says:

[Fri Dec 21 10:57:47 2007] [error] an unknown filter was not added:
Foo::Filter::StripWhiteSpace

I thought it might be Attribute::Handlers related since
::StripWhiteSpace-handler is defined with the :method attr.  But
changing the config to specify the method name as well does not help
either.  I haven't had time to figure out what is going on yet.  It
could be something specific to my setup ;).

Regards,
Michael Schout


Re: Perl 5.10

2007-12-21 Thread Michael Schout
Michael Schout wrote:

 [Fri Dec 21 10:57:47 2007] [error] an unknown filter was not added:
 Foo::Filter::StripWhiteSpace

in addition, with PerlTrace enabled, I get:

modperl_filter_add_request: a non-mod_perl OutputFilter handler
Foo::Filter::StripWhiteSpace configured.

Regards,
Michael Schout


Re: Perl 5.10

2007-12-21 Thread Michael Schout
Colin Wetherbee wrote:
 Have any of you used mod_perl with Perl 5.10 yet?  Are there any gotchas
 to consider?

Apparently so.

I have found the cause of my sometimes-it-works sometimes-it-doesnt
problem for PerlOutputFilterHandlers.

I tracked the problem down to MP_CODE_ATTRS(), called from modperl_mgv.c
on line 276:

handler-attrs = (U32)MP_CODE_ATTRS(cv);

I added some MP_TRACE()'s around this line and found out that
MP_CODE_ATTRS(cv) returns some random looking data under 5.10. Looking
at mod_perl.h, it says:

/* betting on Perl*Handlers not using CvXSUBANY
 * mod_perl reuses this field for handler attributes
 */
#define MP_CODE_ATTRS(cv) (CvXSUBANY((CV*)cv).any_i32)

This must not be a safe bet under perl 5.10.0.  I have no idea what to
do as an alternative.  I don't know enough perl internals :).

Here is what the MP_TRACE()'s before and after he MP_CODE_ATTRS() call
looks like under 5.8.8:

modperl_mgv_resolve: pre MP_CODE_ATTRS attrs: 0
modperl_mgv_resolve: post MP_CODE_ATTRS attrs: 0

Under 5.10.0 its a much different story:
modperl_mgv_resolve: pre MP_CODE_ATTRS attrs: 0
modperl_mgv_resolve: post MP_CODE_ATTRS attrs: 9905fb8

The sometimes-it-works sometimes-it-doesnt behaviour depends on if
the right bits end up getting set in the attrs from the random data
coming out of MP_CODE_ATTRS().

Oh well, I'm going back to 5.8.8 for now I guess :).

I'll file a bug report as well :).

Regards,
Michael Schout


Perl 5.10

2007-12-20 Thread Colin Wetherbee
Have any of you used mod_perl with Perl 5.10 yet?  Are there any gotchas 
to consider?


I'm still waiting on the release of the Debian packages.

Colin


Re: Perl 5.10

2007-12-20 Thread Andreas J. Koenig
 On Thu, 20 Dec 2007 11:38:02 -0500, Colin Wetherbee [EMAIL PROTECTED] 
 said:

   Have any of you used mod_perl with Perl 5.10 yet?  Are there any
   gotchas to consider?

Modperl1 doesn't work, patch available. As for modperl2 I don't know.
I'm resending my posting which probably got lost in a moderator queue
or what (I just re-subscribed, so this one should probasbly come
through):

  From: [EMAIL PROTECTED] (Andreas J. Koenig)
  Subject: perl 5.10 will not work with modperl 1.30, please consider new 
release
  To: modperl@perl.apache.org
  Date: Fri, 14 Dec 2007 08:28:14 +0100

  http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-12/msg00278.html

  This is the currently latest posting in the thread that worked out the
  relevant issue.

  Would be really cool if mod_perl1 could be brought up to date so that
  people working with 5.10 do not have to hunt for patches.

  I fear I do not understand enough of mod_perl to volunteer to make a
  release.

  Thanks,
  -- 
  andreas