Thursday, 21 February 2008
|
| [Fwd: [rt.cpan.org #33471] [ntyni@debian.org: Bug#466738: libb-size-perl:
FTBFS with Perl 5.10]] Geoffrey Young 17:00:39 |
| |
-------- Original Message -------- Subject: [rt.cpan.org #33471] [ntyni@debian.org: Bug#466738: libb-size-perl: FTBFS with Perl 5.10] Date: Wed, 20 Feb 2008 17:13:38 -0500 From: ivan-debian@420.am via RT <bug-B-Size@rt.cpan.org> Reply-To: bug-B-Size@rt.cpan.org To: undisclosed-recipients:; References: <RT-Ticket-33471@rt.cpan.org> <20080220192249.GG20586@420.am>
Wed Feb 20 17:13:36 2008: Request 33471 was acted upon. Transaction: Ticket created by ivan-debian@420.am Queue: B-Size Subject: [ntyni@debian.org: Bug#466738: libb-size-perl: FTBFS with Perl 5.10] Broken in: (no value) Severity: (no value) Owner: Nobody Requestors: ivan-debian@420.am Status: new Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=33471 >
Hi,
I'm the maintainer of the Debian B::Size package. Folks are now testing building all modules we distribute against Perl 5.10.
B::Size 0.09 does not build with Perl 5.10 on Debian sid (unstable).
----- Forwarded message from Niko Tyni <ntyni@debian.org> -----
Subject: Bug#466738: libb-size-perl: FTBFS with Perl 5.10 Reply-To: Niko Tyni <ntyni@debian.org>, 466738@bugs.debian.org From: Niko Tyni <ntyni@debian.org> To: submit@bugs.debian.org
Package: libb-size-perl Version: 0.09-1 Severity: important User: debian-perl@lists.debian.org Usertags: perl-5.10-transition
Your package fails to build with Perl 5.10 (currently in experimental.)
From the build log: cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wall -DVERSION=\"0.09\" -DXS_VERSION=\"0.09\" -fPIC "-I/usr/lib/perl/5.10/CORE" Size.c In file included from Size.xs:16: b_sizeof.c: In function 'boot_B_Sizeof': b_sizeof.c:27: error: 'XRV' undeclared (first use in this function) b_sizeof.c:27: error: (Each undeclared identifier is reported only once b_sizeof.c:27: error: for each function it appears in.) b_sizeof.c:35: error: invalid application of 'sizeof' to incomplete type 'XPVBM' Size.xs: In function 'REGEXP_size': Size.xs:51: error: 'REGEXP' has no member named 'regstclass' Size.xs:51: error: 'REGEXP' has no member named 'regstclass' Size.xs:53: error: 'REGEXP' has no member named 'startp' Size.xs:53: error: 'REGEXP' has no member named 'startp' Size.xs:54: error: 'REGEXP' has no member named 'endp' Size.xs:54: error: 'REGEXP' has no member named 'endp' Size.xs:56: error: 'REGEXP' has no member named 'data' Size.xs:57: error: 'REGEXP' has no member named 'data' Size.xs:58: error: 'REGEXP' has no member named 'data' Size.xs:62: error: 'REGEXP' has no member named 'data' Size.xs:65: error: 'REGEXP' has no member named 'data' Size.xs: In function 'XS_B__OP_name': Size.xs:173: warning: unused variable 'RETVAL' Size.c: In function 'XS_B__OP_op_name': Size.c:278: warning: assignment discards qualifiers from pointer target type Size.c: In function 'XS_B__OP_op_desc': Size.c:301: warning: assignment discards qualifiers from pointer target type make[1]: *** [Size.o] Error 1
Cheers, -- Niko Tyni ntyni@debian.org
----- End forwarded message -----
|
| | Add comment |
Sunday, 17 February 2008
|
| Re: svn commit: r628359 - /perl/modperl/trunk/lib/ModPerl/WrapXS.pm Philippe M. Chiasson 11:01:36 |
| | randyk@apache.org wrote:
Author: randyk Date: Sat Feb 16 08:59:58 2008 New Revision: 628359 Log: replace & by & print "dhu!" x 1_000_000;
-- Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5 http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
|
| | Add comment |
|
| [RELEASE CANDIDATE] Apache-Reload-0.10-RC4 Fred Moyer 09:16:51 |
| | Greetings,
I've applied Steve's suggested changes to AddModule mod_perl.c if PERL is defined, this should take care of mod_perl.c not being listed in the module list under windows. Hoping this is the candidate that makes it out of the nest
It's located here - please take it for a spin if you have a chance.
http://people.apache.org/~phred/Apache-Reload-0.10-RC4.tar.gz
|
| | 2 answer | Add comment |
Saturday, 16 February 2008
|
| Apache2::compat and Apache->request Randy Kobes 22:06:57 |
| | Hi, As discussed at http://marc.info/?t=120291200200005&r=1&w=2 and pointed out by Perrin: http://marc.info/?l=apache-modperl&m=120301930604550&w=2 Apache2::compat doesn't provide the request method in the Apache namespace (it's currently defined in the Apache2::compat package). Thus, Apache->request() isn't available. The patch I supplied: http://marc.info/?l=apache-modperl&m=120302251910079&w=2 moved the request method to the Apache namespace. However, this alone is insufficient, as Apache2::compat makes reference to Apache2::compat::request() in a couple of places. For reasons of compatibility, would it be better to just supply an Apache::request() that calls Apache2::compat::request()? This is done in the attached patch.
-- best regards, Randy
Index: compat.pm =================================================================== --- compat.pm (revision 628371) +++ compat.pm (working copy) @@ -321,6 +321,10 @@ package Apache; +sub request { + return Apache2::compat::request(@_); +} + sub unescape_url_info { my ($class, $string) = @_; Apache2::URI::unescape_url($string);
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org For additional commands, e-mail: dev-help@perl.apache.org |
| | 1 answer | Add comment |
Friday, 15 February 2008
|
| use_ithreads Randy Kobes 23:52:26 |
| | Hi, I noticed with the recent changes to get mp2 to compile with perl-5.10, a couple of #ifdef USE_ITHREADS/#endif statements are needed to work with a non-ithread perl. This is attached.
One question I had about this - in the present xs/APR/Pool/APR__Pool.h, there's a "static" statement on a line by itself. I removed that in the attached diff, as I wasn't sure if that was a stray line, or was to be applied to the statement following it (or perhaps to both?).
-- best regards, Randy
Index: src/modules/perl/mod_perl.h =================================================================== --- src/modules/perl/mod_perl.h (revision 627863) +++ src/modules/perl/mod_perl.h (working copy) @@ -148,8 +148,10 @@ /* we need to hook a few internal things before APR_HOOK_REALLY_FIRST */ #define MODPERL_HOOK_REALLY_REALLY_FIRST (-20) +#ifdef USE_ITHREADS APR_DECLARE_OPTIONAL_FN(apr_status_t,modperl_interp_unselect,(void *)); APR_DECLARE_OPTIONAL_FN(modperl_interp_t *,modperl_thx_interp_get,(PerlInterpreter *)); +#endif /* * perl context overriding and restoration is required when Index: xs/APR/Pool/APR__Pool.h =================================================================== --- xs/APR/Pool/APR__Pool.h (revision 627863) +++ xs/APR/Pool/APR__Pool.h (working copy) @@ -40,10 +40,11 @@ #ifndef MP_SOURCE_SCAN #include "apr_optional.h" -static +#ifdef USE_ITHREADS APR_OPTIONAL_FN_TYPE(modperl_interp_unselect) *modperl_opt_interp_unselect; APR_OPTIONAL_FN_TYPE(modperl_thx_interp_get) *modperl_opt_thx_interp_get; #endif +#endif #define MP_APR_POOL_SV_HAS_OWNERSHIP(sv) mpxs_pool_is_custom(sv) Index: lib/ModPerl/WrapXS.pm =================================================================== --- lib/ModPerl/WrapXS.pm (revision 627863) +++ lib/ModPerl/WrapXS.pm (working copy) @@ -595,7 +595,7 @@ } } - if ($module eq 'APR::Pool') { + if ($module eq 'APR::Pool' && Apache2::Build::PERL_HAS_ITHREADS) { print $fh " modperl_opt_interp_unselect = APR_RETRIEVE_OPTIONAL_FN(modperl_interp_unselect);\n\n"; print $fh " modperl_opt_thx_interp_get = APR_RETRIEVE_OPTIONAL_FN(modperl_thx_interp_get);\n\n"; }
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org For additional commands, e-mail: dev-help@perl.apache.org |
| | Add comment |
Saturday, 9 February 2008
Wednesday, 6 February 2008
Friday, 1 February 2008
|
| mod_perl 1.21 RC2 Test Failure David E . Wheeler 22:50:29 |
| | Hey All,
So for the first time in years, I'm trying to run the test suite in mod_perl 1.31. The trouble is, the httpd.conf file that's getting written has =pod lines in it. WTF?
../apache_1.3.39/src/httpd -f `pwd`/t/conf/httpd.conf -X -d `pwd`/t Syntax error on line 3 of /usr/local/src/mod_perl-1.31-rc2/t/conf/ httpd.conf: Invalid command '=pod', perhaps mis-spelled or defined by a module not included in the server configuration
So the server never starts. I've attached the httpd.conf file.
Mac OS X 10.5.1 Leopard Perl 5.10.0 Apache 1.3.39
Thanks,
David
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org For additional commands, e-mail: dev-help@perl.apache.org |
| | 2 answer | Add comment |
Tuesday, 29 January 2008
|
| [RELEASE CANDIDATE] Apache-Reload 0.10 RC3 Fred Moyer 21:26:46 |
| | Greetings,
Third time is the charm RC1 and RC2 were missing t/conf/extra.conf.in from the MANIFEST.
I've updated the release procedure to run make disttest to identify these errors, and fixed the problem.
All tests pass for me on:
1) Leopard mp2, 5.8.8 2) Linux 2.6.22, mp1, mp2, 5.8.8
http://people.apache.org/~phred/Apache-Reload-0.10-RC3.tar.gz
|
| | 10 answers | Add comment |
|
| REDIRECT_ERROR_NOTES doesn't work in Apache 2? Help? Rando Christensen 14:52:32 |
| | Hi.
With apache 1.3, I've been using an ErrorDocument 500 handler, which is a locally-running cgi script. This script, after verifying that the request is coming from a developer, uses $ENV{REDIRECT_ERROR_NOTES} to discover what the server error was and print it in a nice, happy format.
When we upgraded to apache 2.0, this no longer works. All of the other expected REDIRECT_* variables exist, but ERROR_NOTES does not. I've spent all day googling and reading the apache documentation, and Can't find reference to this changing anywhere.
What is the proper way to handle this under Apache 2.0?
< Rando Christensen | eyez@illuzionz.org >
--------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org " from the digest: users-digest-unsubscribe@httpd.apache.org For additional commands, e-mail: users-help@httpd.apache.org
|
| | Add comment |
Friday, 25 January 2008
|
| error messages Mark A. Downing 17:56:22 |
| | I've searched and been unable to find an answer to this one...
I see this in my error log every so often. In this case, it's one client every three or four minutes...
[Thu Apr 01 06:24:14 2004] [error] [client xx.xx.xx.xx] request failed: error reading the headers
Is this a problem with the server, or the client browser?
--Mark
--------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org " from the digest: users-digest-unsubscribe@httpd.apache.org For additional commands, e-mail: users-help@httpd.apache.org
|
| | 23 answer | Add comment |
Thursday, 24 January 2008
|
| Re: [mp2 patch] Support for Perl 5.10 Torsten Foertsch 13:16:27 |
| | On Thu 24 Jan 2008, Philippe M. Chiasson wrote:
So this might be a good patch  I am curious to find out what this breaks. nice work. I have applied it to my threading branch and the test suite passes with a threaded apache 2.2.6, perl 5.8.8 on linux.
Torsten
|
| | Add comment |
Wednesday, 23 January 2008
|
| Apache::FakeRequest::import Conflict David E. Wheeler 22:03:58 |
| | Under Perl 5.10, Apache::FakeRequest offers up this helpful warning:
trigger% perl -lwe 'use Apache::FakeRequest' Name "Apache::FakeRequest" used only once: possible typo at /usr/local/ lib/perl5/site_perl/5.10.0/darwin-2level/Apache/FakeRequest.pm line 51.
It seems that import() is getting called and it is defined as an instance method. This patch fixes the issue:
--- lib/Apache/FakeRequest.pm 2007-11-11 21:35:46.000000000 -0800 +++ lib/Apache/FakeRequest.pm 2008-01-23 10:59:17.000000000 -0800 1:03:32.000000000 -0800 @@ -23,7 +23,7 @@ filename get_basic_auth_pw get_remote_host get_remote_logname handler hard_timeout header_in header_only header_out - headers_in headers_out hostname import + headers_in headers_out hostname internal_redirect_handler is_initial_req is_main kill_timeout log_error log_reason lookup_file lookup_uri main @@ -68,6 +68,7 @@ parse_args(wantarray, $r->{args}); }
+sub import { shift->elem('import', @_) if ref $_[0] }
{ my @code;
Best,
David
|
| | Add comment |
|
| [Fwd: [rt.cpan.org #32486] ModPerl::MM: no include path for apr.h] Geoffrey Young 21:49:43 |
| |
-------- Original Message -------- Subject: [rt.cpan.org #32486] ModPerl::MM: no include path for apr.h Date: Mon, 21 Jan 2008 14:08:48 -0500 From: Malcolm J Harwood via RT <bug-mod_perl@rt.cpan.org> Reply-To: bug-mod_perl@rt.cpan.org To: undisclosed-recipients:; References: <RT-Ticket-32486@rt.cpan.org>
Mon Jan 21 14:08:46 2008: Request 32486 was acted upon. Transaction: Ticket created by MJH Queue: mod_perl Subject: ModPerl::MM: no include path for apr.h Broken in: 2.0.2 Severity: Important Owner: Nobody Requestors: mjh@cpan.org Status: new Ticket <URL: http://rt.cpan.org/Ticket/Display.html?id=32486 >
Newer versions of the libapr have renamed apr-config to apr-1-config, and put the headers in /usr/include/apr-1/. Not all distributions provide backwards compatibility/alternates symlinks.
The makefile creation code isn't handling this case, so modules that use ModPerl::MM don't see the apr headers without explicitly adding the include path.
|
| | Add comment |
Wednesday, 16 January 2008
|
| [RELEASE CANDIDATE] mod_perl-1.31 RC2 Philippe M. Chiasson 11:55:51 |
| | The mod_perl 1.31 release candidate 2 "Works with Perl 5.10" is ready. It can be downloaded here:
http://www.apache.org/~gozer/mp1/mod_perl-1.31-rc2.tar.gz
MD5: c75546ec99a791fe97fd7af7d1ab65b2 SHA1: e61ba31154fe13432300bde0ba62fcd2abcb4ac1
The summary of what has changed since 1.30 are (from Changes):
Fixed modules/regex.t test 4 on Win32 [Steve Hay]
Avoid possible segfault when PerlFreshRestart is On. [Michael Rendell <michael@cs.mun.ca>]
Prevent segfault when running with perl >= 5.9.3 [Steve Hay]
Fix shared libary extensions on Win32 to be .dll not .so [Nikolay Ananiev <ananiev@thegdb.com>]
Patch to mod_perl.dsp to remove /D _WINSOCK2API_ on Win32 for perl >= 5.8.6 [Steve Hay]
-- Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5 http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
|
| | 1 answer | Add comment |
Sunday, 13 January 2008
|
| Re: BUG: MP_CODE_ATTRS() is broken under perl 5.10.0 Fred Moyer 05:07:32 |
| | [moved to dev list]
Philippe M. Chiasson wrote:
Michael Schout wrote: MP_CODE_ATTRS() doesn't work under perl 5.10.0. Does anyone have any ideas on how to fix this? Short answer, not yet. Slightly longer answer follows. The problem is that the different flavors of filter handlers need to be identified, and at that point, all that we got it a CV *. Using the hack you pointed out, we were able to piggyback to some unused portion of the CV*. Unfortunately, in 5.10, that field is now a union between 2 fields, so that no longer holds true. The solution will be to either find a new way to attach this information to a CV (I looked around, and nothing jumped at me), or we'll have to switch to storing this information separate of the CV itself (a cleaner, but potentially annoying solution). I was digging into this today trying to increase my knowledge of perl/mod_perl internals and I think I have grokked what you said here about why it is broken with 5.10.0.
As far as someplace to store this information separately, I'm going to go out on a limb here and look like I don't know what I'm talking about, but here goes, maybe at least I will learn something
1) add 'MpHV * codeattrs' somewhere ifdefined for perl > 5.9.5, to store the code attrs along with package name. maybe server_config is the correct place for this?
2) change MP_CODE_ATTRS macro to accept a package name SV rather than a CV. Use that SV to grab the corresponding value from codeattrs
3) in modperl_mgv.c line 274, 'hander->attrs = (U32)MP_CODE_ATTRS(name);'
4) in Apache2__Filter.h line 91, 'return (U32 *)&MP_CODE_ATTRS(package);'
I think I at least understand what you mean by this being an annoying solution. Storing this information separate of the CV seems like access to a pool object in some form is going to be needed.
|
| | Add comment |
Thursday, 10 January 2008
|
| perl 5.10 warning on the website? Heiko Jansen 17:34:35 |
| | I'm not a regular subscriber to this list but in the last weeks I had an eye on it 'cause I'm hoping for somebody fixing the issues with Perl 5.10 soon Finally this made me wonder if there shouldn't be a hint somewhere on perl.apache.org telling people that it's not yet wise to switch to Perl 5.10 if they also want to run mod_perl2?
heiko
|
| | Add comment |
Tuesday, 8 January 2008
|
| [RELEASE CANDIDATE] Apache-Reload 0.10 RC2 Fred Moyer 22:23:31 |
| | Greetings,
A second release candidate for Apache::Reload is available here:
http://people.apache.org/~phred/Apache-Reload-0.10-RC2.tar.gz
A check for Apache::Test 1.30 was added from RC1. Please try it out if you have a chance and report back success or failure.
Thanks,
Fred
|
| | Add comment |
Monday, 31 December 2007
|
| [PATCH 1/9] cleaning up trailing empty lines, expanding tabs and adding emacs local vars Torsten Foertsch 11:08:56 |
| | On Wed 14 Nov 2007, Philippe M. Chiasson wrote:
# cperl-indent-level: 4 # # indent-tabs-mode: nil # Can I take it as a "not at all" that you have left these comments in the Yes, don't mind at all. This is the first of set of patches that clean trailing empty lines in C files and trailing spaces from lines, expand tabs in C and Perl files and add emacs local variables to C and Perl files.
26.diff deletes existing emacs local vars from modperl_module.c and modperl_interp.c
27.diff deletes trailing spaces and trailing empty lines from C files
28.diff adds emacs local vars to C files
29.diff expands tabs in C files
30.diff expands tabs in *.p[lm] This patch is too big for the 100000 byte limit of the mailing list and will be sent in 2 parts.
31.diff adds emacs local vars to *.p[lm] In perl files this is done in the first line or the line after the shebang line. Thus the __DATA__ section is not touched. This patch is too big for the 100000 byte limit of the mailing list and will be sent in 2 parts.
32.diff does the same to t/.../*.t
33.diff expands tabs in ModPerl-Registry/t/*.t
34.diff adds emacs local vars to ModPerl-Registry/t/*.t
The diffs are from my local svn that was almost in sync with the threading branch except of t/response/TestPerl/ithreads3.pm and t/perl/ithreads3.t that do not exist yet in the threading branch.
Torsten
--------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org For additional commands, e-mail: dev-help@perl.apache.org |
| | 14 answers | Add comment |
|
| Please help adding ModPerl::Interpreter Torsten Foertsch 10:49:30 |
| | Hi,
for testing purposes I need an interface to the modperl_interp_t. That means I'd like to check the current interp's refcnt and num_requests members from perl level.
So I thought of adding a ModPerl::Interpreter XS module. But after reading http://perl.apache.org/docs/2.0/devel/core/explained.html I am only more confused.
Why is it so complicated to add a new XS module? Is it really necessary to edit all these tables and maps? Further, somewhere is said that the source scanning is not yet stable. In fact I have tried it some time ago and got completely different results.
I know how to create such a module outside modperl but it would depend on modperl. But I need it to test modperl itself. Hence I cannot build the module outside modperl because I would not be able to install it without modperl.
So, if someone knows better than me please help. A patch that adds a framework for the new module to modperl so that I could simply fill in my stuff would be best.
An explanation what to would also be most appreciated.
Thanks, Torsten
|
| | 25 answers | Add comment |
Sunday, 30 December 2007
|
| [mp2] mod_perl closes apache's stdin and/or stdout Dmitry Karasik 17:15:21 |
| | Hello,
As a follow-up to my previous bug report to users@, ( http://www.gossamer-threads.com/lists/modperl/modperl/94912 ) I'd like to re-post the same issue to dev@, because I'm unsure what is the status of this bugreport, and basically if it was recognized as one.
Just for the sake if the test wasn't reproduced correctly, I'll rerun:
1) test setup:
add to httpd.conf:
<LocationMatch "^/cgi-bin/m.cgi$"> SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOptions +ParseHeaders </LocationMatch>
<LocationMatch "^/cgi-bin/a.cgi$"> SetHandler cgi-script </LocationMatch>
both cgis are identical, and are:
#!/usr/bin/perl -w print "Content-type: text/html\n\n", $ENV{MOD_PERL}||'', "\n", <STDIN>, "\n";
test.pl:
open F, "|nc localhost 80"; # this requires netcat because I'm lazy print F <<R; POST /cgi-bin/m.cgi HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 13 Keep-Alive: 300
submit=Submit
POST /cgi-bin/a.cgi HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 13 Keep-Alive: 0 Connection: close
submit=Submit R
2)
- now, stop apache, run it from console as 'httpd -X' ( or apache2 -X on some linux distros) - run 'perl test.pl'
The bug manifests itself in that the following apache response is printed out (some lines are skipped):
HTTP/1.1 200 OK 1d mod_perl/2.0.3 submit=Submit 0
HTTP/1.1 200 OK Connection: close Content-Type: text/html 2 0
and the second request doesn't contain 'submit=Submit' line.
This can be fixed by applying the following patch:
--- modperl_io.c.orig 2007-09-25 15:36:02.000000000 +0200 +++ modperl_io.c 2007-09-25 15:35:51.000000000 +0200 @@ -129,6 +129,15 @@ Perl_croak(aTHX_ "Failed to dup STDIN: %" SVf, get_sv("!", TRUE)); }
+ /* In mixed environment of mod_perl and cgi scripts, cgi scripts may read content of + * POST requests off STDIN. do_close() calls actual close(0), freeing the descriptor 0 + * for reuse, and creating havoc for anyone reading from file descriptor 0. + * This hack changes the IO type to IoTYPE_STD, because do_close() does not call + * underlying close() on IO handles of these types, but does free the associated + * resources. */ + if ( IoIFP(io) && PerlIO_fileno(IoIFP(io)) == 0) + IoTYPE(io) = IoTYPE_STD; + /* similar to PerlIO::scalar, the PerlIO::Apache layer doesn't * have file descriptors, so STDIN must be closed before it can * be reopened */
So, I'm not sure what other information I can provide, please tell me if there's anything more, because I'd love to see that bug fixed.
-- Sincerely, Dmitry Karasik
|
| | 18 answers | Add comment |
|
| Failing tests - reason? Heiko Jansen 00:51:19 |
| | Hi *.
A few days ago I posted a message to the users list, reporting failing tests with modperl-dev, Apache 2.2.6 and Perl 5.10.0 (cf. http://www.gossamer-threads.com/lists/modperl/modperl/95979 and http://www.gossamer-threads.com/lists/modperl/modperl/95980). Maybe that should have gone to this list in the first place. Anyhow, the posting received no reply which still leaves me behind with two possible explanations: a) Either this is currently "expected behavior" due to issues with Perl 5.10.0. Which - in the tradition of "Doctor, it's hurts if I do this. - Don't do it, then." - means I should switch back to Perl 5.8.8 and update later. b) Or there is something else messed up with my build.
Since I don't know which one it is - could someone please give me a hint?
Thx Heiko
|
| | 3 answer | Add comment |
Friday, 28 December 2007
|
| Test failures with perl 5.10 Roderich Schupp 17:29:41 |
| | HI,
I'm trying to get mod_perl2 (2.0.3) working with perl 5.10.0. I've applied patch 480902 from SVN to get it to compile, but get failures in the test suite. Here's the output with TEST_VERBOSE=1 for t/filter/both_str_con_add.t:
/usr/sbin/apache2 -d /var/tmp/build/libapache2-mod-perl2-2.0.3/t -f /var/tmp/build/libapache2-mod-perl2-2.0.3/t/conf/httpd.conf -D APACHE2 -D PERL_USEITHREADS using Apache/2.2.6 (prefork MPM)
waiting 120 seconds for server to start: .[Fri Dec 28 14:31:57 2007] [warn] Useless use of AllowOverride in line 1381. [Fri Dec 28 14:31:58 2007] [info] 6 Apache2:: modules loaded [Fri Dec 28 14:31:58 2007] [info] 0 APR:: modules loaded [Fri Dec 28 14:31:58 2007] [info] base server + 29 vhosts ready to run tests waiting 120 seconds for server to start: ok (waited 7 secs) server localhost:8529 started server localhost:8530 listening (filter_out_apache) server localhost:8531 listening (perlsections) ... server localhost:8565 listening (TestHooks::push_handlers_anon) t/filter/both_str_con_add...... 1..4 # Running under perl version 5.010000 for linux # Current time local: Fri Dec 28 14:32:05 2007 # Current time GMT: Fri Dec 28 13:32:05 2007 # Using Test.pm version 1.25 # Using Apache/Test.pm version 1.29 ok 1 # expected: mod_perl # received: not ok 2 # Failed test 2 in t/filter/both_str_con_add.t at line 25 Failed 3/4 subtests
Test Summary Report ------------------- t/filter/both_str_con_add.t (Wstat: 13 Tests: 2 Failed: 1) Failed test number(s): 2 Parse errors: Bad plan. You planned 4 tests but ran 2. Files=1, Tests=2, 2 wallclock secs ( 0.02 usr 0.01 sys + 0.77 cusr 0.12 csys = 0.92 CPU) Result: FAIL Failed 1/1 test programs. 1/2 subtests failed.
And t/logs/error_log has:
END in modperl_extra.pl, pid=2924 [Fri Dec 28 14:32:04 2007] [notice] Apache/2.2.6 (Debian) world domination series/2.0 mod_perl/2.0.3 Perl/v5.10.0 configured -- resuming normal operations [Fri Dec 28 14:32:04 2007] [info] Server built: Dec 18 2007 09:46:51 [Fri Dec 28 14:32:04 2007] [debug] prefork.c(1014): AcceptMutex: sysvsem (default: sysvsem) [Fri Dec 28 14:32:07 2007] [error] Can't add connection filter handler 'TestFilter::both_str_con_add::in_filter' since it doesn't have the FilterConnectionHandler attribute set at /var/tmp/build/libapache2-mod-perl2-2.0.3/t/filter/TestFilter/both_str_con_add.pm line 25.\n [Fri Dec 28 14:32:07 2007] [info] Child process pid=2933 is exiting [Fri Dec 28 14:32:07 2007] [info] Child process pid=2933 is exiting - server push [Fri Dec 28 14:32:07 2007] [info] Child process pid=2934 is exiting [Fri Dec 28 14:32:07 2007] [info] Child process pid=2934 is exiting - server push END in modperl_extra.pl, pid=2934
I put in some printfs and see that setting MP_CODE_ATTRS in MPXS_modperl_filter_attributes from the sub' Perl attributes works correctly. However, when MP_CODE_ATTRS is checked in modperl_filter_runtime_add (that's where "Can't add connection filter handler..." above is issued from), handler->attrs has the value 0x8e1e240. This doesn't look like an OR if any MP_FILTER_* flags at all, but rather like the address of some perl structure.
I guess the problem is that
#define MP_CODE_ATTRS(cv) (CvXSUBANY((CV*)cv).any_i32)
but in perl 5.10 we have
#define CvXSUBANY(sv) ((XPVCV*)SvANY(sv))->xcv_start_u.xcv_xsubany #define CvSTART(sv) ((XPVCV*)SvANY(sv))->xcv_start_u.xcv_start
i.e. CvXSUBANY and CvSTART share the same storage location (probably under the assumption that the former is only relevant for XS subs and the latter only for real perl subs).
Cheers, Roderich
|
| | Add comment |
Thursday, 27 December 2007
|
| [Fwd: svn commit: r606831 - in /perl/modperl/trunk/t:
apr/pool_lifetime.t response/TestAPR/poo Fred Moyer 01:34:34 |
| | Gozer, I've refactored everything to use keep alives instead of sameinterp per your example and our discussion at ApacheCon. I haven't tested to see if it sped up running the test suite, but it should in theory since less attempts will be made to locate the correct interpreter.
There is still t/modperl/sameinterp.t and t/response/TestModperl/sameinterp.pm to implement the actual sameinterp mechanism. Should I remove those, or is there some part of it we need that keep_alives doesn't do?
- Fred
---------------------------- Original Message ---------------------------- Subject: svn commit: r606831 - in /perl/modperl/trunk/t: apr/pool_lifetime.t response/TestAPR/pool_lifetime.pm From: phred@apache.org Date: Tue, December 25, 2007 6:50 pm To: modperl-cvs@perl.apache.org --------------------------------------------------------------------------
Author: phred Date: Tue Dec 25 18:50:29 2007 New Revision: 606831
URL: http://svn.apache.org/viewvc?rev=606831&view=rev Log: Refactor to use keep_alives instead of TestCommon::SameInterp. As done originally in revision 594682 at ApacheCon 2007
Modified: perl/modperl/trunk/t/apr/pool_lifetime.t perl/modperl/trunk/t/response/TestAPR/pool_lifetime.pm
Modified: perl/modperl/trunk/t/apr/pool_lifetime.t URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/apr/pool_lifetime.t?rev=606831&r1=606830&r2=606831&view=diff ============================================================================== --- perl/modperl/trunk/t/apr/pool_lifetime.t (original) +++ perl/modperl/trunk/t/apr/pool_lifetime.t Tue Dec 25 18:50:29 2007 @@ -4,7 +4,7 @@ use Apache::Test; use Apache::TestUtil; use Apache::TestRequest; -use TestCommon::SameInterp; +Apache::TestRequest::user_agent(keep_alive => 1);
plan tests => 2, need 'HTML::HeadParser';
@@ -12,18 +12,14 @@ my $location = '/' . Apache::TestRequest::module2path($module);
t_debug "getting the same interp ID for $location"; -my $same_interp = Apache::TestRequest::same_interp_tie($location); - -my $skip = $same_interp ? 0 : 1;
for (1..2) { my $expected = "Pong"; - my $received = same_interp_req_body($same_interp, \&GET, $location); - $skip++ unless defined $received; - same_interp_skip_not_found( - $skip, + my $received = GET "$location"; + + ok t_cmp( + $received->content, $expected, - $received, - "Pong" + "Pong", ); }
Modified: perl/modperl/trunk/t/response/TestAPR/pool_lifetime.pm URL: http://svn.apache.org/viewvc/perl/modperl/trunk/t/response/TestAPR/pool_lifetime.pm?rev=606831&r1=606830&r2=606831&view=diff ============================================================================== --- perl/modperl/trunk/t/response/TestAPR/pool_lifetime.pm (original) +++ perl/modperl/trunk/t/response/TestAPR/pool_lifetime.pm Tue Dec 25 18:50:29 2007 @@ -23,5 +23,3 @@ }
1; -__END__ -PerlFixupHandler Apache::TestHandler::same_interp_fixup
|
| | 1 answer | Add comment |
|