status of perl patch working around lack of TLS

Thorsten Glaser tg at mirbsd.de
Tue Jun 7 18:46:16 UTC 2011


Dominic Hargreaves dixit:

>- DEB_BUILD_OPTIONS=nocheck debuild -us -uc

I skipped that part because I already have the latest
Perl built and installed some time ago.

>- Revert debian/patches/debian/m68k_thread_stress.diff locally
>  (only patches the tests, so no rebuild needed)
>- ./perl -Ilib dist/threads-shared/t/stress.t
>- ./perl -Ilib dist/threads-shared/t/waithires.t
>
>Ought to do it, I think.

Sure does, but the first test fails. It does, however, run for
a while and produces a load of 40 during that time; is it sup-
posed to do that? How does that test fare on other really slow
architectures like avr32?

root at ara5:~ # uname -a
Linux ara5.mirbsd.org 2.6.39-1-atari #1 Sun May 22 15:49:20 UTC 2011 m68k GNU/Linux

root at ara5:~/perl-5.12.3 # perl dist/threads-shared/t/stress.t
1..1
not ok 1
# Test failed: 45 threads timed out
root at ara5:~/perl-5.12.3 # perl dist/threads-shared/t/waithires.t
1..57
ok 1 - Loaded
ok 2 - Shared synchronization tests preparation
ok 3 - cond_timedwait [simple]: obtained initial lock
ok 4 - cond_timedwait [simple]: child before lock
ok 5 - cond_timedwait [simple]: child obtained lock
ok 6 - cond_timedwait [simple]: child signalled condition
ok 7 - cond_timedwait [simple]: condition obtained
ok 8 - cond_timedwait [repeat]: obtained initial lock
ok 9 - cond_timedwait [repeat]: child before lock
ok 10 - cond_timedwait [repeat]: child obtained lock
ok 11 - cond_timedwait [repeat]: child signalled condition
ok 12 - cond_timedwait [repeat]: condition obtained
ok 13 - cond_timedwait [twain]: obtained initial lock
ok 14 - cond_timedwait [twain]: child before lock
ok 15 - cond_timedwait [twain]: child obtained lock
ok 16 - cond_timedwait [twain]: child signalled condition
ok 17 - cond_timedwait [twain]: condition obtained
ok 18 - cond_timedwait pause, timeout [simple]: obtained initial lock
ok 19 - cond_timedwait pause, timeout [simple]: timeout
ok 20 - cond_timedwait pause, timeout [repeat]: obtained initial lock
ok 21 - cond_timedwait pause, timeout [repeat]: timeout
ok 22 - cond_timedwait pause, timeout [twain]: obtained initial lock
ok 23 - cond_timedwait pause, timeout [twain]: timeout
ok 24 - cond_timedwait instant timeout [simple]: obtained initial lock
ok 25 - cond_timedwait instant timeout [simple]: timeout
ok 26 - cond_timedwait instant timeout [repeat]: obtained initial lock
ok 27 - cond_timedwait instant timeout [repeat]: timeout
ok 28 - cond_timedwait instant timeout [twain]: obtained initial lock
ok 29 - cond_timedwait instant timeout [twain]: timeout
ok 30 - Synchronization reference tests preparation
ok 31 - cond_timedwait [simple]: obtained initial lock
ok 32 - cond_timedwait [simple]: child before lock
ok 33 - cond_timedwait [simple]: child obtained lock
ok 34 - cond_timedwait [simple]: child signalled condition
ok 35 - cond_timedwait [simple]: condition obtained
ok 36 - cond_timedwait [repeat]: obtained initial lock
ok 37 - cond_timedwait [repeat]: child before lock
ok 38 - cond_timedwait [repeat]: child obtained lock
ok 39 - cond_timedwait [repeat]: child signalled condition
ok 40 - cond_timedwait [repeat]: condition obtained
ok 41 - cond_timedwait [twain]: obtained initial lock
ok 42 - cond_timedwait [twain]: child before lock
ok 43 - cond_timedwait [twain]: child obtained lock
ok 44 - cond_timedwait [twain]: child signalled condition
ok 45 - cond_timedwait [twain]: condition obtained
ok 46 - cond_timedwait pause, timeout [simple]: obtained initial lock
ok 47 - cond_timedwait pause, timeout [simple]: timeout
ok 48 - cond_timedwait pause, timeout [repeat]: obtained initial lock
ok 49 - cond_timedwait pause, timeout [repeat]: timeout
ok 50 - cond_timedwait pause, timeout [twain]: obtained initial lock
ok 51 - cond_timedwait pause, timeout [twain]: timeout
ok 52 - cond_timedwait instant timeout [simple]: obtained initial lock
ok 53 - cond_timedwait instant timeout [simple]: timeout
ok 54 - cond_timedwait instant timeout [repeat]: obtained initial lock
ok 55 - cond_timedwait instant timeout [repeat]: timeout
ok 56 - cond_timedwait instant timeout [twain]: obtained initial lock
ok 57 - cond_timedwait instant timeout [twain]: timeout
root at ara5:~/perl-5.12.3 # perl -V
Summary of my perl5 (revision 5 version 12 subversion 3) configuration:

  Platform:
    osname=linux, osvers=2.6.38-2-atari, archname=m68k-linux-gnu-thread-multi-64int
    uname='linux aranym.mirbsd.org 2.6.38-2-atari #1 mon may 9 16:39:31 utc 2011 m68k gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -fno-regmove -Dcccdlflags=-fPIC -Darchname=m68k-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.12 -Darchlib=/usr/lib/perl/5.12 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.12.3 -Dsitearch=/usr/local/lib/perl/5.12.3 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Duse64bitint -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -Ui_libutil -DDEBUGGING=-g -Doptimize=-O2 -Dplibpth=/lib/m68k-linux-gnu /usr/lib/m68k-linux-gnu -Duseshrplib -Dlibperl=libperl.so.5.12.3 -des'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=undef, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-regmove -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-regmove -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
    ccversion='', gccversion='4.4.6', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=2, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.13.so, so=so, useshrplib=true, libperl=libperl.so.5.12.3
    gnulibc_version='2.13'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'


Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_INT
                        USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF
                        USE_REENTRANT_API
  Locally applied patches:
        DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts
        DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable.
        DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN.
        DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check.
        DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information.
        DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories.
        DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes.
        DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes
        DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets.
        DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor.
        DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy.
        DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable.
        DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS.
        DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian
        DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy
        DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need.
        DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option
        DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules.
        DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
        DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib
        DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default.
        DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl.
        DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc
        DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64
        DEBPKG:fixes/cpanplus-without-home - http://bugs.debian.org/577011 [rt.cpan.org #52988] Fix CPANPLUS test failures when HOME doesn't exist
        DEBPKG:debian/arm_optim - http://bugs.debian.org/580334 Downgrade the optimization of sv.c on arm due to a gcc-4.4 bug
        DEBPKG:debian/deprecate-with-apt - http://bugs.debian.org/580034 Point users to Debian packages of deprecated core modules
        DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them
        DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
        DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes
        DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants
        DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding'
        DEBPKG:fixes/h2ph-gcc-4.5 - http://bugs.debian.org/599933 [8d66b3f] h2ph fix for gcc 4.5
        DEBPKG:fixes/casing-taint-cve-2011-1487 - http://bugs.debian.org/622817 [perl #87336] fix unwanted taint laundering in lc(), uc() et al.
        DEBPKG:fixes/correct-module-corelist-version - [a0a0e54] Correct the version of Module::CoreList that was released with v5.12.3
        DEBPKG:fixes/module-build-home-directory - http://bugs.debian.org/624850 [rt.cpan.org #67893] Fix failing tilde test when run under a UID without a passwd entry
        DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.12.3-7 in patchlevel.h
  Built under linux
  Compiled at May 25 2011 01:51:30
  @INC:
    /etc/perl
    /usr/local/lib/perl/5.12.3
    /usr/local/share/perl/5.12.3
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.12
    /usr/share/perl/5.12
    /usr/local/lib/site_perl
    .


bye,
//mirabilos
-- 
22:59⎜<Vutral> glaub ich termkit is kompliziert | glabe nicht das man
damit schneller arbeitet | reizüberflutung │ wie windows │ alles evil
zuviel bilder │ wie ein spiel | 23:00⎜<Vutral> die meisten raffen auch
nicht mehr von windows | 23:01⎜<Vutral> bilderbücher sind ja auch nich
wirklich verbreitet als erwachsenen literatur	‣ who needs GUIs thus?




More information about the Perl-maintainers mailing list