Re: mod_perl problem?!

2011-09-28 Thread Torsten Förtsch
On Wednesday, 28 September 2011 00:46:51 Marco Walther wrote:
> Do you have any idea where I might start looking? I don't have much 
> insight into the Perl or mod_perl internals, but I played which large 
> C-based packages before;-)

I have seen your mail on the user's list. My first thought had been that 
there might be something fishy with PERL_USE_SAFE_PUTENV. But your perl 
is compiled *with* that flag (as is mine). I haven't tried perl 5.14.1. 
Perhaps something has happened to PL_envgv in that version.

ENVHV is defined in modperl_env.h as GvHV(PL_envgv).

However, since PL_envgv is just a member of the current interpreter I 
rather think that in 5.14.1 that thing is not set at this point.

You could try to put a

  PERL_SET_CONTEXT(aTHX);

in mod_perl.c:modperl_boot() just before modperl_env_clear(aTHX); is 
called.

Torsten Förtsch

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

Like fantasy? http://kabatinte.net


Re: mod_perl 2.0.5 Centos 6 rpms

2011-09-28 Thread Dave Morgan

On 26/09/11 11:51 AM, Fred Moyer wrote:

For those Centos 6 users here looking for mod_perl 2.0.5, I rolled a few rpms.


Thank you Fred, I cannot (but I'll try :) explain how useful this is to us.

We started with mod-perl around 1999, I believe. We used/had to do
do every thing by hand. A typical web server machine build
took 2 to 4 days and involved:

in rare cases make and install gcc
install the base linux distribution
make and install a custom kernel
make and install required kernel modules
make and install perl 5
make and install apache, mod-perl, mod-ssl etc.

I am sure I am missing stuff. There were no central repositories.
You had to visit each source site manually. The software stack was
rarely updated, once you got it working you left it alone ;)

Now we build a machine in 2-4 hours;
- linux install
- yum install *many things*
- yum update

Thank you once again.

Dave
--
Dave Morgan
Operations Manager, Cool Places In Canada
http://www.coolplaces.ca
dave.mor...@coolplaces.ca
403 288 8759


Re: mod_perl 2.0.5 Centos 6 rpms

2011-09-28 Thread Fred Moyer
On Tue, Sep 27, 2011 at 10:13 AM, Dave Morgan  wrote:
> On 26/09/11 11:51 AM, Fred Moyer wrote:
>>
>> For those Centos 6 users here looking for mod_perl 2.0.5, I rolled a few
>> rpms.
>
> Thank you Fred, I cannot (but I'll try :) explain how useful this is to us.

No problem, I submitted these rpms to the Centos devel list and it
looks like they'll be getting pushed upstream for Centos 6, and
possibly Centos 5 also.


>
> We started with mod-perl around 1999, I believe. We used/had to do
> do every thing by hand. A typical web server machine build
> took 2 to 4 days and involved:
>
> in rare cases make and install gcc
> install the base linux distribution
> make and install a custom kernel
> make and install required kernel modules
> make and install perl 5
> make and install apache, mod-perl, mod-ssl etc.
>
> I am sure I am missing stuff. There were no central repositories.
> You had to visit each source site manually. The software stack was
> rarely updated, once you got it working you left it alone ;)
>
> Now we build a machine in 2-4 hours;
> - linux install
> - yum install *many things*
> - yum update
>
> Thank you once again.
>
> Dave
> --
> Dave Morgan
> Operations Manager, Cool Places In Canada
> http://www.coolplaces.ca
> dave.mor...@coolplaces.ca
> 403 288 8759
>


Re: [mp 2.0.5] Early core dump:-( OpenSolaris-x86, Apache 2.2.21 & Perl 5.14.1

2011-09-28 Thread Marco Walther
OK, I think I found one problem.  The following two defines don't make 
it from the Perl make to the CCFLAGS for the mod_perl:-( 
`-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' (They are automatically 
added by the Configure for perl and listed in the perl -V output below).


That causes the my_perl structure to be of different sizes/offsets 
between perl and mod_perl. That works by accident with Perl 5.10.1 and 
finally breaks with 5.14.[12]


Unfortunately even trying to run
/opt/kenai/bin/perl Makefile.PL DEFINE='-D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64'
is not enough:-( The defines still do not make it to the 
src/modules/perl/Makefile:-( But after changing that Makefile by hand 
and rebuilding, things seem to be working fine.


Thanks,
-- Marco

Some dbx output

- perl 5.10.1 & mod_perl dev from yesterday 
-
[mw79288@kexdev03z1:/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300] 
$ ~/dbx.x86 /opt/kenai/bin/perl

dbx.x86: warning: cannot find global initialization file: dbxrc
For information about new features see `help changes'
To remove this message, put `dbxenv suppress_startup_message 7.7' in 
your .dbxrc

Reading perl
Reading ld.so.1
Reading libsocket.so.1
Reading libnsl.so.1
Reading libdl.so.1
Reading libm.so.2
Reading libpthread.so.1
Reading libc.so.1
(dbx.x86) loadobject -load ./blib/arch/auto/ModPerl/Const/Const.so
Reading Const.so
Loaded loadobject: 
/export/home/marcow/src/kenai-packages~subversion/mod_perl/modperl-2.0_20110927151300/blib/arch/auto/ModPerl/Const/Const.so

(dbx.x86) stop in boot_ModPerl__Const
(2) stop in boot_ModPerl__Const
(dbx.x86) run -I../blib/arch -I../blib/lib \
> t/TEST  -bugreport -verbose=0
Running: perl -I../blib/arch -I../blib/lib t/TEST -bugreport -verbose=0
(process id 17713)
Reading Cwd.so
Reading IO.so
Reading Fcntl.so
Reading Util.so
Reading Dumper.so
Reading Glob.so
Reading Socket.so
Reading HiRes.so
Reading librt.so.1
Reading POSIX.so
[warning] Skipping 'set unlimited ulimit for coredumps', since we are 
running as a non-root user on Solaris

[warning] forcing re-configuration:
[warning]   - configuration generated with old Apache-Test.
t@1 (l@1) stopped in boot_ModPerl__Const at line 89 in file "Const.c"
   89   dVAR; dXSARGS;
(dbx.x86) print sizeof(*my_perl)
sizeof(*my_perl) = 2136
(dbx.x86) up
Current function is Perl_pp_entersub
 2888   (void)(*CvXSUB(cv))(aTHX_ cv);
(dbx.x86) print sizeof(*my_perl)
sizeof(*my_perl) = 2152
(dbx.x86) where
current thread: t@1
dbx.x86: warning: can't find file 
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.10.1/perlmain.c"

dbx.x86: warning: see `help finding-files'
dbx.x86: warning: can't find file 
"/export/home/marcow/src/kenai-packages~subversion/perl/perl-5.10.1/perlmain.c"
  [1] boot_ModPerl__Const(my_perl = 0x8241e28, cv = 0x8eedb1c), line 89 
in "Const.c"

=>[2] Perl_pp_entersub(my_perl = 0x8241e28), line 2888 in "pp_hot.c"
  [3] Perl_runops_debug(my_perl = 0x8241e28), line 1968 in "dump.c"
  [4] Perl_call_sv(my_perl = 0x8241e28, sv = 0x8eed58c, flags = 6), 
line 2717 in "perl.c"
  [5] Perl_call_list(my_perl = 0x8241e28, oldscope = 25, paramList = 
0x8ee3c54), line 5264 in "perl.c"
  [6] S_process_special_blocks(my_perl = 0x8241e28, fullname = 
0x82e2540 "BEGIN", gv = 0x8eed5dc, cv = 0x8eed58c), line 5864 in "op.c"
  [7] Perl_newATTRSUB(my_perl = 0x8241e28, floor = 381, o = 0x8ecbf48, 
proto = (nil), attrs = (nil), block = 0x8ebe8a8), line 5835 in "op.c"
  [8] Perl_utilize(my_perl = 0x8241e28, aver = 1, floor = 381, version 
= (nil), idop = 0x8ecbaa8, arg = 0x8ecbb28), line 3886 in "op.c"

  [9] Perl_yyparse(my_perl = 0x8241e28), line 659 in "perly.y"
  [10] S_doeval(my_perl = 0x8241e28, gimme = 0, startop = (nil), 
outside = (nil), seq = 11148U), line 2981 in "pp_ctl.c"

  [11] Perl_pp_require(my_perl = 0x8241e28), line 3573 in "pp_ctl.c"
  [12] Perl_runops_debug(my_perl = 0x8241e28), line 1968 in "dump.c"
  [13] Perl_call_sv(my_perl = 0x8241e28, sv = 0x8ec8b24, flags = 6), 
line 2717 in "perl.c"
  [14] Perl_call_list(my_perl = 0x8241e28, oldscope = 19, paramList = 
0x8ec8994), line 5264 in "perl.c"
  [15] S_process_special_blocks(my_perl = 0x8241e28, fullname = 
0x82e2540 "BEGIN", gv = 0x8ec8b44, cv = 0x8ec8b24), line 5864 in "op.c"
  [16] Perl_newATTRSUB(my_perl = 0x8241e28, floor = 242, o = 0x8ecb9a8, 
proto = (nil), attrs = (nil), block = 0x8ebe970), line 5835 in "op.c"
  [17] Perl_utilize(my_perl = 0x8241e28, aver = 1, floor = 242, version 
= (nil), idop = 0x8ecbb08, arg = 0x8ed0718), line 3886 in "op.c"

  [18] Perl_yyparse(my_perl = 0x8241e28), line 659 in "perly.y"
  [19] S_doeval(my_perl = 0x8241e28, gimme = 0, startop = (nil), 
outside = (nil), seq = 4596U), line 2981 in "pp_ctl.c"

  [20] Perl_pp_require(my_perl = 0x8241e28), line 3573 in "pp_ctl.c"
  [21] Perl_runops_debug(my_perl = 0x8241e28), line 1968 in "dump.c"
  [22] S_run_body(my_perl = 0x8241e28, oldscope