RE: non-DSO mod_perl, Embperl, and AIX not working

2000-06-16 Thread Greg Estep


After making a few tweaks to the test.pl script and passing the 'h'
command-line parameter (only do mod_perl tests) I was able to run all the
tests (only under mod_perl) successfully.  I then was able to run some
successful tests against some .epl's that I had previously written using a
different OS.
I can't run Embperl outside of apache, but have only done that on the rare
occasion anyway, so that's not a great loss.

Thanks for all your help.  It has been a few years since I have used AIX and
was in much need of reminders related to AIX's "strange/different/odd/weird"
linker.

Again, thanks immensely for all your assistance.

BTW, is it appropriate for me to offer to help with incorporating your
knowledge into the Embperl install scripts?

--
Greg Estep [EMAIL PROTECTED]

-Original Message-
From: Jens-Uwe Mager [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 15, 2000 9:34 AM
To: Greg Estep
Cc: Jens-Uwe Mager; [EMAIL PROTECTED]
Subject: Re: non-DSO mod_perl, Embperl, and AIX not working


On Wed, Jun 14, 2000 at 07:11:11PM -0400, Greg Estep wrote:

 I then did an apache 'make install', even though I think that the Embperl
 compile and test processes use the source-code version of httpd...

 Now a "make test" of Embperl still gives the following results:

 $ make test
 PERL_DL_NONLAZY=0
 /usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.6.0/
 aix -I/usr/local/lib/perl5/5.6.0 test.pl

 loading...Can't load
 'blib/arch/auto/HTML/Embperl/Embperl.so' for modu
 le HTML::Embperl: dlopen: blib/arch/auto/HTML/Embperl/Embperl.so: 30
 blib/arch/auto/HTML/
 Embperl/Embperl.so36 ap_get_client_block 131 perl36 ap_log_error 132
perl36
 ap_palloc 133

Did you try the Embperl in the httpd yet? I am not entirely sure if the
make test isn't attempting to load the Embperl into a plain perl
interpreter, which will not work as it does not support the Apache
symbols. I have to confess to have never run the test, it did always
complain about some packages I do not have installed and thus I tested
it in a live server with a set of my own pages.

--
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:  +49 5131 709320
FAX:+49 5131 709325
Internet:   [EMAIL PROTECTED]




RE: non-DSO mod_perl, Embperl, and AIX not working

2000-06-14 Thread Greg Estep


Before I sent my original message, I tracked down all the symbols, and their
object/library files.  I added several ".o"'s and ".a"'s from the apache and
mod_perl source trees, a couple from "/usr/lib/perl" and a couple from
/usr/lib via '-lxxx'.  After I got a clean link (there were some "duplicate
symbol" errors) I had the same problem (seg. faults) as I had with the
'-berok' flag.

-Original Message-
From: Shane Nay [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, June 13, 2000 8:22 PM
To: Greg Estep
Cc: [EMAIL PROTECTED]
Subject: RE: non-DSO mod_perl, Embperl, and AIX not working


Those are internal functions to apache, like helper functions.  Your
probably
missing an object file in your ld command, I don't have it open right now,
but
just run nm blah.o|grep ap_palloc on all the object files running around in
the
apache directory, and you'll find it.  (Notice that most of these functions
"look" similar to C calls, that's because they sort of are.  There like
cross
platform wrapper functions for apache, pretty cool huh?)  Oh, yes and nm's
output will tell you two things, where the function is "used", and where its
"defined".  BTW: I think you're looking for libap.a, I just poked through
that
archive of object files, and it contained the symbols you're looking for.  I
don't know if AIX supports linking in archive files, but if not just link in
by
hand all the object files in that directory. (apache_1.blah/src/ap/*.o)

If nm shows the symbols in place, I would say it's probably the AIX linkers
fault.  I don't know much about AIX specifically but I have heard lots of
people complain about their linker :-(.

Thanks,
Shane.




RE: non-DSO mod_perl, Embperl, and AIX not working

2000-06-14 Thread Greg Estep


I don't have a httpd.exp in /usr/local/apache/libexec.  I assume that is
because I am not using DSO for any of my apache modules.  I
used -bI:apache-source-dir/src/support/httpd.exp and got a clean
compile/link.

When I try 'make test', I get:

$ make test
PERL_DL_NONLAZY=0
/usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.6.0/aix 
-I/usr/local/lib/perl5/5.6.0 test.pl

loading...Can't load
'blib/arch/auto/HTML/Embperl/Embperl.so
' for module HTML::Embperl: dlopen: blib/arch/auto/HTML/Embperl/Embperl.so:
30
blib/arch/auto/HTML/Embperl/Embperl.so36 ap_get_client_block 131 perl36
ap_log_e
rror 132 perl36 ap_palloc 133 perl36 ap_pstrdup 134 perl36 ap_rflush 135
perl36
ap_rputc 136 perl36 ap_rwrite 137 perl36 ap_send_http_header 138 perl36
ap_set_c
ontent_length 139 perl36 ap_setup_client_block 140 perl36
ap_should_client_block
 141 perl36 ap_table_add 142 perl36 ap_table_set 143 perl at
/usr/local/lib/perl
5/5.6.0/aix/DynaLoader.pm line 200.
 at test.pl line 557
Compilation failed in require at test.pl line 557.
BEGIN failed--compilation aborted at test.pl line 557.
make: *** [test_dynamic] Error 255

BTW, since I am not using DSO, and am using perl 5.06, I havn't applied the
perl patch mentioned in the mod_perl INSTALL.

-Original Message-
From: Jens-Uwe Mager [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 14, 2000 1:25 PM
To: Greg Estep
Cc: Jens-Uwe Mager; [EMAIL PROTECTED]
Subject: Re: non-DSO mod_perl, Embperl, and AIX not working


On Tue, Jun 13, 2000 at 08:36:40PM -0400, Greg Estep wrote:

 When 'make' invokes 'ld' with the following command:

 ld -o

blib/arch/auto/HTML/Embperl/Embperl.so  -bhalt:4 -bM:SRE -bI:/usr/local/lib/
 perl5/5.6.0/aix/CORE/perl.exp -bE:Embperl.exp -b
 noentry -lC -lc -L/usr/local/lib Embperl.o epmain.o epio.o epchar.o
epcmd.o
 eputil.o epeval.o

epdbg.o -bI:/usr/local/lib/perl5/site_perl/5.6.0/aix/auto/Apache/mod_perl.ex
 p

 These following errors are produced.

 ld: 0711-317 ERROR: Undefined symbol: .ap_palloc
 ld: 0711-317 ERROR: Undefined symbol: .ap_rputc
 ld: 0711-317 ERROR: Undefined symbol: .ap_rflush
 ld: 0711-317 ERROR: Undefined symbol: .ap_rwrite
 ld: 0711-317 ERROR: Undefined symbol: .ap_setup_client_block
 ld: 0711-317 ERROR: Undefined symbol: .ap_should_client_block
 ld: 0711-317 ERROR: Undefined symbol: .ap_get_client_block
 ld: 0711-317 ERROR: Undefined symbol: .ap_pstrdup
 ld: 0711-317 ERROR: Undefined symbol: .ap_table_set
 ld: 0711-317 ERROR: Undefined symbol: .ap_table_add
 ld: 0711-317 ERROR: Undefined symbol: .ap_set_content_length
 ld: 0711-317 ERROR: Undefined symbol: .ap_send_http_header
 ld: 0711-317 ERROR: Undefined symbol: .ap_log_error
 ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
 information.

These are the symbols that embperl needs to reference from the main
Apache executable, there is an -bI:/usr/local/apache/libexec/httpd.exp
missing in the above linker command line. I would suspect that the
embperl Makefile.PL could use an overhaul and use the new features of
Apache::src to find the flags needed for linking a plug-in that needs to
link both against perl and httpd.

I also would recommend that you apply the patch to perl mentioned in the
mod_perl INSTALL file.

--
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:  +49 5131 709320
FAX:+49 5131 709325
Internet:   [EMAIL PROTECTED]




RE: PerlAuthenHandler

2000-06-14 Thread Greg Estep


When you installed mod_perl on the Stronghold server, did you indicate that
you wanted to install support for perl authentication handlers? (I think
adding PERL_AUTHEN=1 to the "perl Makefile.PL" command is the way to do
this.)  Sorry to be so vague, but since I use "EVERYTHING=1" I really have
never had to deal with this issue before.

-Original Message-
From: HORNER, J. (JH8) [mailto:[EMAIL PROTECTED]]
Sent: Friday, June 09, 2000 9:25 AM
To: '[EMAIL PROTECTED]'
Cc: '[EMAIL PROTECTED]'
Subject: PerlAuthenHandler


What are the rules for using the PerlAuthenHandler?

I have a timeout module that works great on my Apache 1.3.12/mod_perl 1.24,
and if I put the directives directly in the httpd.conf file.

When I try to put the stuff in the httpd.conf file on my "Stronghold/2.4.1
Apache/1.3.3 C2NetEU/2409 Doorkeeper/2.0  (Unix) mod_perl/1.21 configured"
server,
the service doesn't start.

Here are the entries on the first server:

PerlSetEnv PERL5LIB lib/perl
PerlRequire  conf/startup.pl
PerlFreshRestart On
PerlModule Apache::Registry

Directory /data/2jnetworks/test
AuthType Basic
AuthName TEST
AuthUserFile /usr/local/apache/conf/www_passwd
AuthGroupFile /usr/local/apache/conf/www_group
require group 2jnetworks
PerlAuthenHandler Apache::TimeOut
PerlSetVar TimeLimit 15
/Directory

Here are the entries for the second server:

PerlSetEnv PERL5LIB lib/perl
PerlRequire  conf/startup.pl
PerlFreshRestart On
PerlModule Apache::Registry

Directory /data/httpd/docs/jhorner
AuthName Test
AuthType Basic
AuthUserFile /usr/local/apache/conf/www_passwd
AuthGroupFile /usr/local/apache/conf/www_group
require group test
PerlAuthenHandler Apache::TimeOut
PerlSetVar TimeOut 15
/Directory

When I put the PerlAuthenHandler entries into an .htaccess file, the server
will start, but I get:

/data/httpd/docs/jhorner/.htaccess: Invalid command 'PerlAuthenHandler',
perhaps mis-spelled or defined by a module not included in the server
configuration

I have other perl handler type things in the httpd.conf file, but nothing
else gives this error, any ideas?

Thanks,
JJ




RE: non-DSO mod_perl, Embperl, and AIX not working

2000-06-14 Thread Greg Estep


When I do "dump -nv httpd  | egrep 'ap_palloc|ap_table'" I don't get any
output.

I went into the apache_1.3.12/src directory and manually compiled httpd with
the same command issued by make with the addition of -bE:support/httpd.exp.
The complete command looked like this:

cc  -DAIX=43 -U__STR__ -DAIX_BIND_PROCESSOR -qnogenpcomp -qnousepcomp -DMOD_
PERL
 -DUSE_PERL_SSI -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -qmaxmem=1638
4 -I
/usr/local/include -q32 -D_LARGE_FILES -qlonglong -DUSE_HSREGEX -DUSE_EXPAT 
-I./
lib/expat-lite -DNO_DL_NEEDED `./apaci` -lm -o httpd buildmark.o modules.o
modul
es/perl/libperl.a modules/standard/libstandard.a main/libmain.a
./os/unix/libos.
a ap/libap.a regex/libregex.a
ib/expat-lite/libexpat.a  -bE:/usr/local/lib/perl
5/5.6.0/aix/CORE/perl.exp  -L/usr/local/lib -b32
/usr/local/lib/perl5/5.6.0/aix/
auto/DynaLoader/DynaLoader.a -L/usr/local/lib/perl5/5.6.0/aix/CORE -lperl -l
bind
 -lnsl -ldbm -ldl -lld -lm -lC -lc -lcrypt -lbsd -lPW -liconv -bE:support/ht
tpd.
exp

Now a "dump -nv httpd  | egrep 'ap_palloc|ap_table'" looks like:

[412]   0x20039330.data  EXP DS SECdef[noIMid]
ap_table_merge
[413]   0x2003933c.data  EXP DS SECdef[noIMid]
ap_table_add
[440]   0x20039834.data  EXP DS SECdef[noIMid]
ap_overlap_tables
[442]   0x2003984c.data  EXP DS SECdef[noIMid]
ap_table_do
[443]   0x20039858.data  EXP DS SECdef[noIMid]
ap_table_addn
[444]   0x20039864.data  EXP DS SECdef[noIMid]
ap_table_unset
[445]   0x20039870.data  EXP DS SECdef[noIMid]
ap_table_mergen
[446]   0x2003987c.data  EXP DS SECdef[noIMid]
ap_table_setn
[447]   0x20039888.data  EXP DS SECdef[noIMid]
ap_table_set
[448]   0x20039894.data  EXP DS SECdef[noIMid]
ap_table_get
[465]   0x20039960.data  EXP DS SECdef[noIMid] ap_palloc
0x2003d64c  0x019f   Pos_Rel  0x0002 ap_table_merge
0x2003d650  0x01a0   Pos_Rel  0x0002 ap_table_add

I then did an apache 'make install', even though I think that the Embperl
compile and test processes use the source-code version of httpd...

Now a "make test" of Embperl still gives the following results:

$ make test
PERL_DL_NONLAZY=0
/usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.6.0/
aix -I/usr/local/lib/perl5/5.6.0 test.pl

loading...Can't load
'blib/arch/auto/HTML/Embperl/Embperl.so' for modu
le HTML::Embperl: dlopen: blib/arch/auto/HTML/Embperl/Embperl.so: 30
blib/arch/auto/HTML/
Embperl/Embperl.so36 ap_get_client_block 131 perl36 ap_log_error 132 perl36
ap_palloc 133
perl36 ap_pstrdup 134 perl36 ap_rflush 135 perl36 ap_rputc 136 perl36
ap_rwrite 137 perl36
 ap_send_http_header 138 perl36 ap_set_content_length 139 perl36
ap_setup_client_block 140
 perl36 ap_should_client_block 141 perl36 ap_table_add 142 perl36
ap_table_set 143 perl at
 /usr/local/lib/perl5/5.6.0/aix/DynaLoader.pm line 200.
 at test.pl line 557
Compilation failed in require at test.pl line 557.
BEGIN failed--compilation aborted at test.pl line 557.
make: *** [test_dynamic] Error 255






-Original Message-
From: Jens-Uwe Mager [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 14, 2000 5:54 PM
To: Greg Estep
Cc: Jens-Uwe Mager; [EMAIL PROTECTED]
Subject: Re: non-DSO mod_perl, Embperl, and AIX not working


On Wed, Jun 14, 2000 at 05:37:59PM -0400, Greg Estep wrote:

 I don't have a httpd.exp in /usr/local/apache/libexec.  I assume that is
 because I am not using DSO for any of my apache modules.  I
 used -bI:apache-source-dir/src/support/httpd.exp and got a clean
 compile/link.

Well, Apache's make install probably assumes that it is not needed in
this case, which is not entirely true as can be seen from this
situation.

 When I try 'make test', I get:

 $ make test
 PERL_DL_NONLAZY=0

/usr/local/bin/perl -Iblib/arch -Iblib/lib -I/usr/local/lib/perl5/5.6.0/aix
 -I/usr/local/lib/perl5/5.6.0 test.pl

 loading...Can't load
 'blib/arch/auto/HTML/Embperl/Embperl.so
 ' for module HTML::Embperl: dlopen:
blib/arch/auto/HTML/Embperl/Embperl.so:
 30
 blib/arch/auto/HTML/Embperl/Embperl.so36 ap_get_client_block 131 perl36
 ap_log_e
 rror 132 perl36 ap_palloc 133 perl36 ap_pstrdup 134 perl36 ap_rflush 135
 perl36
 ap_rputc 136 perl36 ap_rwrite 137 perl36 ap_send_http_header 138 perl36
 ap_set_c
 ontent_length 139 perl36 ap_setup_client_block 140 perl36
 ap_should_client_block
  141 perl36 ap_table_add 142 perl36 ap_table_set 143 perl at
 /usr/local/lib/perl
 5/5.6.0/aix/DynaLoader.pm line 200.
  at test.pl line 557
 Compilation failed in require at test.pl line 557.
 BEGIN failed--compilation aborted at test.pl line 557.
 make: *** [test_dynamic] Error 255

Well this surely looks like your Apache main part does not export the
symbols in question, does a dump -nv httpd lis

RE: non-DSO mod_perl, Embperl, and AIX not working

2000-06-13 Thread Greg Estep
R_RBR[18]
.EndOutput
   0b44 .textR_RBR[18]
.EndOutput
   0b68 .textR_RBR[18]
.EndOutput
ld: 0711-317 ERROR: Undefined symbol: .ap_table_set
 .ap_table_set [1126]  ER PR epmain.c(epmain.o)
   0adc .textR_RBR[18]
.EndOutput
ld: 0711-317 ERROR: Undefined symbol: .ap_table_add
 .ap_table_add [1128]  ER PR epmain.c(epmain.o)
   0b7c .textR_RBR[18]
.EndOutput
ld: 0711-317 ERROR: Undefined symbol: .ap_set_content_length
 .ap_set_content_length[1134]  ER PR epmain.c(epmain.o)
   0ba8 .textR_RBR[18]
.EndOutput
ld: 0711-317 ERROR: Undefined symbol: .ap_send_http_header
 .ap_send_http_header  [1136]  ER PR epmain.c(epmain.o)
   0bb4 .textR_RBR[18]
.EndOutput
   11bc .textR_RBR[20]
.StartOutput
ld: 0711-317 ERROR: Undefined symbol: .ap_log_error
 .ap_log_error [1246]  ER PR epmain.c(epmain.o)
   6260 .textR_RBR[256]
.EMBPERL_LogError
   6280 .textR_RBR[256]
.EMBPERL_LogError
ER: The return code is 8.

-Original Message-
From: Jens-Uwe Mager [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 08, 2000 8:45 AM
To: Greg Estep
Cc: [EMAIL PROTECTED]
Subject: Re: non-DSO mod_perl, Embperl, and AIX not working


On Thu, Jun 01, 2000 at 07:40:58AM -0400, Greg Estep wrote:

 I am using IBM's C complier (cc) under AIX 4.3.3 with Apache 1.3.12,
 mod_perl 1.24 (statically linked, not DSO), perl 5.00503, and Embperl
 1.3b3.

 The "offline", "execute function", and "cgi mode" Embperl tests are
 all successful. In the "mod_perl" mode, even the simple "ascii" test
 fails.  It fails with a seg. fault and a dbx stack trace that looks
 like this:

 ap_palloc() at 0xd1179d98
 EMBPERL__malloc() at 0xd1178b98
 EMBPERL_SetupFileData() at 0xd1177118
 EMBPERL_SetupRequest() at 0xd1177764
 XS_HTML__Embperl_SetupRequest() at 0xd116fcb8
 .() at 0x1004a344
 .() at 0x100536f0
 .() at 0x1002ff98
 perl_call_handler(??, ??, ??) at 0x10113f70
 perl_run_stacked_handlers(??, ??, ??) at 0x10113160
 perl_handler(??) at 0x10111d38
 ap_invoke_handler(0x2011f1f0) at 0x100c42bc
 process_request_internal(0x2011f1f0) at 0x100f4d6c
 ap_process_request(0x2011f1f0) at 0x100f648c
 child_main(0x0) at 0x10002d24
 make_child(0x200498e0, 0x0, 0x39363aa3) at 0x100025a0
 startup_children(0x2) at 0x1000248c
 standalone_main(0x4, 0x2ff228c8) at 0x10001928
 main(0x4, 0x2ff228c8) at 0x100014b0


 To get Embperl.so to successfully build I added "-b erok" to
 LDDLFLAGS.  I also tried '-G' with similar results. Without the
 modification to LDDLFLAGS I got several "unresolved symbol" errors.

 I also get similar results with Embperl 1.2b9, Apache 1.3.9, and
 mod_perl 1.23.

I did not yet try to compile mod_perl into Apache statically, so I am
not 100% sure why you get unresolved symbols, it would be interesting to
see which ones are unresolved. There are actually two ways to do dynamic
linking under AIX nowadays, namely the classic AIX way that was
available since AIX 3.1 (uses export files like under Windows or OS/2)
and for System V compatibility the runtime linking style which more or
less is like ELF dynamic linking used under Linux or Solaris. Both
Apache and Perl are only doing the classic AIX style dynamic linking, so
you cannot use the Linker Option -G to turn on runtime linking for a
module, you must use the -bE:export file -bM:SRE options instead. The
option -berok may not be used with the classic style dynamic linking,
this is causing the segfault here.

--
Jens-Uwe Mager

HELIOS Software GmbH
Steinriede 3
30827 Garbsen
Germany

Phone:  +49 5131 709320
FAX:+49 5131 709325
Internet:   [EMAIL PROTECTED]




RE: Embperl struggles

2000-06-02 Thread Greg Estep


The LOG filehandle is predefined by Embperl.  Anything written to it is put
into Embperl's log file (usually /tmp/embperl.log).  If you use a different
name, you will probably be OK.  On the other hand, you can just delete the
call to "open" (and "close) and use the log file Embperl already provides.

BTW, "LOG" and several other variables are discussed in the "Predefined
variables" section of the HTML::Embperl man page.

--
Greg Estep [EMAIL PROTECTED]
#include std/disclaimer.h


-Original Message-
From: Toni Mueller [mailto:[EMAIL PROTECTED]]
Sent: Friday, June 02, 2000 10:18 AM
To: [EMAIL PROTECTED]
Subject: Embperl struggles

Hello,

trying to develop with Embperl I encounter the following
problems:

1. Using a sequence of statements like

  [-
  open LOG, "/tmp/logfile.txt";
  print LOG "some debug info: $var\n";
  close LOG;
  -]

  ever gets me the following error:
  error in Perl code: Can't locate object method "CLOSE" via package
"HTML::Embperl::Log"

  but I don't understand why. I can't remember getting this error code
  for other Perl code. Defining a function that contains this code and
  require'ing this doesn't help, but using a full-blown package and
  instantiating this is ok, albeit imho heavily oversized.

2. requrire'ing a file that defines some functions sometimes gives me
   an error that the functions in that file are _not_ defined...

3. I have a hard time understanding when to use [- -] and when to use
   [! !] or [* *]. Most of what I've done so far uses [- -] and
   [$ $] (which I so far have no trouble with). The scoping and
   execution time issues are not that clear to me.

Last but not least I'd like some kind of pretty printer since my
Emacs won't help me here. I tried the two things mentioned on the
web, but to no avail (one requiring Xemacs instead of Emacs, too).

This is all with apache 1.3.10, mod-perl 1.21 and Embperl 1.2.1
(I also have no Perl 5.6.0 yet, only 5.005).


Any help is greatly appreciated!


Best Regards,
--Toni++





non-DSO mod_perl, Embperl, and AIX not working (duplicate ?)

2000-06-02 Thread Greg Estep


Sorry if this is a duplicate.  I sent the message yesterday, but I haven't
seen it posted back to me via the list.  We have recently been having
problems with our email services...

---


I am using IBM's C complier (cc) under AIX 4.3.3 with Apache 1.3.12,
mod_perl 1.24 (statically linked, not DSO), perl 5.00503, and Embperl
1.3b3.

The "offline", "execute function", and "cgi mode" Embperl tests are
all successful. In the "mod_perl" mode, even the simple "ascii" test
fails.  It fails with a seg. fault and a dbx stack trace that looks
like this:

ap_palloc() at 0xd1179d98
EMBPERL__malloc() at 0xd1178b98
EMBPERL_SetupFileData() at 0xd1177118
EMBPERL_SetupRequest() at 0xd1177764
XS_HTML__Embperl_SetupRequest() at 0xd116fcb8
.() at 0x1004a344
.() at 0x100536f0
.() at 0x1002ff98
perl_call_handler(??, ??, ??) at 0x10113f70
perl_run_stacked_handlers(??, ??, ??) at 0x10113160
perl_handler(??) at 0x10111d38
ap_invoke_handler(0x2011f1f0) at 0x100c42bc
process_request_internal(0x2011f1f0) at 0x100f4d6c
ap_process_request(0x2011f1f0) at 0x100f648c
child_main(0x0) at 0x10002d24
make_child(0x200498e0, 0x0, 0x39363aa3) at 0x100025a0
startup_children(0x2) at 0x1000248c
standalone_main(0x4, 0x2ff228c8) at 0x10001928
main(0x4, 0x2ff228c8) at 0x100014b0


To get Embperl.so to successfully build I added "-b erok" to
LDDLFLAGS.  I also tried '-G' with similar results. Without the
modification to LDDLFLAGS I got several "unresolved symbol" errors.

I also get similar results with Embperl 1.2b9, Apache 1.3.9, and
mod_perl 1.23.

BTW, I did not personally compile my perl executable, it is straight
from a fileset on the AIX 4.3.3 CD.  I have, however, upgraded
several modules to their most recent CPAN version.  My 'perl -V'
output looks like this:

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
osname=aix, osvers=4.3.3.0, archname=aix
uname='aix funny 3 4 01716600 '
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
cc='cc', optimize='-O', gccversion=
cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -
qmaxmem=16384'
ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -
qmaxmem=16384'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
ld='ld', ldflags ='-s'
libpth=/lib /usr/lib /usr/ccs/lib
libs=-lnsl -ldbm -ldl -lld -lm -lc -lcrypt -lbsd -lPW -lC_r
libc=/lib/libc.a, so=a, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-
bE:perl.exp'
cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -
bI:$(PERL_INC)/perl.exp -bE:$(B
ASEEXT).exp -b noentry -lc'


Characteristics of this binary (from libperl):
  Built under aix
  Compiled at Aug 14 1999 08:59:55
  @INC:
/usr/opt/perl5/lib/5.00503/aix
/usr/opt/perl5/lib/5.00503
/usr/opt/perl5/lib/site_perl/5.005/aix
/usr/opt/perl5/lib/site_perl/5.005
.

--
Greg Estep [EMAIL PROTECTED]




non-DSO mod_perl, Embperl, and AIX not working

2000-06-01 Thread Greg Estep


I am using IBM's C complier (cc) under AIX 4.3.3 with Apache 1.3.12, 
mod_perl 1.24 (statically linked, not DSO), perl 5.00503, and Embperl 
1.3b3.

The "offline", "execute function", and "cgi mode" Embperl tests are 
all successful. In the "mod_perl" mode, even the simple "ascii" test 
fails.  It fails with a seg. fault and a dbx stack trace that looks 
like this:

ap_palloc() at 0xd1179d98
EMBPERL__malloc() at 0xd1178b98
EMBPERL_SetupFileData() at 0xd1177118
EMBPERL_SetupRequest() at 0xd1177764
XS_HTML__Embperl_SetupRequest() at 0xd116fcb8
.() at 0x1004a344
.() at 0x100536f0
.() at 0x1002ff98
perl_call_handler(??, ??, ??) at 0x10113f70
perl_run_stacked_handlers(??, ??, ??) at 0x10113160
perl_handler(??) at 0x10111d38
ap_invoke_handler(0x2011f1f0) at 0x100c42bc
process_request_internal(0x2011f1f0) at 0x100f4d6c
ap_process_request(0x2011f1f0) at 0x100f648c
child_main(0x0) at 0x10002d24
make_child(0x200498e0, 0x0, 0x39363aa3) at 0x100025a0
startup_children(0x2) at 0x1000248c
standalone_main(0x4, 0x2ff228c8) at 0x10001928
main(0x4, 0x2ff228c8) at 0x100014b0


To get Embperl.so to successfully build I added "-b erok" to 
LDDLFLAGS.  I also tried '-G' with similar results. Without the 
modification to LDDLFLAGS I got several "unresolved symbol" errors.

I also get similar results with Embperl 1.2b9, Apache 1.3.9, and 
mod_perl 1.23.

BTW, I did not personally compile my perl executable, it is straight 
from a fileset on the AIX 4.3.3 CD.  I have, however, upgraded 
several modules to their most recent CPAN version.  My 'perl -V' 
output looks like this:

Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration:
  Platform:
osname=aix, osvers=4.3.3.0, archname=aix
uname='aix funny 3 4 01716600 '
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef useperlio=undef d_sfio=undef
  Compiler:
cc='cc', optimize='-O', gccversion=
cppflags='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -
qmaxmem=16384'
ccflags ='-D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -
qmaxmem=16384'
stdchar='unsigned char', d_stdstdio=define, usevfork=false
intsize=4, longsize=4, ptrsize=4, doublesize=8
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
alignbytes=8, usemymalloc=n, prototype=define
  Linker and Libraries:
ld='ld', ldflags ='-s'
libpth=/lib /usr/lib /usr/ccs/lib
libs=-lnsl -ldbm -ldl -lld -lm -lc -lcrypt -lbsd -lPW -lC_r
libc=/lib/libc.a, so=a, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
dlsrc=dl_aix.xs, dlext=so, d_dlsymun=undef, ccdlflags='-
bE:perl.exp'
cccdlflags=' ', lddlflags='-bhalt:4 -bM:SRE -
bI:$(PERL_INC)/perl.exp -bE:$(B
ASEEXT).exp -b noentry -lc'


Characteristics of this binary (from libperl):
  Built under aix
  Compiled at Aug 14 1999 08:59:55
  @INC:
/usr/opt/perl5/lib/5.00503/aix
/usr/opt/perl5/lib/5.00503
/usr/opt/perl5/lib/site_perl/5.005/aix
/usr/opt/perl5/lib/site_perl/5.005
.

--
Greg Estep [EMAIL PROTECTED] 




RE: Problem with mod_perl

2000-06-01 Thread Greg Estep


On Fri, 26 May 2000, Eugene S. Panenko wrote:

 Hi all,

 Sorry if it is an incorrect list to ask...

 I have a strange problem with mod_perl. I've tested mod_perl using a very
 simple scripts (one of them is attached). The network load is emulated via
LAN
 using a special proggy. The problem is: under load above 20 requests per
second
 after working some time (about 15-30 sec) Apache daemon stopts accepting
new
 connections and blocks forever (without -X option httpd at this moment
begin
 forking until it eats all resources) . I've found that the problem exists
 only when scripts use modules (tested with CGI v 2.46, IPC::Shareable, our
own
 modules).  Test scripts without modules work fine even under load of 200
 requests per second.


Without knowing too much about your apache config. files, machine specs,
etc. I am guessing that your Apache MaxClients is still set at 150 (the
out-of-the-box value).

When apache receives a request that it cannot immediately handle (all of the
pre-forked process are busy) it will fork another one (up to MaxClients).
Eventually, you will run out of physical memory and begin to hit your swap
space.  When this happens, it takes longer to handle a request.  That causes
more requests to back up in the queue, so apache forks some more processes
to handle the load. These new processes increase the amount of swapping that
needs to be done, and the situation gets out of control.

How many subprocesses you can support depends upon the size of your httpd
process's text and data segments.  I have seen several mod_perl applications
increase the size of an httpd process to over 10 Mbytes.  If you set
MaxClients to a number that can be safely stored in physical memory
(adjusting for the OS and other processes running on the machine, of course)
you might eliminate your problem.

--
Greg Estep [EMAIL PROTECTED]