Make test error and hang, but t/TEST single one success.

2006-10-05 Thread bowen

If I make test. There are some errors and process hang during test echo_bbs2.

t/protocol/echo_bbs2ok 1/3   [always hang there]

However, if I use the mod_perl told debug method.
http://perl.apache.org/docs/2.0/user/help/help.html#toc__C_make_test___Failures


I can test success.

All tests successful.
...

It proved my system setup is correct, right? But I still can not use
make test to batch test all the test scripts, and test still error and
hang there.

what should I do ? I do not want to test one by one after test hang point.


exit signal Segmentation fault (11) when asking for non-existent file/directories

2006-10-05 Thread Stefano Rodighiero

I'm experiencing a strange but repeatable problem with mod_perl.

Whenever I ask for a non-existent file that should be served
by mod_perl, I have the following error:

  [Thu Oct 05 12:34:19 2006] [notice] child pid 22297
  exit signal Segmentation fault (11)

Here the file I'm asking:

  /cgi-bin/sn_my/tb_update/superevask.dat

(the directory tb_update/ does not exist)

Here's the conf for the cgi-bin/ location on my server:

  
 SetHandler perl-script
 PerlResponseHandler ModPerl::PerlRun
 Options +ExecCGI
 PerlOptions +ParseHeaders
  

Here the versions of Apache and mod_perl I'm using:

  Server version: Apache/2.0.59
  Server built:   Oct  5 2006 10:07:50
  mod_perl-2.0.2

Tell me if you need further informations.

thank you in advance,
S.


RE: Getting post data

2006-10-05 Thread Garrett, Philip \(MAN-Corporate\)
Malcolm J Harwood wrote:
> 
>> 1) Is the headers_in case sensitive? (content-length ne
>> Content-Length)? 
> 
> I believe so.

The APR::Table docs say that it is case-INsensitive.

Philip


exit signal Segmentation fault (11) when asking for non-existent file/directories

2006-10-05 Thread Stefano Rodighiero

I'm experiencing a strange but repeatable problem with mod_perl.

Whenever I ask for a non-existent file that should be served
by mod_perl, I have the following error:

  [Thu Oct 05 12:34:19 2006] [notice] child pid 22297
  exit signal Segmentation fault (11)

Here the file I'm asking:

  /cgi-bin/sn_my/tb_update/superevask.dat

(the directory tb_update/ does not exist)

Here's the conf for the cgi-bin/ location on my server:

  
 SetHandler perl-script
 PerlResponseHandler ModPerl::PerlRun
 Options +ExecCGI
 PerlOptions +ParseHeaders
  

Here the versions of Apache and mod_perl I'm using:

  Server version: Apache/2.0.59
  Server built:   Oct  5 2006 10:07:50
  mod_perl-2.0.2

Tell me if you need further informations.

thank you in advance,
S.


Code Serialization and mod_perl

2006-10-05 Thread Craig Tussey
Hello,

Please help me understand how Perl with mod_perl
handles the following situation. Consider 2 clients
out in the WWW using the same form to work on 2
different records of the same type. At submission, the
form executes a database function and passes the data
entered using the form. The function retrieves the
data from the CGI-like connection, assigns the data to
Perl dataspaces and begins processing the code series
of the function. Now the 2nd client executes the
function in the same way, right on the heels of the
1st client.

In the C language in a network environment, when a
client calls a database function in a DLL to access a
server database, a system semaphore is is used to
serialize code access to prevent the corruption
ofdataspaces.

With only Perl, a different Perl interpreter instance
is started for each CGI request.   The instances don't
know about each other and dataspaces are unique to an
instance.

How does Perl with mod_perl handle this. Are there any
important differences with the only Perl situation.
Might the dataspaces be corrupted? How does this work?

My technical environment is Windows XP Home, Apache
2.0.049, Perl 5.8.3, and mod_perl 2.0.2. Thank you in
advance for any responses. I appreciate your time.

Craig Tussey
[EMAIL PROTECTED]



__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Code Serialization and mod_perl

2006-10-05 Thread David Nicol

On 10/5/06, Craig Tussey <[EMAIL PROTECTED]> wrote:

Please help me understand mod_perl



With only Perl, ... the instances don't
know about each other and dataspaces are unique to an
instance.

How does mod_perl handle this. Are there any
important differences with the only Perl situation.


any introduction to mod_perl should tell you that some
of the data may persist between request events while some
is per-request.  Database connections in particular may
pooled and conserved.

Understanding these subtleties to avoid data corruption issues
such as you are legitimately concerned about is why
the competent mod_perl developers can demand the big bucks.

http://www.google.com/search?q=introduction+to+mod_perl
is a good starting point for starting points.

Have a nice day.


Re: Code Serialization and mod_perl

2006-10-05 Thread Perrin Harkins
On Thu, 2006-10-05 at 11:56 -0700, Craig Tussey wrote:
> With only Perl, a different Perl interpreter instance
> is started for each CGI request.   The instances don't
> know about each other and dataspaces are unique to an
> instance.
> 
> How does Perl with mod_perl handle this.

In exactly the same way.  The interpreters are in separate processes or
threads and share nothing.  The only exception is if you run mod_perl 2
using threads and intentionally share some variables.

> Are there any
> important differences with the only Perl situation.

Not in terms of separation between instances.  There are issues with
code that doesn't clean up after itself (e.g. using global variables
instead of lexical ones) since the interpreters do not exit after each
request the way they do in CGI.

- Perrin



Re: Code Serialization and mod_perl

2006-10-05 Thread Jonathan Vanasco


On Oct 5, 2006, at 2:56 PM, Craig Tussey wrote:

How does Perl with mod_perl handle this. Are there any
important differences with the only Perl situation.
Might the dataspaces be corrupted? How does this work?


variables will persist through  every connection...

so 'use strict()' and specifically declare every variable with my /  
our as appropriate


ie:

my $connected= 0;
sub connect {
my $connection= 'dbi connection';
$connected++;
return $connection
}
sub handler{
my $r= shift
if ( ! $connection ) {
$connection= connect()
}
print $connected;
}

the first time you run that, you'll call connect and increment  
connected,  which is local to the package.  the second time though,  
$connection will have been set within the handler block


and then everything that David Nicol said