httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: segfault in worker mpm
Date Fri, 08 Oct 2004 03:02:43 GMT
Stas Bekman wrote:
> Stas Bekman wrote:
> 
>> Philippe M. Chiasson wrote:
>>
>>>
>>>
>>> Stas Bekman wrote:
>>>
>>>> I did some binary search and found that:
>>>>
>>>> mp2-20040922 - no core
>>>> mp2-20040923 - core
>>>>
>>>> So we need to diff these two checkouts...
>>>
>>>
>>>
>>>
>>> For a start, I've got these changes exposed in between those 2 dates:
>>>
>>> http://www.apache.org/~gozer/mp2/2004-09-22+23/
>>
>>
>>
>> That's a handy output. I'll try applying each separately to see which 
>> one was the trigger.
> 
> 
> For some reason, your output doesn't match mine. for me the difference 
> between 22nd and 23 starts from 3428 [1] and goes into the next day, 
> which is not included in your output:
> 
> [1] http://www.apache.org/~gozer/mp2/2004-09-22+23/3428.patch
> 
> but I think I'm getting there....

It seems that this patch applied as reversed to the checkout from 23 Sept 
resolves the segfault in t/filter/both_str_req_add.t. As you can see all 
the changes are in creating new Vhosts entries.

However this doesn't resolve the current cvs problem, as I think there 
were more entries added after Sept 23th, that cause the latest one.

diff -ru --exclude=CVS t/hooks/TestHooks/init.pm t/hooks/TestHooks/init.pm
--- t/hooks/TestHooks/init.pm	2003-08-11 16:34:22.000000000 -0400
+++ t/hooks/TestHooks/init.pm	2004-09-22 21:44:10.000000000 -0400
@@ -54,11 +54,15 @@

  1;
  __DATA__
-PerlInitHandler TestHooks::init::second
-<Base>
+<NoAutoConfig>
+  <VirtualHost TestHooks::init>
      PerlModule      TestHooks::init
      PerlInitHandler TestHooks::init::first
-</Base>
-PerlResponseHandler TestHooks::init
-PerlResponseHandler TestHooks::init::response
-SetHandler modperl
+    <Location /TestHooks__init>
+        PerlInitHandler TestHooks::init::second
+        PerlResponseHandler TestHooks::init
+        PerlResponseHandler TestHooks::init::response
+        SetHandler modperl
+    </Location>
+  </VirtualHost>
+</NoAutoConfig>
diff -ru --exclude=CVS t/response/TestUser/rewrite.pm 
t/response/TestUser/rewrite.pm
--- t/response/TestUser/rewrite.pm	2004-07-09 17:52:49.000000000 -0400
+++ t/response/TestUser/rewrite.pm	2004-09-22 21:44:11.000000000 -0400
@@ -62,6 +62,7 @@
  1;
  __END__
  <NoAutoConfig>
+  <VirtualHost TestUser::rewrite>
      PerlModule              TestUser::rewrite
      PerlTransHandler        TestUser::rewrite::trans
      PerlMapToStorageHandler TestUser::rewrite::map2storage
@@ -69,5 +70,6 @@
          SetHandler modperl
          PerlResponseHandler TestUser::rewrite::response
      </Location>
+  </VirtualHost>
  </NoAutoConfig>

diff -ru --exclude=CVS t/modules/proxy.t t/modules/proxy.t
--- t/modules/proxy.t	2004-08-03 12:16:22.000000000 -0400
+++ t/modules/proxy.t	2004-09-22 21:44:11.000000000 -0400
@@ -3,14 +3,19 @@

  use Apache::Test;
  use Apache::TestUtil;
-
  use Apache::TestRequest;

-my $location = "/TestModules__proxy";
+my $module = 'TestModules::proxy';
+
+Apache::TestRequest::module($module);
+my $path     = Apache::TestRequest::module2path($module);
+my $config   = Apache::Test::config();
+my $hostport = Apache::TestRequest::hostport($config);
+t_debug("connecting to $hostport");

  plan tests => 1, (need_module('proxy') &&
                    need_access);

  my $expected = "ok";
-my $received = GET_BODY_ASSERT $location;
+my $received = GET_BODY_ASSERT "http://$hostport/$path";;
  ok t_cmp($received, $expected, "internally proxified request");
diff -ru --exclude=CVS t/response/TestModules/proxy.pm 
t/response/TestModules/proxy.pm
--- t/response/TestModules/proxy.pm	2004-07-09 04:01:21.000000000 -0400
+++ t/response/TestModules/proxy.pm	2004-09-22 21:44:11.000000000 -0400
@@ -43,6 +43,7 @@
  1;
  __END__
  <NoAutoConfig>
+  <VirtualHost TestModules::proxy>
      <IfModule mod_proxy.c>
          <Proxy http://@servername@:@port@/*>
              <IfModule @ACCESS_MODULE@>
@@ -59,5 +60,6 @@
              PerlResponseHandler TestModules::proxy::response
          </Location>
      </IfModule>
+  </VirtualHost>
  </NoAutoConfig>

diff -ru --exclude=CVS t/hooks/TestHooks/trans.pm t/hooks/TestHooks/trans.pm
--- t/hooks/TestHooks/trans.pm	2003-04-18 02:18:58.000000000 -0400
+++ t/hooks/TestHooks/trans.pm	2004-09-22 21:44:11.000000000 -0400
@@ -37,5 +37,12 @@

  1;
  __DATA__
-PerlResponseHandler Apache::TestHandler::ok1
-SetHandler modperl
+<NoAutoConfig>
+  <VirtualHost TestHooks::trans>
+    PerlTransHandler TestHooks::trans
+    <Location /TestHooks__trans>
+        PerlResponseHandler Apache::TestHandler::ok1
+        SetHandler modperl
+    </Location>
+  </VirtualHost>
+</NoAutoConfig>

diff -ru --exclude=CVS t/hooks/trans.t t/hooks/trans.t
--- t/hooks/trans.t	2003-03-31 23:39:30.000000000 -0500
+++ t/hooks/trans.t	2004-09-22 21:44:10.000000000 -0400
@@ -8,15 +8,20 @@
  use Apache2 ();
  use Apache::Const ':common';

+my $module = 'TestHooks::trans';
+Apache::TestRequest::module($module);
+my $path     = Apache::TestRequest::module2path($module);
+my $config   = Apache::Test::config();
+my $hostport = Apache::TestRequest::hostport($config);
+t_debug("connecting to $hostport");
+
  plan tests => 3;

  t_client_log_error_is_expected();
-ok GET_RC('/nope') == NOT_FOUND;
-
-my $module = '/TestHooks/trans.pm';
+ok t_cmp GET_RC("http://$hostport/nope"), NOT_FOUND;

-my $body = GET_BODY $module;
+my $body = GET_BODY "http://$hostport/TestHooks/trans.pm";

-ok $body =~ /package TestHooks::trans/;
+ok $body =~ /package $module/;

-ok GET_OK '/phooey';
+ok GET_OK "http://$hostport/phooey";



-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

Mime
View raw message