On Fri, Dec 01, 2006 at 07:50:39AM -0500, David Golden <[EMAIL PROTECTED]>
wrote:
> >I've just had the same error from a different machine:
> >
> >t/01_basic....nyEven: not a valid method for AnyEvent objects at
> >t/01_basic.t line 8
>
> Ditto. After some digging, it looks like $AUTOLOAD is getting mangled
> before the method call (somewhere during detection of event modules),
> so that the method call turns into another call to AUTOLOAD().
>
> I saved it away in a lexical instead
>
> (my $fcn = $AUTOLOAD) =~ s/.*://;
This looks like a rather disastrous case of memory corruption. If hardware
can be ruled out, and issues like compilers too, it is likely a bug in perl.
As I cannot reproduce this with 5.8.8, could you try it with a current
version of perl to see wether this bug has been fixed in the meantime?
If it still happens in your config with 5.8.8, I am sure p5p will want to
hear about that. Can't have bytes in variables flip to zeroes accidentally
:)
> Also, for testing, you might want to force a particular event module
> rather than rely upon whatever gets detected.
The purpose of tests is actually to test stuff: Forcing the module to use
an event model that works over the one that will get used will only hide
bugs.
> You could even re-run the tests for each event module that is available.
That would be quite a bit more useful, but I won't have the time for that
:)
> have to use a code reference in @INC to make it work, but it would
> probably lead to better information back from your test reports as
> you'd be able to know exactly what the underlying module is.
Well, I doubt the event model makes a big difference.
And this case being a bug in the perl binary itself would not be helped by
knowing which Event model was used, for example :)
Thanks for your analysis so far!
--
The choice of a
-----==- _GNU_
----==-- _ generation Marc Lehmann
---==---(_)__ __ ____ __ [EMAIL PROTECTED]
--==---/ / _ \/ // /\ \/ / http://schmorp.de/
-=====/_/_//_/\_,_/ /_/\_\ XX11-RIPE