Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Not OK: perl v5.5.660 on alpha-dec_osf 5.0 (UNINSTALLED) #1208

Closed
p5pRT opened this issue Feb 22, 2000 · 7 comments
Closed

Not OK: perl v5.5.660 on alpha-dec_osf 5.0 (UNINSTALLED) #1208

p5pRT opened this issue Feb 22, 2000 · 7 comments

Comments

@p5pRT
Copy link

p5pRT commented Feb 22, 2000

Migrated from rt.perl.org#2189 (status was 'resolved')

Searchable as RT2189$

@p5pRT
Copy link
Author

p5pRT commented Feb 22, 2000

From spider@web.zk3.dec.com

-Dusemorebits (specifically, long double) fails on Tru64 UNIX machines
which have long double which is bigger than double, at least when it's
software emulated. The incorrect %ages from the harness output leads me
to think that it's really about long doubles though, and not just the
software emulation on older alpha chips. It didn't work at all
with -Dusemymalloc=y, by the way. That failed several assertions regard
trailing chunk overwrites. This may be because of a mismatch in alignment
assumptions with respect to long doubles.
Also, configpm generated a non-functional configpm.tmp file until I patched
it to use $^V instead of $]. Of the noted failures here, the
lib/io_multihomed test fails for me without long doubles as well, but the
other complaints are specific to long doubles.

Attached are the test harness output for the failing tests, plus the patch
for configpm to use $^V.

comp/use............FAILED tests 5-6
  Failed 2/15 tests, 0.00% okay
op/64bit............FAILED tests 28, 31
  Failed 2/34 tests, 0.00% okay
op/pack.............FAILED test 2
  Failed 1/156 tests, 0.00% okay
op/sprintf..........FAILED test 1
  Failed 1/4 tests, 0.00% okay
op/taint............FAILED test 30
  Failed 1/149 tests, 0.00% okay (-6 skipped tests​: 142 okay, 0.00%)
op/universal........FAILED test 64
  Failed 1/72 tests, 0.00% okay
pragma/locale.......# The following locales
#
# C POSIX de_CH.ISO8859-1 de_DE.ISO8859-1 en_GB.ISO8859-1
# en_US.ISO8859-1 en_US.cp850 fi_FI.ISO8859-1 it_IT.ISO8859-1
# nl_BE.ISO8859-1 nl_NL.ISO8859-1 no_NO.ISO8859-1 sv_SE.ISO8859-1
#
# tested okay.
#
FAILED tests 105-106, 108-109, 114
  Failed 5/115 tests, 0.00% okay
pragma/overload.....FAILED tests 149, 151, 167, 169
  Failed 4/208 tests, 0.00% okay
lib/bigfltpm........FAILED tests 90-97, 101-110, 114-123, 127-136, 140-149, 153-162, 166-167
  Failed 60/362 tests, 0.00% okay
lib/complex.........FAILED tests 546, 548, 556, 645-646, 662
  Failed 6/1010 tests, 0.00% okay
lib/io_multihomed...Socket is already connected at lib/io_multihomed.t line 108.
FAILED tests 6-7
  Failed 2/8 tests, 0.00% okay
Failed Test Status Wstat Total Fail Failed List of failed
-------------------------------------------------------------------------------
comp/use.t 15 2 13.33% 5-6
lib/bigfltpm.t 362 60 16.57% 90-97, 101-110, 114-123, 127-136,
  140-149, 153-162, 166-167
lib/complex.t 1010 6 0.59% 546, 548, 556, 645-646, 662
lib/io_multihom 8 2 25.00% 6-7
op/64bit.t 34 2 5.88% 28, 31
op/pack.t 156 1 0.64% 2
op/sprintf.t 4 1 25.00% 1
op/taint.t 149 1 0.67% 30
op/universal.t 72 1 1.39% 64
pragma/locale.t 115 5 4.35% 105-106, 108-109, 114
pragma/overload 208 4 1.92% 149, 151, 167, 169
6 subtests skipped.
Failed 11/11 test scripts, 0.00% okay. 85/2133 subtests failed, 0.00% okay.

Inline Patch
--- configpm.DIST	Thu Dec 30 16:26:12 1999
+++ configpm	Tue Feb 22 13:23:46 2000
@@ -17,7 +17,7 @@
 
 
 open CONFIG, ">$config_pm" or die "Can't open $config_pm: $!\n";
-$myver = $];
+$myver = sprintf "v%vd", $^V;
 
 print CONFIG <<'ENDOFBEG_NOQ', <<"ENDOFBEG";
 package Config;
@@ -38,8 +38,9 @@
 }
 
 ENDOFBEG_NOQ
-\$] == $myver
-  or die "Perl lib version ($myver) doesn't match executable version (\$])";
+\$^V eq $myver
+  or die "Perl lib version ($myver) doesn't match executable version (" .
+    (sprintf "v%vd",\$^V) . ")";
 
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.
Perl Info


Site configuration information for perl v5.5.660:

Configured by spider at Tue Feb 22 11:58:58 EST 2000.

Summary of my perl5 (revision 5.0 version 5 subversion 660) configuration:
  Platform:
    osname=dec_osf, osvers=5.0, archname=alpha-dec_osf
    uname='osf1 web.zk3.dec.com t5.0 795.2 alpha '
    config_args='-dsEO -Darchlib=/local/opt/perl/lib/5.5.660/alpha-dec_osf -Darchname=alpha-dec_osf -Dbin=/local/bin/exp -Dbinexp=/local/bin/exp -Dcc=cc -Dccflags=-std -I/usr/local/include -DDEBUGGING -DDEBUGGING_OPS -D_INTRINSICS -D_INLINE_INTRINSICS -Drand=__random -Dsrand=__srandom -DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC -DEMBEDMYMALLOC= -DPERL_INTERNAL_GLOB -fprm d -ieee -Ud_bincompat3 -Ud_bincompat5005 -Dd_dosuid=define -Dinc_version_list=  -Uinc_version_list_init= -Dinstallbin=/local/OSF1/alpha/bin/exp -Uinstallstyle= -Dlddlflags=-shared -msym -expect_unresolved "*" -g -std -Dldflags=-std -msym -g -Dlibswanted=sfio gdbm m -Ulibsfiles= -Ulibsfound= -Dman1dir=/local/man/man1 -Dman1ext=1 -Dman3dir=/local/man/man3 -Dman3ext=3pl -Doptimize=-g -Dpager=/local/bin/less -Dprefix=/local/opt/perl -Dscriptdir=/local/share/exp -Dsitebin=/local/opt/perl/lib/5.5.660/alpha-dec_osf/bin -Dsitevers=5.5.660 -Usitebinexp= -Uinstallsitebin= -Dsitelib=/local/opt/perl/lib/site_perl/5.5.660 -Ds!
 itearch=/local/opt/perl/lib/site_perl/5.5.660/alpha-dec_osf -Duseshrplib -Ud_safemcpy= -Ud_sfio= -Ui_dbm -Uinstallarchlib= -Uinstallprivlib= -Uinstallscript= -Uinstallsitearch= -Uinstallsitelib= -Uinstallusrbinperl -Ulibs= -Uperlpath= -Uprivlib= -Urandbits= -Uusethreads -Dusemymalloc=y -Dusemorebits -Dusemymalloc=n -e'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef
    usesocks=undef useperlio=undef d_sfio=undef
    use64bits=define uselargefiles=define usemultiplicity=undef
  Compiler:
    cc='cc', optimize='-g', gccversion=
    cppflags='-std -I/usr/local/include -DDEBUGGING -DDEBUGGING_OPS -D_INTRINSICS -D_INLINE_INTRINSICS -Drand=__random -Dsrand=__srandom -DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC -DEMBEDMYMALLOC= -DPERL_INTERNAL_GLOB -ieee'
    ccflags ='-std -I/usr/local/include -DDEBUGGING -DDEBUGGING_OPS -D_INTRINSICS -D_INLINE_INTRINSICS -Drand=__random -Dsrand=__srandom -DUSE_PERL_SBRK -DPERL_SBRK_VIA_MALLOC -DEMBEDMYMALLOC= -DPERL_INTERNAL_GLOB -fprm d -ieee'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=8, ptrsize=8, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='long double', nvsize=16, Off_t='off_t', lseeksize=8
    alignbytes=16, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='ld', ldflags ='-std -msym -g -L/usr/local/lib'
    libpth=/usr/local/lib /usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib
    libs=-lm
    libc=/usr/shlib/libc.so, so=so, useshrplib=true, libperl=libperl.so
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-rpath,/local/opt/perl/lib/5.5.660/alpha-dec_osf/CORE'
    cccdlflags=' ', lddlflags='-shared -msym -expect_unresolved "*" -g -std -L/usr/local/lib'

Locally applied patches:
    


@INC for perl v5.5.660:
    lib
    /local/opt/perl/lib/5.5.660/alpha-dec_osf
    /local/opt/perl/lib/5.5.660
    /local/opt/perl/lib/site_perl
    .


Environment for perl v5.5.660:
    HOME=/users/spider
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH=/local/src/perl/perl5.5.660
    LOGDIR (unset)
    PATH=/users/spider/bin/OSF1/alpha:/users/spider/bin:/local/OSF1/alpha/bin:/local/share:/local/OSF1/alpha/sbin:/local/etc:/local:/tcb/bin:/usr/bin/mh:/usr/ccs/bin:/usr/bin:/usr/lbin:/usr/bin/X11:/usr/sbin:/sbin:/etc:/usr/field:/usr/bin/X11/demos:.
    PERL_BADLANG (unset)
    SHELL=/usr/bin/ksh


@p5pRT
Copy link
Author

p5pRT commented Feb 22, 2000

From @jhi

with -Dusemymalloc=y, by the way. That failed several assertions regard
trailing chunk overwrites. This may be because of a mismatch in alignment
assumptions with respect to long doubles.

What's alignbytes in config.sh?

--
$jhi++; # http​://www.iki.fi/jhi/
  # There is this special biologist word we use for 'stable'.
  # It is 'dead'. -- Jack Cohen

@p5pRT
Copy link
Author

p5pRT commented Feb 22, 2000

From [Unknown Contact. See original ticket]

On Tue, 22 Feb 2000 20​:32​:10 +0200 (EET), Jarkko Hietaniemi wrote (in part)​:

jhi> What's alignbytes in config.sh?

alignbytes='16'

OK, so that wasn't it, even though that's what it looked like
from the difference in behavior. I don't claim to have bothered
to understand perl's malloc well enough to know whether that
rules out an alignment or allocation conflict, though.

  --spider

@p5pRT
Copy link
Author

p5pRT commented Feb 22, 2000

From @gsar

On Tue, 22 Feb 2000 13​:25​:50 EST, Spider Boardman wrote​:

-Dusemorebits (specifically, long double) fails on Tru64 UNIX machines
which have long double which is bigger than double, at least when it's
software emulated. The incorrect %ages from the harness output leads me
to think that it's really about long doubles though, and not just the
software emulation on older alpha chips. It didn't work at all
with -Dusemymalloc=y, by the way. That failed several assertions regard
trailing chunk overwrites. This may be because of a mismatch in alignment
assumptions with respect to long doubles.
Also, configpm generated a non-functional configpm.tmp file until I patched
it to use $^V instead of $].

That seems suspect somehow ($] should work like it has always done).
Something like what you've done for configpm is needed, but it looks
as though it might be covering up a valid bug in how $] is handled with
longdoubles.

--- configpm.DIST Thu Dec 30 16​:26​:12 1999
+++ configpm Tue Feb 22 13​:23​:46 2000
@​@​ -17,7 +17,7 @​@​

open CONFIG, ">$config_pm" or die "Can't open $config_pm​: $!\n";
-$myver = $];
+$myver = sprintf "v%vd", $^V;

BTW, I left Config.pm with $] so that is will continue to produce a
meaningful message with older Perls.

We should use something like what perlbug has​:

  my $perl_version = $^V ? sprintf("v%vd", $^V) : $];
  ..etc..

Sarathy
gsar@​ActiveState.com

@p5pRT
Copy link
Author

p5pRT commented Feb 22, 2000

From @jhi

Spider Boardman writes​:

On Tue, 22 Feb 2000 20​:32​:10 +0200 (EET), Jarkko Hietaniemi wrote (in part)​:

jhi> What's alignbytes in config.sh?

alignbytes='16'

OK, so that wasn't it, even though that's what it looked like
from the difference in behavior. I don't claim to have bothered
to understand perl's malloc well enough to know whether that
rules out an alignment or allocation conflict, though.

The numerous failures caused by using long doubles may be symptoms of
NV formatting in sv.c​:Perl_sv_vcatpvfn() stomping over the output buffer?

\-\-spider

--
$jhi++; # http​://www.iki.fi/jhi/
  # There is this special biologist word we use for 'stable'.
  # It is 'dead'. -- Jack Cohen

@p5pRT
Copy link
Author

p5pRT commented Feb 23, 2000

From [Unknown Contact. See original ticket]

Gurusamy Sarathy <gsar@​ActiveState.com> wrote

BTW, I left Config.pm with $] so that is will continue to produce a
meaningful message with older Perls.

Eh? Surely each Perl comes with its own unique Config.pm?
How can "older Perls" be relevant?

Mike Guy

@p5pRT
Copy link
Author

p5pRT commented Feb 23, 2000

From @gsar

On Wed, 23 Feb 2000 14​:56​:03 GMT, "M.J.T. Guy" wrote​:

Gurusamy Sarathy <gsar@​ActiveState.com> wrote

BTW, I left Config.pm with $] so that is will continue to produce a
meaningful message with older Perls.

Eh? Surely each Perl comes with its own unique Config.pm?

People copying files around is not unheard of (especially in the
chronically clue challenged places).

How can "older Perls" be relevant?

They are, because Config.pm is already defensive enough to check the version
to make sure it ain't an old perl (hence the use of $] in the first place).
If we want to keep that, we'd better make it work like it should.

Sarathy
gsar@​ActiveState.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant