explanation of the difference-
http://ken.coar.org/burrow/index?month=2003-07#511
--
Joe Schaefer
not sure about apreq-1.
No, it doesn't.
--
Joe Schaefer
folks decide which of his patches is best, we'll roll a 1.3
release that fixes the problem.
[...]
The question remains: what did i naively do wrong the first time?
Probably nothing- this is a bug in libapreq.
--
Joe Schaefer
Access to the cvs repository for httpd-apreq-2 is described
at the bottom of
http://httpd.apache.org/apreq/
--
Joe Schaefer
port available.
--
Joe Schaefer
that nobody can read from? Probably
not, from the looks of it.
Try moving the Apache-Test-1.03 directory to /tmp and
see if you have better luck there.
--
Joe Schaefer
libapreq-1.2.tar.gz (Apache::Request) is now on CPAN:
file: $CPAN/authors/id/J/JO/JOESUF/libapreq-1.2.tar.gz
size: 277549 bytes
md5: ae08726f11ca25a215d4d854d675c3ff
and at www.apache.org:
file: http://www.apache.org/dist/httpd/libapreq-1.2.tar.gz
sig:
Joe Schaefer [EMAIL PROTECTED] writes:
[...]
and at www.apache.org:
file: http://www.apache.org/dist/httpd/libapreq-1.2.tar.gz
sig: http://www.apache.org/dist/httpd/libapreq-1.2.tar.gz.asc
Correction- those urls for libapreq-1.2 should read
http://www.apache.org/dist/httpd/libapreq
measuring any architectural differences between modperl and fastgci,
just how well the server's embedded perl interpreter performs relative to
perl itself. I wonder if compiling modperl as a DSO versus compiling it
statically might explain the performance lag.
--
Joe Schaefer
between query string and
request body params.
--
Joe Schaefer
}
--
Joe Schaefer
. (You may
need to install Apache::Test from CPAN first.)
--
Joe Schaefer
to do something like that.
--
Joe Schaefer
Matt Sergeant [EMAIL PROTECTED] writes:
On 28 Jan 2003, Joe Schaefer wrote:
libapreq-1.1 is now available on CPAN,
and also through the Apache website at
http://www.apache.org/dist/httpd/libapreq/libapreq-1.1.tar.gz
Failed badly to install for me. First of all it won't install
Dave Rolsky [EMAIL PROTECTED] writes:
On Tue, 28 Jan 2003, Joe Schaefer wrote:
libapreq-1.1 is now available on CPAN,
and also through the Apache website at
http://www.apache.org/dist/httpd/libapreq/libapreq-1.1.tar.gz
What are the difference between this version and 1.05
upload tests.
Thanks for the feedback. It appears we have more work to do on the new
upload code in Request.xs. I think we should aim to release a new version,
quickly, that's dedicated to fixing these immediate problems with the
1.1 release.
--
Joe Schaefer
Stas Bekman [EMAIL PROTECTED] writes:
Joe, I thought you've reverted to use the old test suite?
I did, sorry for the confusion. The test suite in 1.1 is based
on Apache::test, not Apache::Test.
--
Joe Schaefer
libapreq-1.1 is now available on CPAN,
and also through the Apache website at
http://www.apache.org/dist/httpd/libapreq/libapreq-1.1.tar.gz
--
Joe Schaefer
libapreq-1.1 was non-released on January 10, 2003.
libapreq-1.1 is NOT an official ASF release, and is
not available on CPAN, but a non-official version is
temporarily not non-available here:
http://www.apache.org/~joes/libapreq-1.1.tar.gz
--
Joe Schaefer
myself that I'd seen this working, I'm starting to
doubt my memory.
Not to my knowledge; I suspect you've been stat()ing the spooled
temp file all along.
--
Joe Schaefer
is that when
mod_perl runs its cleanup handler, it runs on the *original*
request_rec + request_config, which doesn't have the new pnotes.
So they never get cleaned up by mod_perl's per_request_cleanup().
This might be a bug within apache itself.
--
Joe Schaefer
The apreq developers are planning a maintenance release of
libapreq-1.1. This version does not include support for
modperl-2, but it *could* address some outstanding problems in
1.0:
* OS X support [1]
* perl 5.8 segfaults related to file uploads [2]
Please give the tarball at
of the
mod_perl canon; those notes present *the right approach* to optimization.
--
Joe Schaefer
such encodings, supporting
%u in ap_unescape_url shouldn't hurt server performance at all.
In any case, putting together a patch of ap_unescape_url along the lines
of CGI::Util's utf8_chr() can't hurt :-).
--
Joe Schaefer
as porting apreq to modperl-2.
Thanks.
--
Joe Schaefer
before you tried doing the perl
build?
--
Joe Schaefer
process, from sh BUILD.sh through
make test.
--
Joe Schaefer
.
--
Joe Schaefer
a few dozen links from google (utf8 Apache::Request), and
I've searched the epigone archives for this list. I wasn't able to find
a single related report.
A reference url, a test case, or a better still, a patch, would be
considerably more helpful than sending me on a wild goose chase.
--
Joe
*that* in Java.
--
Joe Schaefer
Per Einar Ellefsen
Thomas Klausner
The new site is outstanding! Great work, guys!
--
Joe Schaefer
Joe Schaefer [EMAIL PROTECTED] writes:
[...]
Somehow the assignment operator MUST be involved in the leak here.
(You only get a leak when the *same* reference (*SV) is on both sides
of the assignment).
Could someone with modperl 1.2x built using a perl 5.8 release candidate
please test
Does anyone know what's causing the Apache::Request object to
leak here? See # XXX comment below:
Perl
package Apache::test;
sub Apache::Request::DESTROY{warn DEAD: $_[0]\n}
sub Apache::DESTROY{warn Dead: $_[0]\n}
use Devel::Peek;
use Apache::Request;
sub
[resent to modperl list; earlier copy mistakenly cc'd to p5p]
Does anyone know what's causing the Apache::Request object to
leak here? See # XXX comment below:
Perl
package Apache::test;
sub Apache::Request::DESTROY{warn DEAD: $_[0]\n}
sub Apache::DESTROY{warn Dead: $_[0]\n}
Dave Rolsky [EMAIL PROTECTED] writes:
On 8 Jul 2002, Joe Schaefer wrote:
[...]
my $r = shift;
my $apr = Apache::Request-new($r);
That's not going to leak, either. At least I hope not :-)
I ended up using something like this and the leak went away.
It seems to me
darren chamberlain [EMAIL PROTECTED] writes:
* Joe Schaefer [EMAIL PROTECTED] [2002-07-09 12:47]:
Dave Rolsky [EMAIL PROTECTED] writes:
On 8 Jul 2002, Joe Schaefer wrote:
If I do this:
my $x = shift;
$x = make_something_from($x);
then it seems like the original $x
that this isn't always possible, but it often/usually
is. Such advice would serve you well in this case; you could
even get away with this
my $r = shift;
my $apr = Apache::Request-new($r);
That's not going to leak, either. At least I hope not :-)
HTH
--
Joe Schaefer
) to get
libapreq to build correctly on your OS.
--
Joe Schaefer
for this, which should
take care of the aforementioned leak. One other possible candidate is
that your apache server is segfaulting after the file is received, which
prevents apache from cleaning up the temp files. If so, you should see
a bunch of apreq files filling up your spool directory.
--
Joe
Makefile.PL
% make
% make install
You might need to use ldconfig to tell ld.so where libapreq's
shared library is.
5) report successes/failures using this approach on OS X to
[EMAIL PROTECTED]
Thanks again.
--
Joe Schaefer
Ged Haywood [EMAIL PROTECTED] writes:
Hi there,
On 22 Feb 2002, Joe Schaefer wrote:
3) Install libapreq.so.1.0.0 (to /usr/local/lib) using:
% ./configure
% make
% make install
4) Now install Apache::Request and Apache::Cookie using
is that an the ApacheRequest C struct has a
request_rec pointer as its *first* attribute, so a cast from
(ApacheRequest *) to (request_rec *) will be safe.
--
Joe Schaefer
Makefile.PL DEFINE=-DDEBUG
% make make install
2) test it again and submit both the raw upload data
and your error log to [EMAIL PROTECTED]
Thanks alot.
--
Joe Schaefer
everything from scratch, starting with modperl. When you're
testing Apache::Cookie and Apache::Request, be sure you're not trying to
load the old versions of these packages.
Sorry for the confusion.
--
Joe Schaefer
Ian Ragsdale [EMAIL PROTECTED] writes:
How about setting something up on SourceForge? I know they have OS X
environments available for compiling and testing.
apreq is an ASF project; IMO what we need now is a hero, not a
change of venue.
[...]
On 1/28/02 2:02 PM, Joe Schaefer [EMAIL
' ./configure
--prefix=local/apache \
--enable-shared=max --disable-rule=EXPAT --with-layout=Apache \
--activate-module=src/modules/perl/libperl.a --disable-shared=perl
$ make
$ make install
You're my hero ;-)
--
Joe Schaefer
standardize on one of either
mod_perl or modperl, so I can stop bouncing emails off
to the wrong list :)
--
Joe Schaefer
maybe I'm wrong, but I don't think any of us will learn the
answer until some OS/X person actually _attempts_ to fix it.
--
Joe Schaefer
think we'll have a 1.0 that works on OS/X, but I might be able
to include a patch in the distro that will build the C api of libapreq
directly into httpd. This might allow OS/X to run Apache::Request and
Apache::Cookie at the same time, but that platform is unavailable to me
for testing.
--
Joe
= shift;
$r-send_http_header('text/plain');
print OK;
}
--
Joe Schaefer
saying it again:
Apache::Request::param() is FASTER THAN Apache::args(),
and unless someone wants to rewrite args() IN C, it is
likely to remain that way. PERIOD.
Of course, if you are satisfied using Apache::args, than it would
be silly to change styles.
YMMV
--
Joe Schaefer
solution, but nobody's
volunteered one so far; or provided evidence of a successful build
on that platform.
Thanks in advance.
--
Joe Schaefer
-param('multi_list');
HTH
--
Joe Schaefer
)
^
Unfortunately this isn't the relevant function here- the typemap for
Apache objects is governed by sv2request_rec, which is part of
mod_perl's perl_util.c file.
--
Joe Schaefer
or was this just a fluke?
I'd say it's a fluke- $r needs to be attached somehow to the actual
request object; otherwise I think you're introducing a memory leak
and/or possibly a segfault. Unless Doug says otherwise, I wouldn't
rely on this behavior for an undef'd arg to Apache::Request::new.
--
Joe Schaefer
settings in
Request/Makefile.PL.
--
Joe Schaefer
a functional language (like Haskell or Scheme), rather
than an imperative language (like C, Java, Perl ...),
or are you talking more about the application's platform and design
(e.g. http://www.kegel.com/c10k.html )?
--
Joe Schaefer
. set up a non-HTML based website where templates
dynamically convert non-HTML files into HTML.
The patent was filed June 19, 1998: surely there must be
prior art out there?
--
Joe Schaefer
Ged Haywood [EMAIL PROTECTED] writes:
On Wed, 17 Oct 2001, Nathan Torkington wrote:
Joe Schaefer writes:
A causal reading seems to suggest that most mod_perl-based
templating systems do exactly what this patent will cover:
the tool generates the customized Web site without
is first being parsed. This
can happen at any phase you choose, but it only happens
once per request.
4) Are there any specific issues for using this with
Apache::Request-instance ?
Other than (3), I don't think so- but as I said before
this is not a well-tested feature (yet :)
HTH
--
Joe
John Siracusa [EMAIL PROTECTED] writes:
P.S.- d) Apache::Request and Apache::Cookie still can't be
loaded simultaneously! :(
Why not? Does it work OK with a statically-linked mod_perl?
--
Joe Schaefer
%40alexandra.delanet.com
Personally I had similar experiences with clp.moderated,
so I don't read it anymore either.
[2]: IIRC, they are at
http://learn.perl.org/
but I can't connect to it at the moment.
/OT
--
Joe Schaefer
hash values first.
--
Joe Schaefer
they are not getting setup right.
--
Joe Schaefer
) on CPAN, or from
http://httpd.apache.org/apreq/
If you hit a bump somewhere, please report it to the
apreq mailing list:
[EMAIL PROTECTED]
Best wishes.
--
Joe Schaefer
assumed that it
would be closed by Apache::Upload when the request was finished.
The duping behavior is desirable, but the filehandle remaining open
is definitely a bug; and it may have been around for quite a while.
Thanks a bunch for fleshing it out.
--
Joe Schaefer
);
$i-Set(magick=$type);
$err = $i-WriteImage(filename=$filename));
warn $err if $err;
undef $i;
}
Try appending
undef @upload;
to make sure there are no Apache::Upload objects still floating
around when your handler exits.
HTH
--
Joe Schaefer
mod_proxy always forcibly downgraded the connection
to HTTP/1.0 and closed the connection.
Personally, I didn't care much for the pre-1.3.19 behavior :-)
--
Joe Schaefer
-friendly way. Be sure
to consult the guide for tips:
http://perl.apache.org/guide/
--
Joe Schaefer
more. Also, please contact me or follow up to the list if anyone has
some comments/suggestions for improving the API before committing it to
CVS.
Thanks.
--
Joe Schaefer
Joe Schaefer [EMAIL PROTECTED] writes:
Apache::Request would be a nice feature. Recently David Prosa added
^^^
Ugh- he's David *Welton*, and he's using libapreq in his mod_dtcl
module. Damn, that's twice I've done that to him
you need to make one by calling "new" somewhere,
or guard against misuse via:
print $self-name if ref $self;
HTH
--
Joe Schaefer
ributes. (I don't know
if they're more reliable in 5.6, since I don't view 5.6 as reliable
enough itself :)
I'd recommend you take another approach, like Class::Contract
or Tie::SecureHash instead. See Conway's _Object Oriented Perl_
for details.
HTH
--
Joe Schaefer
't have to wait for the client to finish reading all the
data. Fortunately enough, spoonfeeding data to slow clients is
handled by the OS kernel.
Right- relative to the time it takes the backend to actually
create and deliver the content to the frontend, a second or
two can be an eternity.
Best.
--
Joe Schaefer
ist at
[EMAIL PROTECTED]
HTH.
--
Joe Schaefer
ted.
[1] I've never used SpeedyCGI, so I've refrained from specifically discussing
it. Also, a mod_perl backend server using Apache::Registry can be viewed as
"FastCGI-like" for the purpose of my argument.
--
Joe Schaefer
GI scripts; however, modperl can do quite a bit
more than that.
Claimed benchmarks that are designed to exploit this memory issue
are quite silly, especially when the actual results are never
revealed. It's overzealous advocacy or FUD, depending on which
side of the fence you are sitting on.
--
Joe Schaefer
tant
important than anecdotal remarks about the results) is
necessary so objective opinions can be formed.
--
Joe Schaefer
generated.
Best.
--
Joe Schaefer
Joshua Chamas [EMAIL PROTECTED] writes:
Joe Schaefer wrote:
IME, simple mod_perl handlers typically run around 50% as fast as
HTML static pages. Your hello world benchmark seems to be slightly
misleading in this respect, since the content-length is small
relative to the header size
true, my point was the same -- check your numbers and see
whether it helps or not. Definitely not with ab or any other benchmark
tool.
Nothing wrong with ab - just know it's limitations (or how to make it
say what you want ;).
--
Joe Schaefer
to the backend server, which may
explain why the date field shows up in your telnet experiments.
Why not post the full output of your telnet sessions so we
can see what is really going on?
HTH.
--
Joe Schaefer
-
To unsubscribe
/proxy_http.c
and/or src/main/http.protocol.c and see what you can cook up.
Tweaking and/or commenting out a few lines should do the trick.
Just be sure to back up your apache tree before you start tinkering.
Best.
--
Joe Schaefer
tents
of your Apache::Upload object? I don't think CRLF translation should be
occuring within libapreq, but then again I don't run apache on windows
either :)
Please contact me at the email below if you're having problems with the
patch I submitted.
HTH
--
Joe Schae
with libapreq? How much of the
"undocumented" API (like $q-parms) is in use?
Regards.
--
Joe Schaefer
[EMAIL PROTECTED]
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
and for all.
You bet - brilliant detective/expository work going on here!
On a side note, a while back I was trying to coerce the TUX developers
to rework their server a little. I've included snippets of the
email correspondence below:
From: Joe Schaefer [EMAIL PROTECTED]
Subject
ne of those who have faced a similar problem got any other ideas?
Suggestions? Success stories?
The eagle book contains an excellent discussion on how to set one up. See
http://www.modperl.org/book/chapters/ch6.html
Then go out and buy it :).
--
Joe Schaefer
SunStar Systems, Inc.
ookies get
dropped. Pay attention to the "Host" and "Cookie" lines.
--
Joe Schaefer
SunStar Systems, Inc.
he queries are reused not changed between queries.
--
Joe Schaefer
things. The only reliable way to have the browser send
different passwords to different locations is to use different
server names.
--
Joe Schaefer
like
s/body/body onLoad='open("/core/info.html", "other_window")'/io;
Some variation on this might do the trick.
--
Joe Schaefer
[EMAIL PROTECTED]
SunStar Systems, Inc.
, and thanks again.
--
Joe Schaefer
[EMAIL PROTECTED]
SunStar Systems, Inc.
diff -ur libapreq-0.31/c/apache_request.c libapreq/c/apache_request.c
--- libapreq-0.31/c/apache_request.c Fri Jul 2 21:00:17 1999
+++ libapreq/c/apache_request.c Sun Sep 24 22:10:18 2000
@@ -64,8 +64,20 @@
for(x=0;str[x
Roger Espel Llima [EMAIL PROTECTED] writes:
On Tue, Sep 19, 2000 at 03:24:50PM -0400, Joe Schaefer wrote:
On linux, the ext2 filesystem is VERY efficient at buffering filesystem
writes (see http://www.tux.org/lkml/#s9-12). If the post data is small
( I don't know what the default size
print ref $cookies{'SESSION'}; # prints Apache::Cookie ??
print $cookies{'SESSION'}-value; # prints the value of SESSION cookie
RTFM to be sure, or run it and see what you get!
--
Joe Schaefer
[EMAIL PROTECTED]
SunStar Systems, Inc.
something like this implemented, since I use mod_perl
for authenticating "POSTers". In my case the POST data must
be processed by the mod_perl server.
Any help/suggestions are welcome and appreciated!
--
Joe Schaefer
[EMAIL PROTECTED]
SunStar Systems, Inc.
-send_http_header('text/plain');
my $args = $q-param; # hash ref
print join "\n", map {"$_ = ".$$args{$_} } keys %$args;
and similiarly for CGI. The numbers you get should more accurately reflect
the performance of each.
HTH
--
Joe Schaefer
[EMAIL PROTECTED]
SunStar Systems, Inc.
96 matches
Mail list logo