modperl-weird_prob_perl_error_message_treated_as_code

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



Date: Tue,  5 Sep 2000 01:25:39 -0500
From: Ken Williams <ken@forum.swarthmore.edu>
Subject: Re: Can't locate object method "No" via package "such"
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>

aderhaag@wolfenet.com (Alan E. Derhaag) wrote:
>I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
>mod_perl defining the SSL_BASE to the apache src and now the thing
>won't start and complains about:
>
> Can't locate object method "No" via package "such" at /dev/null line 1.
>
>The compile had no warnings or errors except a `assignment discards
>`const' from pointer target type' warning.
>
>I've grepped the source for all (including openssl) and find nothing
>that might emit this error.
>
>Can I get a recommendation of where to look next?

This is pretty funny.  Somehow an error message "No such
something-or-other" is being interpreted as Perl code.  I don't know why
it thinks the file is /dev/null, but I'd grep for "No such" in your code
and see where that error message might be issued/misinterpreted.

===

Date: Tue, 5 Sep 2000 02:31:39 -0400 (EDT)
From: Billy Donahue <billy@dadadada.net>
To: Ken Williams <ken@forum.swarthmore.edu>
Subject: Re: Can't locate object method "No" via package "such"

On Tue, 5 Sep 2000, Ken Williams wrote:

> This is pretty funny.  Somehow an error message "No such
> something-or-other" is being interpreted as Perl code.  I don't know why
> it thinks the file is /dev/null, but I'd grep for "No such" in your code
> and see where that error message might be issued/misinterpreted.

Failing that, see if $! is being abused.  $! would contain
the text "No such file or directory" after a failed open
attempt, for example.

===

Date: Mon, 25 Sep 2000 12:38:52 -0700 (PDT)
From: Doug MacEachern <dougm@covalent.net>
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>
Subject: Re: Can't locate object method "No" via package "such"

On 4 Sep 2000, Alan E. Derhaag wrote:

> I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
> mod_perl defining the SSL_BASE to the apache src and now the thing
> won't start and complains about:
> 
>  Can't locate object method "No" via package "such" at /dev/null line 1.

looks to me like /dev/null is broken.  if you run:
% cat /dev/null

you'll probably see something like "No such file or directory",
but of course /dev/null is always supposed to be empty.  you should be
able to fix with:

% sudo echo > /dev/null

but that may only be a short-term fix if your /dev/null is broken, i'm not
sure how to properly fix it. 

===
From: Jerrad Pierce <Jerrad.Pierce@networkengines.com>
To: "'Doug MacEachern'" <dougm@covalent.net>,
Cc: modperl@apache.org
Subject: RE: Can't locate object method "No" via package "such"
Date: Mon, 25 Sep 2000 15:42:27 -0400

man null

on Linux you need to do:  mknod -m 666 /dev/null c 1 3


>-----Original Message-----
>From: Doug MacEachern [mailto:dougm@covalent.net]
>Sent: Monday, September 25, 2000 3:39 PM
>To: Alan E. Derhaag
>Cc: modperl@apache.org
>Subject: Re: Can't locate object method "No" via package "such"
>
>
>On 4 Sep 2000, Alan E. Derhaag wrote:
>
>> I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
>> mod_perl defining the SSL_BASE to the apache src and now the thing
>> won't start and complains about:
>> 
>>  Can't locate object method "No" via package "such" at 
>/dev/null line 1.
>
>looks to me like /dev/null is broken.  if you run:
>% cat /dev/null
>
>you'll probably see something like "No such file or directory",
>but of course /dev/null is always supposed to be empty.  you should be
>able to fix with:
>
>% sudo echo > /dev/null
>
>but that may only be a short-term fix if your /dev/null is 
>broken, i'm not
>sure how to properly fix it. 
>
===

To: Doug MacEachern <dougm@covalent.net>
Cc: modperl@apache.org
Subject: Re: Can't locate object method "No" via package "such"
From: aderhaag@wolfenet.com (Alan E. Derhaag)
Date: 25 Sep 2000 19:29:23 -0700

Doug MacEachern <dougm@covalent.net> writes:

> On 4 Sep 2000, Alan E. Derhaag wrote:
> 
> > I upgraded to openssl-0.9.5a and recompiled apache w/mod_ssl and
> > mod_perl defining the SSL_BASE to the apache src and now the thing
> > won't start and complains about:
> > 
> >  Can't locate object method "No" via package "such" at /dev/null line 1.
> 
> looks to me like /dev/null is broken.  if you run:
> % cat /dev/null
> 

Good try, but /dev/null is not broken on my machine.

I finally gave up and eliminated the DSO version by compiling two
versions of httpd.  Both include mod_ssl but the Engine is only turned
on with the light server.

I did find a slight problem when running `configtest' but I doubt that
that could have been the problem.

===

From: Doug MacEachern <dougm@covalent.net>
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>
Subject: Re: Can't locate object method "No" via package "such"

On 25 Sep 2000, Alan E. Derhaag wrote:
> 
> Good try, but /dev/null is not broken on my machine.

ok, i have seen this happen at least once in the past, glad it's not a
common problem.  looking back now at some other mod_ssl fixes for 'make
test', i'm reading that mod_ssl has some sort of problem with /dev/null.
i don't know the details, but maybe this patch will fix the problem for
you.  however, we had switched from -e0 to /dev/null in mod_perl-1.17,
something todo with suexec/setuid, which i think will still be a problem
looking at perl.c:

	    if (PL_euid != PL_uid || PL_egid != PL_gid)
		Perl_croak(aTHX_ "No -e allowed in setuid scripts");


--- src/modules/perl/mod_perl.c 2000/09/01 05:23:17     1.126
+++ src/modules/perl/mod_perl.c 2000/09/26 17:03:39
@@ -668,7 +668,7 @@
 #ifdef WIN32
     argv[argc++] = "nul";
 #else
-    argv[argc++] = "/dev/null";
+    argv[argc++] = "-e0";
 #endif
 
     MP_TRACE_g(fprintf(stderr, "perl_parse args: "));


===

From: "Rob Bloodgood" <robb@empire2.com>
To: "Alan E. Derhaag" <aderhaag@wolfenet.com>
Cc: "Modperl" <modperl@apache.org>
Subject: RE: Can't locate object method "No" via package "such"
Date: Tue, 26 Sep 2000 11:31:46 -0700

Shoulda thought about your answer first, Doug.  :-)

I see this type of message ("error at /dev/null") when my mod_perl scripts
give warnings -w style instead of $r->warn.  For example, HTML::Embperl, or
Apache::Registry both do this.

The nature of the error message sez to me there is a mishandled error
somewhere, like possibly an eval that is turning into a method call:

eval { # read file here
       # file doesn't exist
       # error is
       No such file or directory
       # which is parsed by perl to something like:
       # such->No (file or directory)
     };

Which further tends to suggest that a necessary environment variable for SSL
is either not defined or pointing to the wrong place??

I would suggest *never* disregarding configtest errors... one poorly
indicative error message can be the final gasp of a long string of errors
caused by a simple typo or whatever several layers deep.

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu