Fwd: [ANNOUNCE] TicketMaster.com sponsors mod_perl development
Hi Stas, That's excellent! I hope that you will be richly rewarded for all of your good work on Open Source projects. Tell Ticketmaster that I won't buy tickets from their competitors after all. And I hope that someday the company I'm working for will be able to afford contributing instead of just utilizing. Thanks for the Guide and for Apache::VMonitor. Bob Foster System Administrator Dissemination, Inc. Hotresponse.com (541) 617-5021 [EMAIL PROTECTED]
Blank Page Returned by Mod_perl
Hi, I'm using mod_backhand frontend and mod_perl backend (on 127.0.0.1). Many complex scripts are working fine but I'm getting behavior I don't understand with this simple script: #!/usr/local/bin/perl print Content-type: text/html\n\n; print This is a test\n\n; exit; 1. If the script is NOT handed off to the backend, the browser shows: This is a test 2. If the script is handed off to the backend, the browser shows a blank page. 3. If I go directly to the backend, the browser shows: Content-type: text/html This is a test I'd like to get the same output on 2 as occurs on 1. Why is this happening? Can anyone help? Thanks! Bob Foster
Increasing Shared Memory
Hi, I'm using Stas Bekman's excellent Apache::VMonitor module to help me decrease my mod_perl child process memory usage. I was working on preloading all of my perl modules and scripts in a startup.pl script when I noticed that the amount of shared memory seemed very low. Immediately after I make an Oracle database connection, the child jumps from a size of 3.6M (2.4M shared) to 17.4M (3.4M shared). The child process slowly grows to 22.2M (3.4M shared). The loaded libs Sizes total 13.6M. Shouldn't the libs load into shared memory? If so, how? Here's a snippet from Apache::VMonitor. Loaded libs Sizes: (in bytes) 5800677 ( 5.5M) : /ora1/oracle/product/8.1.5/lib/libclntsh.so.8.0 4118299 ( 3.9M) : /lib/libc-2.1.2.so 1134094 ( 1.1M) : /usr/local/apache_perl/bin/httpd_perl 540120 ( 527k) : /lib/libm-2.1.2.so 372604 ( 364k) : /lib/libnsl-2.1.2.so 344890 ( 337k) : /lib/ld-2.1.2.so 254027 ( 248k) : /lib/libnss_nis-2.1.2.so 253826 ( 248k) : /lib/libnss_nisplus-2.1.2.so 247381 ( 242k) : /lib/libpthread-0.8.so 247348 ( 242k) : /lib/libnss_files-2.1.2.so 162740 ( 159k) : /usr/lib/libglib-1.2.so.0.0.5 81996 ( 80k) : /usr/lib/perl5/site_perl/5.005/i386-linux/auto/DBD/Oracle/Oracle.so 74663 ( 73k) : /lib/libdl-2.1.2.so 64595 ( 63k) : /lib/libcrypt-2.1.2.so 63848 ( 62k) : /usr/lib/perl5/site_perl/5.005/i386-linux/auto/DBI/DBI.so 60026 ( 59k) : /usr/lib/libgtop_sysdeps.so.1.0.2 58088 ( 57k) : /usr/lib/perl5/site_perl/5.005/i386-linux/auto/Date/Calc/Calc.so 51146 ( 50k) : /usr/lib/perl5/site_perl/5.005/i386-linux/auto/Storable/Storable.so 48500 ( 47k) : /usr/lib/perl5/site_perl/5.005/i386-linux/auto/GTop/GTop.so 46795 ( 46k) : /usr/local/apache_perl/libexec/mod_include.so 32545 ( 32k) : /usr/lib/gconv/ISO8859-1.so 31927 ( 31k) : /usr/lib/libgtop.so.1.0.2 29970 ( 29k) : /usr/share/locale/en_US/LC_COLLATE 28657 ( 28k) : /usr/lib/libgdbm.so.2.0.0 27405 ( 27k) : /usr/local/apache_perl/libexec/mod_status.so 24409 ( 24k) : /usr/lib/perl5/site_perl/5.005/i386-linux/auto/Apache/Scoreboard/Scoreboard.so 22970 ( 22k) : /usr/lib/perl5/5.00503/i386-linux/auto/Data/Dumper/Dumper.so 17732 ( 17k) : /usr/lib/libgtop_common.so.1.0.2 14748 ( 14k) : /usr/lib/perl5/5.00503/i386-linux/auto/IO/IO.so 11137 ( 11k) : /usr/lib/perl5/site_perl/5.005/i386-linux/auto/Time/HiRes/HiRes.so 10764 ( 11k) : /usr/local/apache_perl/libexec/mod_usertrack.so 10428 ( 10k) : /usr/share/locale/en_US/LC_CTYPE 9827 ( 10k) : /usr/lib/perl5/5.00503/i386-linux/auto/Fcntl/Fcntl.so 4847 ( 5k) : /ora1/oracle/product/8.1.5/lib/libskgxp8.so 508 ( 1k) : /usr/share/locale/en_US/LC_TIME 93 ( 1k) : /usr/share/locale/en_US/LC_MONETARY 44 ( 1k) : /usr/share/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES 27 ( 1k) : /usr/share/locale/en_US/LC_NUMERIC Thanks for your help! Bob Foster
Re(2): Increasing Shared Memory
[EMAIL PROTECTED] writes: Make sure to use DBD::Oracle in your startup.pl or do PerlModule DBD::Oracle ... that should load up some Oracle libs in the parent. Also, you *might* try doing a connect or even an invalid connect to Oracle, which might grab some extra libs that it only loads at runtime. If you do a connect in the parent httpd to Oracle, make sure that Apache::DBI doesn't cache it later for the children, which is why I was suggesting doing an invalid connect with user/pass like BADBAD/BADBAD Thank you very much, Joshua. I have made some progress and am now seeing 15.8M shared out of 16.7M on the parent. I believe that the problem was that I was doing a graceful restart which wasn't restarting the parent process. Now I have a different problem. When I initially start apache, everything is OK, but when the child processes die (due to MaxRequestsPerChild or me killing them) , the new child doesn't have a database connection and I'm getting Internal Server Error. I suspect I can sort that mess out after a bit more troubleshooting. Thanks again! Bob Foster
mod_perl child processes using way too much RAM
Hi, I have a single script which is working but making the httpd_perl child processes jump to 60 Megs or more. I've asked the programmer to fix the script, but until he does, I'm wondering if I can either: 1. Force the script to run under PerlRun or under normal CGI. The problem is that I run all the scripts in the directory under mod_perl. And this script is called from a large number of other files and the directory is hard-coded in those files so I can't move it easily. Or, 2. Cause any httpd_perl child process which exceeds 20 megabytes in memory usage to terminate after it's done. Thanks! Bob
DBI Problem
Hi Folks, Everything is working great but I can't make a connection to my Oracle database (which is on another server) using mod_perl. -Perl 5.005_03 is working great. -mod_perl 1.24_01 is working great with apache 1.3.14 -DBI 1.14 connections are working great with DBD Oracle 1.06 I can connect to test.cgi and produce the output with Options +ExecCGI SetHandler cgi-script. But when I use: Options +ExecCGI SetHandler perl-script PerlHandler Apache::Registry I get no error message in the error_log, and a simple "The page cannot be displayed" in the browser. I know that test.cgi is being found since I have a 'warn' message in it which gets sent to the error_log. HELP, Please, I've been working on this for days and have run out of ideas! Thanks! Bob P.S. test.cgi follows: #!/usr/local/bin/perl use strict; use DBI; warn "hello!"; use CGI qw(:standard); my $query = new CGI; my $dbh = DBI-connect( 'dbi:Oracle:GEORGE', 'userid', 'passwork', { RaiseError = 1, AutoCommit = 0 } ) || die "Database connection not made: $DBI::errstr"; my $sql = qq{ select survey_set_id, pub_id, start_date, end_date from survey_set}; my $sth = $dbh-prepare( $sql ); $sth-execute(); my( $id, $pub_id, $start, $end ); $sth-bind_columns( undef, \$id, \$pub_id, \$start, \$end ); print $query-header; while( $sth-fetch() ) { print "$pub_id, $start, $end\n\n"; } $sth-finish(); $dbh-disconnect();
make fails on perlio.c
Hello Folks, I'm trying to compile mod_perl-1.24_01with apache_1.3.14 on Solaris 2.6. Everything works OK until it hits src/modules/perl/perlio.c and then it fails with the following: gcc -O -I/usr/local/lib/perl5/5.00502/sun4-solaris/CORE -I/usr/local/include -I/opt/gnu/include -DMOD_PERL_VERSION=\"1.24_01\" -DMOD_PERL_STRING_VERSION=\"mod_perl/1.24_01\" -I../.. -I/usr/local/lib/perl5/5.00502/sun4-solaris/CORE -I../../os/unix -I../../include -DSOLARIS2=260 -DMOD_PERL -DUSE_PERL_SSI -I/usr/local/include -I/opt/gnu/include -DNO_DL_NEEDED `../../apaci` -c perlio.cperlio.c:90: parse error before `Sfdisc_t'perlio.c:90: warning: no semicolon at end of struct or unionperlio.c:92: parse error before `}'perlio.c:92: warning: data definition has no type or storage class And after that practically every line has an error. I'm using gcc 2.95.2 but I got the same error with other gcc versions. Help, please! Thanks! Bob Foster