On 12/1/06, Marc Lehmann <[EMAIL PROTECTED]> wrote:
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?
It is.
$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=linux, osvers=2.6.17-10-generic, archname=i686-linux-64int-ld
uname='linux vulcan 2.6.17-10-generic #2 smp fri oct 13 18:45:35
utc 2006 i686 gnulinux '
config_args='-de -Dusedevel -Dprefix=/home/david/perl/5.8.8
-Dusemorebits -Uversiononly -Dmydomain=.hyperbolic.net
[EMAIL PROTECTED] [EMAIL PROTECTED] -Dcc=gcc'
hint=recommended, useposix=true, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=define use64bitall=undef uselongdouble=define
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-fno-strict-aliasing -pipe
-Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-fno-strict-aliasing -pipe -Wdeclaration-after-statement
-I/usr/local/include'
ccversion='', gccversion='4.1.2 20060928 (prerelease) (Ubuntu
4.1.1-13ubuntu5)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
ivtype='long long', ivsize=8, nvtype='long double', nvsize=12,
Off_t='off_t', lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -ldl -lm -lcrypt -lutil -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.4'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: PERL_MALLOC_WRAP USE_64_BIT_INT USE_LARGE_FILES
USE_LONG_DOUBLE USE_PERLIO
Built under linux
Compiled at Oct 30 2006 07:38:02
%ENV:
PERL5_CPANPLUS_CONFIG="/home/david/.cpanplus/config"
PERL_AUTHOR_TESTING="1"
@INC:
/home/david/perl/5.8.8/lib/5.8.8/i686-linux-64int-ld
/home/david/perl/5.8.8/lib/5.8.8
/home/david/perl/5.8.8/lib/site_perl/5.8.8/i686-linux-64int-ld
/home/david/perl/5.8.8/lib/site_perl/5.8.8
/home/david/perl/5.8.8/lib/site_perl
.
> 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're missing my broader point -- you're not running a controlled
test. For each Event module you support, you should force the usage
of a particular module if its available on the system running tests
(and skip otherwise). Then you could more easily isolate problems to
Event, Coro, Tk, etc.
> 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
:)
You don't have time to write it, or you don't have time to run the
tests? Some other "Any" interfaces allow specification of which
underlying module to use through the "use" line. All you have to do
is code that up and then cut/paste your test program for each
underlying event module and run/skip depending on if its available.
Well, I doubt the event model makes a big difference.
The event models rely on XS, right? So they can corrupt anything the
perl binary can corrupt.
Regards,
David