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

lib/locale.t test failure with perl-5.18.1 on hppa-unknown-linux-gnu #13220

Closed
p5pRT opened this issue Sep 2, 2013 · 23 comments

Comments

@p5pRT
Copy link

commented Sep 2, 2013

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

Searchable as RT119567$

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 2, 2013

From dave.anglin@bell.net

Created by dave.anglin@bell.net

The following test failure occurs running tests with perl 5.18.1​:

Can't load '../lib/auto/re/re.so' for module re​: ../lib/auto/re/re.so​: failed to
map segment from shared object​: Cannot allocate memory at ../lib/XSLoader.pm li
ne 68.
at ../lib/re.pm line 85.
Compilation failed in require at ../lib/utf8_heavy.pl line 4.
BEGIN failed--compilation aborted at ../lib/utf8_heavy.pl line 4.
Compilation failed in require at ../lib/utf8.pm line 17.
../lib/locale.t ...................................................
Dubious, test returned 255 (wstat 65280, 0xff00)
All 201 subtests passed

The problem can be reproduced using a simple configuration​:
./Configure -des -Dusedevel

The failure doesn't occur with "blead". It also wasn't present in 5.14.2.

I think it's unlikely that this is a simple memory allocation issue​:

dave@​mx3210​:~/perl/perl5$ ulimit -a
core file size (blocks, -c) 65536
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 32123
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 65536
cpu time (seconds, -t) unlimited
max user processes (-u) 32123
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
dave@​mx3210​:~/perl/perl5$ cat /proc/meminfo
MemTotal​: 8234328 kB
MemFree​: 4981796 kB
...

Failure is consistent.

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.18.1:

Configured by Debian Project at Sun Sep  1 15:10:55 EDT 2013.

Summary of my perl5 (revision 5 version 18 subversion 1) configuration:
   
  Platform:
    osname=linux, osvers=3.11.0-rc7+, archname=hppa-linux-gnu-thread-multi-64int
    uname='linux mx3210 3.11.0-rc7+ #1 smp sat aug 31 11:35:56 edt 2013 parisc64 gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -Wformat -Werror=format-security -Dldflags=  -Dlddlflags=-shared  -Dcccdlflags=-fPIC -Darchname=hppa-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.18 -Darchlib=/usr/lib/perl/5.18 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.18.1 -Dsitearch=/usr/local/lib/perl/5.18.1 -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 -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.18.1 -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-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='4.7.3', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=87654321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags ='  -L/usr/local/lib'
    libpth=/usr/local/lib /lib/hppa-linux-gnu /lib /usr/lib/hppa-linux-gnu /usr/lib
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=, so=so, useshrplib=true, libperl=libperl.so.5.18.1
    gnulibc_version='2.17'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared  -L/usr/local/lib'

Locally applied patches:
    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/libperl_embed_doc - http://bugs.debian.org/186778 Note that libperl-dev package is required for embedded linking
    DEBPKG:fixes/respect_umask - Respect umask during installation
    DEBPKG:debian/writable_site_dirs - Set umask approproately for site install directories
    DEBPKG:debian/extutils_set_libperl_path - EU:MM: Set location of libperl.a to /usr/lib
    DEBPKG:debian/no_packlist_perllocal - Don't install .packlist or perllocal.pod for perl or vendor
    DEBPKG:debian/prefix_changes - Fiddle with *PREFIX and variables written to the makefile
    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/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 - [rt.cpan.org #36038] http://bugs.debian.org/100195 Document the Net::SMTP 'Port' option
    DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local
    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:debian/deprecate-with-apt - http://bugs.debian.org/702096 Point users to Debian packages of deprecated core modules
    DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts
    DEBPKG:debian/skip-upstream-git-tests - Skip tests specific to the upstream Git repository
    DEBPKG:debian/patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.18.1-3 in patchlevel.h
    DEBPKG:debian/skip-kfreebsd-crash - http://bugs.debian.org/628493 [perl #96272] Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD
    DEBPKG:fixes/document_makemaker_ccflags - http://bugs.debian.org/628522 [rt.cpan.org #68613] Document that CCFLAGS should include $Config{ccflags}
    DEBPKG:debian/find_html2text - http://bugs.debian.org/640479 Configure CPAN::Distribution with correct name of html2text
    DEBPKG:debian/hurd_test_todo_syslog - http://bugs.debian.org/650093 Disable failing GNU/Hurd tests in cpan/Sys-Syslog/t/syslog.t
    DEBPKG:debian/hurd_test_skip_sigdispatch - http://bugs.debian.org/650188 Disable failing GNU/Hurd tests op/sigdispatch.t
    DEBPKG:debian/hurd_test_skip_stack - http://bugs.debian.org/650175 Disable failing GNU/Hurd tests dist/threads/t/stack.t
    DEBPKG:debian/hurd_test_skip_pipe - http://bugs.debian.org/650187 Disable failing GNU/Hurd tests io/pipe.t
    DEBPKG:debian/hurd_test_skip_io_pipe - http://bugs.debian.org/650096 Disable failing GNU/Hurd tests dist/IO/t/io_pipe.t
    DEBPKG:fixes/manpage_name_Test-Harness - http://bugs.debian.org/650451 [rt.cpan.org #73399] cpan/Test-Harness: add NAME headings in modules with POD
    DEBPKG:debian/makemaker-pasthru - http://bugs.debian.org/660195 [rt.cpan.org #28632] Make EU::MM pass LD through to recursive Makefile.PL invocations
    DEBPKG:debian/perl5db-x-terminal-emulator.patch - http://bugs.debian.org/668490 Invoke x-terminal-emulator rather than xterm in perl5db.pl
    DEBPKG:debian/cpan-missing-site-dirs - http://bugs.debian.org/688842 Fix CPAN::FirstTime defaults with nonexisting site dirs if a parent is writable
    DEBPKG:debian/hurd_net_ping_disable_test - http://bugs.debian.org/709385 Disable failing Net-Ping tests for GNU/Hurd
    DEBPKG:fixes/memoize_storable_nstore - [rt.cpan.org #77790] http://bugs.debian.org/587650 Memoize::Storable: respect 'nstore' option not respected
    DEBPKG:fixes/net_ftp_failed_command - [rt.cpan.org #37700] http://bugs.debian.org/491062 Net::FTP: cope gracefully with a failed command
    DEBPKG:fixes/perlbug-patchlist - [3541c11] http://bugs.debian.org/710842 [perl #118433] Make perlbug look up the list of local patches at run time
    DEBPKG:fixes/regexp-preserve - http://bugs.debian.org/718209 [perl #118213] [f4194b2] RT #118213: handle $r=qr/.../; /$r/p properly
    DEBPKG:fixes/regexp-preserve-testcases - http://bugs.debian.org/718209 [perl #118213] [4d7b2f5] Disable new //p tests
    DEBPKG:fixes/module_metadata_security_doc - [68cdd4b] CVE-2013-1437 documentation fix


@INC for perl 5.18.1:
    /etc/perl
    /usr/local/lib/perl/5.18.1
    /usr/local/share/perl/5.18.1
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.18
    /usr/share/perl/5.18
    /usr/local/lib/site_perl
    .


Environment for perl 5.18.1:
    HOME=/home/dave
    LANG=en_CA.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    PERL_BADLANG (unset)
    SHELL=/bin/bash

Complete configuration data for perl 5.18.1:

Author=''
CONFIG='true'
Date='$Date'
Header=''
Id='$Id'
Locker=''
Log='$Log'
PATCHLEVEL='18'
PERL_API_REVISION='5'
PERL_API_SUBVERSION='0'
PERL_API_VERSION='18'
PERL_CONFIG_SH='true'
PERL_PATCHLEVEL=''
PERL_REVISION='5'
PERL_SUBVERSION='1'
PERL_VERSION='18'
RCSfile='$RCSfile'
Revision='$Revision'
SUBVERSION='1'
Source=''
State=''
_a='.a'
_exe=''
_o='.o'
afs='false'
afsroot='/afs'
alignbytes='8'
ansi2knr=''
aphostname='/bin/hostname'
api_revision='5'
api_subversion='0'
api_version='18'
api_versionstring='5.18.0'
ar='ar'
archlib='/usr/lib/perl/5.18'
archlibexp='/usr/lib/perl/5.18'
archname='hppa-linux-gnu-thread-multi-64int'
archname64='64int'
archobjs=''
asctime_r_proto='REENTRANT_PROTO_B_SB'
awk='awk'
baserev='5.0'
bash=''
bin='/usr/bin'
bin_ELF='define'
binexp='/usr/bin'
bison='bison'
bootstrap_charset=''
byacc='byacc'
byteorder='87654321'
c=''
castflags='0'
cat='cat'
cc='cc'
cccdlflags='-fPIC'
ccdlflags='-Wl,-E'
ccflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccflags_nolargefiles='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include '
ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ccname='gcc'
ccsymbols=''
ccversion=''
cf_by='Debian Project'
cf_email='perl@packages.debian.org'
cf_time='Sun Sep  1 15:10:55 EDT 2013'
charbits='8'
charsize='1'
chgrp=''
chmod='chmod'
chown=''
clocktype='clock_t'
comm='comm'
compress=''
config_arg0='Configure'
config_arg1='-Dusethreads'
config_arg10='-Darchlib=/usr/lib/perl/5.18'
config_arg11='-Dvendorprefix=/usr'
config_arg12='-Dvendorlib=/usr/share/perl5'
config_arg13='-Dvendorarch=/usr/lib/perl5'
config_arg14='-Dsiteprefix=/usr/local'
config_arg15='-Dsitelib=/usr/local/share/perl/5.18.1'
config_arg16='-Dsitearch=/usr/local/lib/perl/5.18.1'
config_arg17='-Dman1dir=/usr/share/man/man1'
config_arg18='-Dman3dir=/usr/share/man/man3'
config_arg19='-Dsiteman1dir=/usr/local/man/man1'
config_arg2='-Duselargefiles'
config_arg20='-Dsiteman3dir=/usr/local/man/man3'
config_arg21='-Duse64bitint'
config_arg22='-Dman1ext=1'
config_arg23='-Dman3ext=3perl'
config_arg24='-Dpager=/usr/bin/sensible-pager'
config_arg25='-Uafs'
config_arg26='-Ud_csh'
config_arg27='-Ud_ualarm'
config_arg28='-Uusesfio'
config_arg29='-Uusenm'
config_arg3='-Dccflags=-DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -Wformat -Werror=format-security'
config_arg30='-Ui_libutil'
config_arg31='-Uversiononly'
config_arg32='-DDEBUGGING=-g'
config_arg33='-Doptimize=-O2'
config_arg34='-Duseshrplib'
config_arg35='-Dlibperl=libperl.so.5.18.1'
config_arg36='-des'
config_arg4='-Dldflags= '
config_arg5='-Dlddlflags=-shared '
config_arg6='-Dcccdlflags=-fPIC'
config_arg7='-Darchname=hppa-linux-gnu'
config_arg8='-Dprefix=/usr'
config_arg9='-Dprivlib=/usr/share/perl/5.18'
config_argc='36'
config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -D_FORTIFY_SOURCE=2 -g -O2 -Wformat -Werror=format-security -Dldflags=  -Dlddlflags=-shared  -Dcccdlflags=-fPIC -Darchname=hppa-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.18 -Darchlib=/usr/lib/perl/5.18 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.18.1 -Dsitearch=/usr/local/lib/perl/5.18.1 -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 -Uversiononly -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.18.1 -des'
contains='grep'
cp='cp'
cpio=''
cpp='cpp'
cpp_stuff='42'
cppccsymbols=''
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
cpplast='-'
cppminus='-'
cpprun='cc -E'
cppstdin='cc -E'
cppsymbols='__BIGGEST_ALIGNMENT__=8 __BYTE_ORDER__=4321 __CHAR16_TYPE__=short\ unsigned\ int __CHAR32_TYPE__=unsigned\ int __CHAR_BIT__=8 __DBL_DECIMAL_DIG__=17 __DBL_DENORM_MIN__=((double)4.9406564584124654e-324L) __DBL_DIG__=15 __DBL_EPSILON__=((double)2.2204460492503131e-16L) __DBL_HAS_DENORM__=1 __DBL_HAS_INFINITY__=1 __DBL_HAS_QUIET_NAN__=1 __DBL_MANT_DIG__=53 __DBL_MAX_10_EXP__=308 __DBL_MAX__=((double)1.7976931348623157e+308L) __DBL_MAX_EXP__=1024 __DBL_MIN_10_EXP__=(-307) __DBL_MIN__=((double)2.2250738585072014e-308L) __DBL_MIN_EXP__=(-1021) __DEC128_EPSILON__=1E-33DL __DEC128_MANT_DIG__=34 __DEC128_MAX__=9.999999999999999999999999999999999E6144DL __DEC128_MAX_EXP__=6145 __DEC128_MIN__=1E-6143DL __DEC128_MIN_EXP__=(-6142) __DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL __DEC32_EPSILON__=1E-6DF __DEC32_MANT_DIG__=7 __DEC32_MAX__=9.999999E96DF __DEC32_MAX_EXP__=97 __DEC32_MIN__=1E-95DF __DEC32_MIN_EXP__=(-94) __DEC32_SUBNORMAL_MIN__=0.000001E-95DF __DEC64_E
 PSILON__=1E-15DD __DEC64_MANT_DIG__=16 __DEC64_MAX__=9.999999999999999E384DD __DEC64_MAX_EXP__=385 __DEC64_MIN__=1E-383DD __DEC64_MIN_EXP__=(-382) __DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD __DEC_EVAL_METHOD__=2 __DECIMAL_DIG__=17 __ELF__=1 _FILE_OFFSET_BITS=64 __FINITE_MATH_ONLY__=0 __FLOAT_WORD_ORDER__=4321 __FLT_DECIMAL_DIG__=9 __FLT_DENORM_MIN__=1.4012984643248171e-45F __FLT_DIG__=6 __FLT_EPSILON__=1.1920928955078125e-7F __FLT_EVAL_METHOD__=0 __FLT_HAS_DENORM__=1 __FLT_HAS_INFINITY__=1 __FLT_HAS_QUIET_NAN__=1 __FLT_MANT_DIG__=24 __FLT_MAX_10_EXP__=38 __FLT_MAX__=3.4028234663852886e+38F __FLT_MAX_EXP__=128 __FLT_MIN_10_EXP__=(-37) __FLT_MIN__=1.1754943508222875e-38F __FLT_MIN_EXP__=(-125) __FLT_RADIX__=2 __GLIBC__=2 __GLIBC_MINOR__=17 __GNUC__=4 __GNUC_GNU_INLINE__=1 __GNUC_MINOR__=7 __GNUC_PATCHLEVEL__=3 __GNU_LIBRARY__=6 __gnu_linux__=1 _GNU_SOURCE=1 __GXX_ABI_VERSION=1002 __hppa=1 __hppa__=1 __INT16_C=__INT16_C __INT16_MAX__=32767 __INT16_TYPE__=short\ int __INT32_C=__IN
 T32_C __INT32_MAX__=2147483647 __INT32_TYPE__=int __INT64_C=__INT64_C __INT64_MAX__=9223372036854775807LL __INT64_TYPE__=long\ long\ int __INT8_C=__INT8_C __INT8_MAX__=127 __INT8_TYPE__=signed\ char __INT_FAST16_MAX__=2147483647 __INT_FAST16_TYPE__=int __INT_FAST32_MAX__=2147483647 __INT_FAST32_TYPE__=int __INT_FAST64_MAX__=9223372036854775807LL __INT_FAST64_TYPE__=long\ long\ int __INT_FAST8_MAX__=127 __INT_FAST8_TYPE__=signed\ char __INT_LEAST16_MAX__=32767 __INT_LEAST16_TYPE__=short\ int __INT_LEAST32_MAX__=2147483647 __INT_LEAST32_TYPE__=int __INT_LEAST64_MAX__=9223372036854775807LL __INT_LEAST64_TYPE__=long\ long\ int __INT_LEAST8_MAX__=127 __INT_LEAST8_TYPE__=signed\ char __INT_MAX__=2147483647 __INTMAX_C=__INTMAX_C __INTMAX_MAX__=9223372036854775807LL __INTMAX_TYPE__=long\ long\ int __INTPTR_MAX__=2147483647 __INTPTR_TYPE__=int _LARGEFILE64_SOURCE=1 _LARGEFILE_SOURCE=1 __LDBL_DENORM_MIN__=4.9406564584124654e-324L __LDBL_DIG__=15 __LDBL_EPSILON__=2.2204460492503131e-16L __LDBL
 _HAS_DENORM__=1 __LDBL_HAS_INFINITY__=1 __LDBL_HAS_QUIET_NAN__=1 __LDBL_MANT_DIG__=53 __LDBL_MAX_10_EXP__=308 __LDBL_MAX__=1.7976931348623157e+308L __LDBL_MAX_EXP__=1024 __LDBL_MIN_10_EXP__=(-307) __LDBL_MIN__=2.2250738585072014e-308L __LDBL_MIN_EXP__=(-1021) __linux=1 __linux__=1 linux=1 __LONG_LONG_MAX__=9223372036854775807LL __LONG_MAX__=2147483647L __ORDER_BIG_ENDIAN__=4321 __ORDER_LITTLE_ENDIAN__=1234 __ORDER_PDP_ENDIAN__=3412 _PA_RISC1_1=1 _POSIX_C_SOURCE=200809L _POSIX_SOURCE=1 __PRAGMA_REDEFINE_EXTNAME=1 __PTRDIFF_MAX__=2147483647 __PTRDIFF_TYPE__=int _REENTRANT=1 __REGISTER_PREFIX__= __SCHAR_MAX__=127 __SHRT_MAX__=32767 __SIG_ATOMIC_MAX__=2147483647 __SIG_ATOMIC_MIN__=(-2147483647\ -\ 1) __SIG_ATOMIC_TYPE__=int __SIZE_MAX__=4294967295U __SIZEOF_DOUBLE__=8 __SIZEOF_FLOAT__=4 __SIZEOF_INT__=4 __SIZEOF_LONG__=4 __SIZEOF_LONG_DOUBLE__=8 __SIZEOF_LONG_LONG__=8 __SIZEOF_POINTER__=4 __SIZEOF_PTRDIFF_T__=4 __SIZEOF_SHORT__=2 __SIZEOF_SIZE_T__=4 __SIZEOF_WCHAR_T__=4 __SIZEOF_WINT_T_
 _=4 __SIZE_TYPE__=unsigned\ int __STDC__=1 __STDC_HOSTED__=1 __UINT16_C=__UINT16_C __UINT16_MAX__=65535 __UINT16_TYPE__=short\ unsigned\ int __UINT32_C=__UINT32_C __UINT32_MAX__=4294967295U __UINT32_TYPE__=unsigned\ int __UINT64_C=__UINT64_C __UINT64_MAX__=18446744073709551615ULL __UINT64_TYPE__=long\ long\ unsigned\ int __UINT8_C=__UINT8_C __UINT8_MAX__=255 __UINT8_TYPE__=unsigned\ char __UINT_FAST16_MAX__=4294967295U __UINT_FAST16_TYPE__=unsigned\ int __UINT_FAST32_MAX__=4294967295U __UINT_FAST32_TYPE__=unsigned\ int __UINT_FAST64_MAX__=18446744073709551615ULL __UINT_FAST64_TYPE__=long\ long\ unsigned\ int __UINT_FAST8_MAX__=255 __UINT_FAST8_TYPE__=unsigned\ char __UINT_LEAST16_MAX__=65535 __UINT_LEAST16_TYPE__=short\ unsigned\ int __UINT_LEAST32_MAX__=4294967295U __UINT_LEAST32_TYPE__=unsigned\ int __UINT_LEAST64_MAX__=18446744073709551615ULL __UINT_LEAST64_TYPE__=long\ long\ unsigned\ int __UINT_LEAST8_MAX__=255 __UINT_LEAST8_TYPE__=unsigned\ char __UINTMAX_C=__UINTMAX_C __UINTM
 AX_MAX__=18446744073709551615ULL __UINTMAX_TYPE__=long\ long\ unsigned\ int __UINTPTR_MAX__=4294967295U __UINTPTR_TYPE__=unsigned\ int __unix=1 __unix__=1 unix=1 __USE_BSD=1 __USE_FILE_OFFSET64=1 __USE_GNU=1 __USE_LARGEFILE=1 __USE_LARGEFILE64=1 __USE_MISC=1 __USE_POSIX=1 __USE_POSIX199309=1 __USE_POSIX199506=1 __USE_POSIX2=1 __USE_REENTRANT=1 __USER_LABEL_PREFIX__= __USE_SVID=1 __USE_UNIX98=1 __USE_XOPEN=1 __USE_XOPEN_EXTENDED=1 __VERSION__="4.7.3" __WCHAR_MAX__=2147483647L __WCHAR_MIN__=(-2147483647L\ -\ 1) __WCHAR_TYPE__=long\ int __WINT_MAX__=4294967295U __WINT_MIN__=0U __WINT_TYPE__=unsigned\ int _XOPEN_SOURCE=700 _XOPEN_SOURCE_EXTENDED=1'
crypt_r_proto='REENTRANT_PROTO_B_CCS'
cryptlib=''
csh='csh'
ctermid_r_proto='0'
ctime_r_proto='REENTRANT_PROTO_B_SB'
d_Gconvert='gcvt((x),(n),(b))'
d_PRIEUldbl='define'
d_PRIFUldbl='define'
d_PRIGUldbl='define'
d_PRIXU64='define'
d_PRId64='define'
d_PRIeldbl='define'
d_PRIfldbl='define'
d_PRIgldbl='define'
d_PRIi64='define'
d_PRIo64='define'
d_PRIu64='define'
d_PRIx64='define'
d_SCNfldbl='define'
d__fwalk=''
d_access='define'
d_accessx=''
d_aintl=''
d_alarm='define'
d_archlib='define'
d_asctime64=''
d_asctime_r='define'
d_atolf=''
d_atoll='define'
d_attribute_deprecated='define'
d_attribute_format='define'
d_attribute_malloc='define'
d_attribute_nonnull='define'
d_attribute_noreturn='define'
d_attribute_pure='define'
d_attribute_unused='define'
d_attribute_warn_unused_result='define'
d_bcmp='define'
d_bcopy='define'
d_bsd=''
d_bsdgetpgrp=''
d_bsdsetpgrp=''
d_builtin_choose_expr='define'
d_builtin_expect='define'
d_bzero='define'
d_c99_variadic_macros='define'
d_casti32='define'
d_castneg='define'
d_charvspr=''
d_chown='define'
d_chroot='define'
d_chsize=''
d_class=''
d_clearenv='define'
d_closedir='define'
d_cmsghdr_s='define'
d_const='define'
d_copysignl='define'
d_cplusplus=''
d_crypt='define'
d_crypt_r='define'
d_csh=''
d_ctermid='define'
d_ctermid_r=''
d_ctime64=''
d_ctime_r='define'
d_cuserid='define'
d_dbl_dig='define'
d_dbminitproto='define'
d_difftime='define'
d_difftime64=''
d_dir_dd_fd=''
d_dirfd='define'
d_dirnamlen=''
d_dlerror='define'
d_dlopen='define'
d_dlsymun=''
d_dosuid=''
d_drand48_r='define'
d_drand48proto='define'
d_dup2='define'
d_eaccess='define'
d_endgrent='define'
d_endgrent_r=''
d_endhent='define'
d_endhostent_r=''
d_endnent='define'
d_endnetent_r=''
d_endpent='define'
d_endprotoent_r=''
d_endpwent='define'
d_endpwent_r=''
d_endsent='define'
d_endservent_r=''
d_eofnblk='define'
d_eunice=''
d_faststdio='define'
d_fchdir='define'
d_fchmod='define'
d_fchown='define'
d_fcntl='define'
d_fcntl_can_lock='define'
d_fd_macros='define'
d_fd_set='define'
d_fds_bits='define'
d_fgetpos='define'
d_finite='define'
d_finitel='define'
d_flexfnam='define'
d_flock='define'
d_flockproto='define'
d_fork='define'
d_fp_class=''
d_fpathconf='define'
d_fpclass=''
d_fpclassify=''
d_fpclassl=''
d_fpos64_t=''
d_frexpl='define'
d_fs_data_s=''
d_fseeko='define'
d_fsetpos='define'
d_fstatfs='define'
d_fstatvfs='define'
d_fsync='define'
d_ftello='define'
d_ftime=''
d_futimes='define'
d_gdbm_ndbm_h_uses_prototypes=''
d_gdbmndbm_h_uses_prototypes=''
d_getaddrinfo='define'
d_getcwd='define'
d_getespwnam=''
d_getfsstat=''
d_getgrent='define'
d_getgrent_r='define'
d_getgrgid_r='define'
d_getgrnam_r='define'
d_getgrps='define'
d_gethbyaddr='define'
d_gethbyname='define'
d_gethent='define'
d_gethname='define'
d_gethostbyaddr_r='define'
d_gethostbyname_r='define'
d_gethostent_r='define'
d_gethostprotos='define'
d_getitimer='define'
d_getlogin='define'
d_getlogin_r='define'
d_getmnt=''
d_getmntent='define'
d_getnameinfo='define'
d_getnbyaddr='define'
d_getnbyname='define'
d_getnent='define'
d_getnetbyaddr_r='define'
d_getnetbyname_r='define'
d_getnetent_r='define'
d_getnetprotos='define'
d_getpagsz='define'
d_getpbyname='define'
d_getpbynumber='define'
d_getpent='define'
d_getpgid='define'
d_getpgrp='define'
d_getpgrp2=''
d_getppid='define'
d_getprior='define'
d_getprotobyname_r='define'
d_getprotobynumber_r='define'
d_getprotoent_r='define'
d_getprotoprotos='define'
d_getprpwnam=''
d_getpwent='define'
d_getpwent_r='define'
d_getpwnam_r='define'
d_getpwuid_r='define'
d_getsbyname='define'
d_getsbyport='define'
d_getsent='define'
d_getservbyname_r='define'
d_getservbyport_r='define'
d_getservent_r='define'
d_getservprotos='define'
d_getspnam='define'
d_getspnam_r='define'
d_gettimeod='define'
d_gmtime64=''
d_gmtime_r='define'
d_gnulibc='define'
d_grpasswd='define'
d_hasmntopt='define'
d_htonl='define'
d_ilogbl='define'
d_inc_version_list=''
d_index=''
d_inetaton='define'
d_inetntop='define'
d_inetpton='define'
d_int64_t='define'
d_ip_mreq='define'
d_ip_mreq_source='define'
d_ipv6_mreq='define'
d_ipv6_mreq_source=''
d_isascii='define'
d_isblank='define'
d_isfinite=''
d_isinf='define'
d_isnan='define'
d_isnanl='define'
d_killpg='define'
d_lchown='define'
d_ldbl_dig='define'
d_libm_lib_version='define'
d_link='define'
d_localtime64=''
d_localtime_r='define'
d_localtime_r_needs_tzset='define'
d_locconv='define'
d_lockf='define'
d_longdbl='define'
d_longlong='define'
d_lseekproto='define'
d_lstat='define'
d_madvise='define'
d_malloc_good_size=''
d_malloc_size=''
d_mblen='define'
d_mbstowcs='define'
d_mbtowc='define'
d_memchr='define'
d_memcmp='define'
d_memcpy='define'
d_memmove='define'
d_memset='define'
d_mkdir='define'
d_mkdtemp='define'
d_mkfifo='define'
d_mkstemp='define'
d_mkstemps='define'
d_mktime='define'
d_mktime64=''
d_mmap='define'
d_modfl='define'
d_modfl_pow32_bug=''
d_modflproto='define'
d_mprotect='define'
d_msg='define'
d_msg_ctrunc='define'
d_msg_dontroute='define'
d_msg_oob='define'
d_msg_peek='define'
d_msg_proxy='define'
d_msgctl='define'
d_msgget='define'
d_msghdr_s='define'
d_msgrcv='define'
d_msgsnd='define'
d_msync='define'
d_munmap='define'
d_mymalloc=''
d_ndbm='define'
d_ndbm_h_uses_prototypes=''
d_nice='define'
d_nl_langinfo='define'
d_nv_preserves_uv=''
d_nv_zero_is_allbits_zero='define'
d_off64_t='define'
d_old_pthread_create_joinable=''
d_oldpthreads=''
d_oldsock=''
d_open3='define'
d_pathconf='define'
d_pause='define'
d_perl_otherlibdirs=''
d_phostname=''
d_pipe='define'
d_poll='define'
d_portable='define'
d_prctl='define'
d_prctl_set_name='define'
d_printf_format_null='define'
d_procselfexe='define'
d_pseudofork=''
d_pthread_atfork='define'
d_pthread_attr_setscope='define'
d_pthread_yield='define'
d_pwage=''
d_pwchange=''
d_pwclass=''
d_pwcomment=''
d_pwexpire=''
d_pwgecos='define'
d_pwpasswd='define'
d_pwquota=''
d_qgcvt='define'
d_quad='define'
d_random_r='define'
d_readdir='define'
d_readdir64_r='define'
d_readdir_r='define'
d_readlink='define'
d_readv='define'
d_recvmsg='define'
d_rename='define'
d_rewinddir='define'
d_rmdir='define'
d_safebcpy=''
d_safemcpy=''
d_sanemcmp='define'
d_sbrkproto='define'
d_scalbnl='define'
d_sched_yield='define'
d_scm_rights='define'
d_seekdir='define'
d_select='define'
d_sem='define'
d_semctl='define'
d_semctl_semid_ds='define'
d_semctl_semun='define'
d_semget='define'
d_semop='define'
d_sendmsg='define'
d_setegid='define'
d_seteuid='define'
d_setgrent='define'
d_setgrent_r=''
d_setgrps='define'
d_sethent='define'
d_sethostent_r=''
d_setitimer='define'
d_setlinebuf='define'
d_setlocale='define'
d_setlocale_r=''
d_setnent='define'
d_setnetent_r=''
d_setpent='define'
d_setpgid='define'
d_setpgrp='define'
d_setpgrp2=''
d_setprior='define'
d_setproctitle=''
d_setprotoent_r=''
d_setpwent='define'
d_setpwent_r=''
d_setregid='define'
d_setresgid='define'
d_setresuid='define'
d_setreuid='define'
d_setrgid=''
d_setruid=''
d_setsent='define'
d_setservent_r=''
d_setsid='define'
d_setvbuf='define'
d_sfio=''
d_shm='define'
d_shmat='define'
d_shmatprototype='define'
d_shmctl='define'
d_shmdt='define'
d_shmget='define'
d_sigaction='define'
d_signbit='define'
d_sigprocmask='define'
d_sigsetjmp='define'
d_sin6_scope_id='define'
d_sitearch='define'
d_snprintf='define'
d_sockaddr_in6='define'
d_sockaddr_sa_len=''
d_sockatmark='define'
d_sockatmarkproto='define'
d_socket='define'
d_socklen_t='define'
d_sockpair='define'
d_socks5_init=''
d_sprintf_returns_strlen='define'
d_sqrtl='define'
d_srand48_r='define'
d_srandom_r='define'
d_sresgproto='define'
d_sresuproto='define'
d_statblks='define'
d_statfs_f_flags='define'
d_statfs_s='define'
d_static_inline='define'
d_statvfs='define'
d_stdio_cnt_lval=''
d_stdio_ptr_lval='define'
d_stdio_ptr_lval_nochange_cnt=''
d_stdio_ptr_lval_sets_cnt='define'
d_stdio_stream_array=''
d_stdiobase='define'
d_stdstdio='define'
d_strchr='define'
d_strcoll='define'
d_strctcpy='define'
d_strerrm='strerror(e)'
d_strerror='define'
d_strerror_r='define'
d_strftime='define'
d_strlcat=''
d_strlcpy=''
d_strtod='define'
d_strtol='define'
d_strtold='define'
d_strtoll='define'
d_strtoq='define'
d_strtoul='define'
d_strtoull='define'
d_strtouq='define'
d_strxfrm='define'
d_suidsafe=''
d_symlink='define'
d_syscall='define'
d_syscallproto='define'
d_sysconf='define'
d_sysernlst=''
d_syserrlst='define'
d_system='define'
d_tcgetpgrp='define'
d_tcsetpgrp='define'
d_telldir='define'
d_telldirproto='define'
d_time='define'
d_timegm='define'
d_times='define'
d_tm_tm_gmtoff='define'
d_tm_tm_zone='define'
d_tmpnam_r='define'
d_truncate='define'
d_ttyname_r='define'
d_tzname='define'
d_u32align='define'
d_ualarm=''
d_umask='define'
d_uname='define'
d_union_semun=''
d_unordered=''
d_unsetenv='define'
d_usleep='define'
d_usleepproto='define'
d_ustat='define'
d_vendorarch='define'
d_vendorbin='define'
d_vendorlib='define'
d_vendorscript='define'
d_vfork=''
d_void_closedir=''
d_voidsig='define'
d_voidtty=''
d_volatile='define'
d_vprintf='define'
d_vsnprintf='define'
d_wait4='define'
d_waitpid='define'
d_wcstombs='define'
d_wctomb='define'
d_writev='define'
d_xenix=''
date='date'
db_hashtype='u_int32_t'
db_prefixtype='size_t'
db_version_major='5'
db_version_minor='1'
db_version_patch='29'
defvoidused='15'
direntrytype='struct dirent'
dlext='so'
dlsrc='dl_dlopen.xs'
doublesize='8'
drand01='drand48()'
drand48_r_proto='REENTRANT_PROTO_I_ST'
dtrace=''
dynamic_ext='arybase attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads threads/shared Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap'
eagain='EAGAIN'
ebcdic=''
echo='echo'
egrep='egrep'
emacs=''
endgrent_r_proto='0'
endhostent_r_proto='0'
endnetent_r_proto='0'
endprotoent_r_proto='0'
endpwent_r_proto='0'
endservent_r_proto='0'
eunicefix=':'
exe_ext=''
expr='expr'
extensions='arybase attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads threads/shared Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap Archive/Extract Archive/Tar Attribute/Handlers autodie AutoLoader autouse base B/Debug B/Deparse bignum B/Lint Carp CGI Config/Perl/V constant CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest Dumpvalue encoding/warnings Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS FileC
 ache File/CheckTree File/Fetch File/Path File/Temp Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags if IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP lib libnet Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable Net/Ping NEXT Object/Accessor Package/Constants Params/Check parent Parse/CPAN/Meta perlfaq PerlIO/via/QuotedPrint Perl/OSType Pod/Checker Pod/Escapes Pod/Functions Pod/Html Pod/LaTeX podlators Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader'
extern_C='extern'
extras=''
fflushNULL='define'
fflushall=''
find=''
firstmakefile='makefile'
flex=''
fpossize='16'
fpostype='fpos_t'
freetype='void'
from=':'
full_ar='/usr/bin/ar'
full_csh='csh'
full_sed='/bin/sed'
gccansipedantic=''
gccosandvers=''
gccversion='4.7.3'
getgrent_r_proto='REENTRANT_PROTO_I_SBWR'
getgrgid_r_proto='REENTRANT_PROTO_I_TSBWR'
getgrnam_r_proto='REENTRANT_PROTO_I_CSBWR'
gethostbyaddr_r_proto='REENTRANT_PROTO_I_TsISBWRE'
gethostbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
gethostent_r_proto='REENTRANT_PROTO_I_SBWRE'
getlogin_r_proto='REENTRANT_PROTO_I_BW'
getnetbyaddr_r_proto='REENTRANT_PROTO_I_uISBWRE'
getnetbyname_r_proto='REENTRANT_PROTO_I_CSBWRE'
getnetent_r_proto='REENTRANT_PROTO_I_SBWRE'
getprotobyname_r_proto='REENTRANT_PROTO_I_CSBWR'
getprotobynumber_r_proto='REENTRANT_PROTO_I_ISBWR'
getprotoent_r_proto='REENTRANT_PROTO_I_SBWR'
getpwent_r_proto='REENTRANT_PROTO_I_SBWR'
getpwnam_r_proto='REENTRANT_PROTO_I_CSBWR'
getpwuid_r_proto='REENTRANT_PROTO_I_TSBWR'
getservbyname_r_proto='REENTRANT_PROTO_I_CCSBWR'
getservbyport_r_proto='REENTRANT_PROTO_I_ICSBWR'
getservent_r_proto='REENTRANT_PROTO_I_SBWR'
getspnam_r_proto='REENTRANT_PROTO_I_CSBWR'
gidformat='"lu"'
gidsign='1'
gidsize='4'
gidtype='gid_t'
git_branch=''
git_commit_id=''
git_commit_id_title=''
git_describe=''
git_uncommitted_changes=''
glibpth='/usr/shlib  /lib /usr/lib /usr/lib/386 /lib/386 /usr/ccs/lib /usr/ucblib /usr/local/lib '
gmake='gmake'
gmtime_r_proto='REENTRANT_PROTO_S_TS'
gnulibc_version='2.17'
grep='grep'
groupcat='cat /etc/group'
groupstype='gid_t'
gzip='gzip'
h_fcntl='false'
h_sysfile='true'
hint='recommended'
hostcat='cat /etc/hosts'
html1dir=' '
html1direxp=''
html3dir=' '
html3direxp=''
i16size='2'
i16type='short'
i32size='4'
i32type='long'
i64size='8'
i64type='long long'
i8size='1'
i8type='signed char'
i_arpainet='define'
i_assert='define'
i_bsdioctl=''
i_crypt='define'
i_db='define'
i_dbm='define'
i_dirent='define'
i_dld=''
i_dlfcn='define'
i_fcntl=''
i_float='define'
i_fp=''
i_fp_class=''
i_gdbm='define'
i_gdbm_ndbm='define'
i_gdbmndbm=''
i_grp='define'
i_ieeefp=''
i_inttypes='define'
i_langinfo='define'
i_libutil=''
i_limits='define'
i_locale='define'
i_machcthr=''
i_malloc='define'
i_mallocmalloc=''
i_math='define'
i_memory=''
i_mntent='define'
i_ndbm=''
i_netdb='define'
i_neterrno=''
i_netinettcp='define'
i_niin='define'
i_poll='define'
i_prot=''
i_pthread='define'
i_pwd='define'
i_rpcsvcdbm=''
i_sfio=''
i_sgtty=''
i_shadow='define'
i_socks=''
i_stdarg='define'
i_stdbool='define'
i_stddef='define'
i_stdlib='define'
i_string='define'
i_sunmath=''
i_sysaccess=''
i_sysdir='define'
i_sysfile='define'
i_sysfilio=''
i_sysin=''
i_sysioctl='define'
i_syslog='define'
i_sysmman='define'
i_sysmode=''
i_sysmount='define'
i_sysndir=''
i_sysparam='define'
i_syspoll='define'
i_sysresrc='define'
i_syssecrt=''
i_sysselct='define'
i_syssockio=''
i_sysstat='define'
i_sysstatfs='define'
i_sysstatvfs='define'
i_systime='define'
i_systimek=''
i_systimes='define'
i_systypes='define'
i_sysuio='define'
i_sysun='define'
i_sysutsname='define'
i_sysvfs='define'
i_syswait='define'
i_termio=''
i_termios='define'
i_time='define'
i_unistd='define'
i_ustat='define'
i_utime='define'
i_values='define'
i_varargs=''
i_varhdr='stdarg.h'
i_vfork=''
ignore_versioned_solibs='y'
inc_version_list=''
inc_version_list_init='0'
incpath=''
inews=''
initialinstalllocation='/usr/bin'
installarchlib='/usr/lib/perl/5.18'
installbin='/usr/bin'
installhtml1dir=''
installhtml3dir=''
installman1dir='/usr/share/man/man1'
installman3dir='/usr/share/man/man3'
installprefix='/usr'
installprefixexp='/usr'
installprivlib='/usr/share/perl/5.18'
installscript='/usr/bin'
installsitearch='/usr/local/lib/perl/5.18.1'
installsitebin='/usr/local/bin'
installsitehtml1dir=''
installsitehtml3dir=''
installsitelib='/usr/local/share/perl/5.18.1'
installsiteman1dir='/usr/local/man/man1'
installsiteman3dir='/usr/local/man/man3'
installsitescript='/usr/local/bin'
installstyle='lib/perl5'
installusrbinperl=''
installvendorarch='/usr/lib/perl5'
installvendorbin='/usr/bin'
installvendorhtml1dir=''
installvendorhtml3dir=''
installvendorlib='/usr/share/perl5'
installvendorman1dir='/usr/share/man/man1'
installvendorman3dir='/usr/share/man/man3'
installvendorscript='/usr/bin'
intsize='4'
issymlink='test -h'
ivdformat='"Ld"'
ivsize='8'
ivtype='long long'
known_extensions='arybase attributes B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper DB_File Devel/Peek Devel/PPPort Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call GDBM_File Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util Math/BigInt/FastCalc MIME/Base64 mro NDBM_File ODBM_File Opcode PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via POSIX re SDBM_File Socket Storable Sys/Hostname Sys/Syslog Text/Soundex threads threads/shared Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize VMS/DCLsym VMS/Stdio Win32 Win32API/File Win32CORE XS/APItest XS/Typemap '
ksh=''
ld='cc'
ld_can_script='define'
lddlflags='-shared  -L/usr/local/lib'
ldflags='  -L/usr/local/lib'
ldflags_nolargefiles='  -L/usr/local/lib'
ldflags_uselargefiles=''
ldlibpthname='LD_LIBRARY_PATH'
less='less'
lib_ext='.a'
libc=''
libdb_needs_pthread='N'
libperl='libperl.so.5.18.1'
libpth='/usr/local/lib /lib/hppa-linux-gnu /lib /usr/lib/hppa-linux-gnu /usr/lib'
libs='-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt'
libs_nolargefiles='-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt'
libsdirs=' /usr/lib/hppa-linux-gnu'
libsfiles=' libgdbm.so libgdbm_compat.so libdb.so libdl.so libm.so libpthread.so libc.so libcrypt.so'
libsfound=' /usr/lib/hppa-linux-gnu/libgdbm.so /usr/lib/hppa-linux-gnu/libgdbm_compat.so /usr/lib/hppa-linux-gnu/libdb.so /usr/lib/hppa-linux-gnu/libdl.so /usr/lib/hppa-linux-gnu/libm.so /usr/lib/hppa-linux-gnu/libpthread.so /usr/lib/hppa-linux-gnu/libc.so /usr/lib/hppa-linux-gnu/libcrypt.so'
libspath=' /usr/local/lib /lib/hppa-linux-gnu /lib /usr/lib/hppa-linux-gnu /usr/lib'
libswanted='gdbm gdbm_compat db dl m pthread c crypt gdbm_compat'
libswanted_nolargefiles='gdbm gdbm_compat db dl m pthread c crypt gdbm_compat'
libswanted_uselargefiles=''
line=''
lint=''
lkflags=''
ln='ln'
lns='/bin/ln -s'
localtime_r_proto='REENTRANT_PROTO_S_TS'
locincpth='/usr/local/include /opt/local/include /usr/gnu/include /opt/gnu/include /usr/GNU/include /opt/GNU/include'
loclibpth='/usr/local/lib /opt/local/lib /usr/gnu/lib /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib'
longdblsize='8'
longlongsize='8'
longsize='4'
lp=''
lpr=''
ls='ls'
lseeksize='8'
lseektype='off_t'
mad=''
madlyh=''
madlyobj=''
madlysrc=''
mail=''
mailx=''
make='make'
make_set_make='#'
mallocobj=''
mallocsrc=''
malloctype='void *'
man1dir='/usr/share/man/man1'
man1direxp='/usr/share/man/man1'
man1ext='1p'
man3dir='/usr/share/man/man3'
man3direxp='/usr/share/man/man3'
man3ext='3pm'
mips_type=''
mistrustnm=''
mkdir='mkdir'
mmaptype='void *'
modetype='mode_t'
more='more'
multiarch=''
mv=''
myarchname='parisc64-linux'
mydomain=''
myhostname='localhost'
myuname='linux mx3210 3.11.0-rc7+ #1 smp sat aug 31 11:35:56 edt 2013 parisc64 gnulinux '
n='-n'
need_va_copy=''
netdb_hlen_type='size_t'
netdb_host_type='const void *'
netdb_name_type='const char *'
netdb_net_type='in_addr_t'
nm='nm'
nm_opt=''
nm_so_opt='--dynamic'
nonxs_ext='Archive/Extract Archive/Tar Attribute/Handlers autodie AutoLoader autouse base B/Debug B/Deparse bignum B/Lint Carp CGI Config/Perl/V constant CPAN CPAN/Meta CPAN/Meta/Requirements CPAN/Meta/YAML CPANPLUS CPANPLUS/Dist/Build Devel/SelfStubber Digest Dumpvalue encoding/warnings Env Errno ExtUtils/CBuilder ExtUtils/Command ExtUtils/Constant ExtUtils/Install ExtUtils/MakeMaker ExtUtils/Manifest ExtUtils/ParseXS FileCache File/CheckTree File/Fetch File/Path File/Temp Filter/Simple Getopt/Long HTTP/Tiny I18N/Collate I18N/LangTags if IO/Compress IO/Zlib IPC/Cmd IPC/Open3 JSON/PP lib libnet Locale/Codes Locale/Maketext Locale/Maketext/Simple Log/Message Log/Message/Simple Math/BigInt Math/BigRat Math/Complex Memoize Module/Build Module/CoreList Module/Load Module/Load/Conditional Module/Loaded Module/Metadata Module/Pluggable Net/Ping NEXT Object/Accessor Package/Constants Params/Check parent Parse/CPAN/Meta perlfaq PerlIO/via/QuotedPrint Perl/OSType Pod/Checker Pod/Escapes Pod/F
 unctions Pod/Html Pod/LaTeX podlators Pod/Parser Pod/Perldoc Pod/Simple Pod/Usage Safe Search/Dict SelfLoader Term/ANSIColor Term/Cap Term/Complete Term/ReadLine Term/UI Test Test/Harness Test/Simple Text/Abbrev Text/Balanced Text/ParseWords Text/Tabs Thread/Queue Thread/Semaphore Tie/File Tie/Memoize Tie/RefHash Time/Local XSLoader'
nroff='nroff'
nvEUformat='"E"'
nvFUformat='"F"'
nvGUformat='"G"'
nv_overflows_integers_at='256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0'
nv_preserves_uv_bits='53'
nveformat='"e"'
nvfformat='"f"'
nvgformat='"g"'
nvsize='8'
nvtype='double'
o_nonblock='O_NONBLOCK'
obj_ext='.o'
old_pthread_create_joinable=''
optimize='-O2 -g'
orderlib='false'
osname='linux'
osvers='3.11.0-rc7+'
otherlibdirs=' '
package='perl5'
pager='/usr/bin/sensible-pager'
passcat='cat /etc/passwd'
patchlevel='18'
path_sep=':'
perl='perl'
perl5='/usr/bin/perl'
perl_patchlevel=''
perl_static_inline='static __inline__'
perladmin='root@localhost'
perllibs='-ldl -lm -lpthread -lc -lcrypt'
perlpath='/usr/bin/perl'
pg='pg'
phostname='hostname'
pidtype='pid_t'
plibpth='/lib/hppa-linux-gnu/4.6 /lib/hppa-linux-gnu /lib /usr/lib/hppa-linux-gnu/4.6 /usr/lib/hppa-linux-gnu /usr/lib'
pmake=''
pr=''
prefix='/usr'
prefixexp='/usr'
privlib='/usr/share/perl/5.18'
privlibexp='/usr/share/perl/5.18'
procselfexe='"/proc/self/exe"'
prototype='define'
ptrsize='4'
quadkind='3'
quadtype='long long'
randbits='48'
randfunc='drand48'
random_r_proto='REENTRANT_PROTO_I_St'
randseedtype='long'
ranlib=':'
rd_nodata='-1'
readdir64_r_proto='REENTRANT_PROTO_I_TSR'
readdir_r_proto='REENTRANT_PROTO_I_TSR'
revision='5'
rm='rm'
rm_try='/bin/rm -f try try a.out .out try.[cho] try..o core core.try* try.core*'
rmail=''
run=''
runnm='false'
sGMTIME_max='2147483647'
sGMTIME_min='-2147483648'
sLOCALTIME_max='2147483647'
sLOCALTIME_min='-2147483648'
sPRIEUldbl='"E"'
sPRIFUldbl='"F"'
sPRIGUldbl='"G"'
sPRIXU64='"LX"'
sPRId64='"Ld"'
sPRIeldbl='"e"'
sPRIfldbl='"f"'
sPRIgldbl='"g"'
sPRIi64='"Li"'
sPRIo64='"Lo"'
sPRIu64='"Lu"'
sPRIx64='"Lx"'
sSCNfldbl='"f"'
sched_yield='sched_yield()'
scriptdir='/usr/bin'
scriptdirexp='/usr/bin'
sed='sed'
seedfunc='srand48'
selectminbits='32'
selecttype='fd_set *'
sendmail=''
setgrent_r_proto='0'
sethostent_r_proto='0'
setlocale_r_proto='0'
setnetent_r_proto='0'
setprotoent_r_proto='0'
setpwent_r_proto='0'
setservent_r_proto='0'
sh='/bin/sh'
shar=''
sharpbang='#!'
shmattype='void *'
shortsize='2'
shrpenv=''
shsharp='true'
sig_count='65'
sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2 CHLD PWR VTALRM PROF IO WINCH STOP TSTP CONT TTIN TTOU URG LOST UNUSED NUM32 XCPU XFSZ NUM35 STKFLT NUM37 NUM38 RTMIN NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58 NUM59 NUM60 NUM61 NUM62 NUM63 RTMAX IOT CLD POLL '
sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "USR1", "USR2", "CHLD", "PWR", "VTALRM", "PROF", "IO", "WINCH", "STOP", "TSTP", "CONT", "TTIN", "TTOU", "URG", "LOST", "UNUSED", "NUM32", "XCPU", "XFSZ", "NUM35", "STKFLT", "NUM37", "NUM38", "RTMIN", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "NUM50", "NUM51", "NUM52", "NUM53", "NUM54", "NUM55", "NUM56", "NUM57", "NUM58", "NUM59", "NUM60", "NUM61", "NUM62", "NUM63", "RTMAX", "IOT", "CLD", "POLL", 0'
sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 6 18 22 '
sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 18, 22, 0'
sig_size='68'
signal_t='void'
sitearch='/usr/local/lib/perl/5.18.1'
sitearchexp='/usr/local/lib/perl/5.18.1'
sitebin='/usr/local/bin'
sitebinexp='/usr/local/bin'
sitehtml1dir=''
sitehtml1direxp=''
sitehtml3dir=''
sitehtml3direxp=''
sitelib='/usr/local/share/perl/5.18.1'
sitelib_stem=''
sitelibexp='/usr/local/share/perl/5.18.1'
siteman1dir='/usr/local/man/man1'
siteman1direxp='/usr/local/man/man1'
siteman3dir='/usr/local/man/man3'
siteman3direxp='/usr/local/man/man3'
siteprefix='/usr/local'
siteprefixexp='/usr/local'
sitescript='/usr/local/bin'
sitescriptexp='/usr/local/bin'
sizesize='4'
sizetype='size_t'
sleep=''
smail=''
so='so'
sockethdr=''
socketlib=''
socksizetype='socklen_t'
sort='sort'
spackage='Perl5'
spitshell='cat'
srand48_r_proto='REENTRANT_PROTO_I_LS'
srandom_r_proto='REENTRANT_PROTO_I_TS'
src='.'
ssizetype='ssize_t'
st_ino_sign='1'
st_ino_size='8'
startperl='#!/usr/bin/perl'
startsh='#!/bin/sh'
static_ext=' '
stdchar='char'
stdio_base='((fp)->_IO_read_base)'
stdio_bufsiz='((fp)->_IO_read_end - (fp)->_IO_read_base)'
stdio_cnt='((fp)->_IO_read_end - (fp)->_IO_read_ptr)'
stdio_filbuf=''
stdio_ptr='((fp)->_IO_read_ptr)'
stdio_stream_array=''
strerror_r_proto='REENTRANT_PROTO_B_IBW'
strings='/usr/include/string.h'
submit=''
subversion='1'
sysman='/usr/share/man/man1'
tail=''
tar=''
targetarch=''
tbl=''
tee=''
test='test'
timeincl='/usr/include/hppa-linux-gnu/sys/time.h /usr/include/time.h '
timetype='time_t'
tmpnam_r_proto='REENTRANT_PROTO_B_B'
to=':'
touch='touch'
tr='tr'
trnl='\n'
troff=''
ttyname_r_proto='REENTRANT_PROTO_I_IBW'
u16size='2'
u16type='unsigned short'
u32size='4'
u32type='unsigned long'
u64size='8'
u64type='unsigned long long'
u8size='1'
u8type='unsigned char'
uidformat='"lu"'
uidsign='1'
uidsize='4'
uidtype='uid_t'
uname='uname'
uniq='uniq'
uquadtype='unsigned long long'
use5005threads=''
use64bitall=''
use64bitint='define'
usecrosscompile=''
usedevel=''
usedl='define'
usedtrace=''
usefaststdio=''
useithreads='define'
usekernprocpathname=''
uselargefiles='define'
uselongdouble=''
usemallocwrap='define'
usemorebits=''
usemultiplicity='define'
usemymalloc='n'
usenm='false'
usensgetexecutablepath=''
useopcode='true'
useperlio='define'
useposix='true'
usereentrant=''
userelocatableinc=''
usesfio='false'
useshrplib='true'
usesitecustomize=''
usesocks=''
usethreads='define'
usevendorprefix='define'
useversionedarchname=''
usevfork='false'
usrinc='/usr/include'
uuname=''
uvXUformat='"LX"'
uvoformat='"Lo"'
uvsize='8'
uvtype='unsigned long long'
uvuformat='"Lu"'
uvxformat='"Lx"'
vaproto='define'
vendorarch='/usr/lib/perl5'
vendorarchexp='/usr/lib/perl5'
vendorbin='/usr/bin'
vendorbinexp='/usr/bin'
vendorhtml1dir=' '
vendorhtml1direxp=''
vendorhtml3dir=' '
vendorhtml3direxp=''
vendorlib='/usr/share/perl5'
vendorlib_stem=''
vendorlibexp='/usr/share/perl5'
vendorman1dir='/usr/share/man/man1'
vendorman1direxp='/usr/share/man/man1'
vendorman3dir='/usr/share/man/man3'
vendorman3direxp='/usr/share/man/man3'
vendorprefix='/usr'
vendorprefixexp='/usr'
vendorscript='/usr/bin'
vendorscriptexp='/usr/bin'
version='5.18.1'
version_patchlevel_string='version 18 subversion 1'
versiononly=''
vi=''
voidflags='15'
xlibpth='/usr/lib/386 /lib/386'
yacc='yacc'
yaccflags=''
zcat=''
zip='zip'

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 7, 2013

From @jmdh

According to comments on
<http​://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721537>
this bug is already fixed in blead by commit
1500bd9 by Karl Williamson.

Does this sound plausible? If so, is this a candidate for backporting to
maint-5.18? (The original bug fixed is #112208).

Thanks,
Dominic.

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 7, 2013

The RT System itself - Status changed from 'new' to 'open'

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 7, 2013

From @cpansprout

On Sat Sep 07 10​:14​:22 2013, dom wrote​:

According to comments on
<http​://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721537>
this bug is already fixed in blead by commit
1500bd9 by Karl Williamson.

Does this sound plausible?

I don’t see how.

If so, is this a candidate for backporting to
maint-5.18?

1500bd9 is an incompatible change.

--

Father Chrysostomos

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 7, 2013

From @khwilliamson

On 09/07/2013 11​:23 AM, Father Chrysostomos via RT wrote​:

On Sat Sep 07 10​:14​:22 2013, dom wrote​:

According to comments on
<http​://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721537>
this bug is already fixed in blead by commit
1500bd9 by Karl Williamson.

Does this sound plausible?

I don’t see how.

Me neither. Did you run a bisect that pointed to this commit?

For reference for those not wanting to look at the ticket, here is what
the error is reported as​:

lib/locale .................................................... Can't
load '../lib/auto/re/re.so' for module re​: ../lib/auto/re/re.so​: failed
to map segment from shared object​: Cannot allocate memory at
../lib/XSLoader.pm line 68.
  at ../lib/re.pm line 85.
Compilation failed in require at ../lib/utf8_heavy.pl line 4.
BEGIN failed--compilation aborted at ../lib/utf8_heavy.pl line 4.
Compilation failed in require at ../lib/utf8.pm line 17.

It actually doesn't look like a locale problem; perhaps various changes
just moved things around so that the problem doesn't happen.

Have you tried running locale.t by hand?

cd t
./perl -I../lib -T ../lib/locale.t

If so, is this a candidate for backporting to
maint-5.18?

1500bd9 is an incompatible change.

... which is controversial and likely to be reverted.

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 7, 2013

From @jmdh

On Sat, Sep 07, 2013 at 03​:06​:40PM -0400, John David Anglin wrote​:

On 7-Sep-13, at 2​:07 PM, karl williamson via RT wrote​:

./perl -I../lib -T ../lib/locale.t

...
ok 200 verify that isn't tainted
ok 201 verify that isn't tainted
Can't load '../lib/auto/re/re.so' for module re​:
../lib/auto/re/re.so​: failed to map segment from shared object​:
Cannot allocate memory at ../lib/XSLoader.pm line 68.
at ../lib/re.pm line 85.
Compilation failed in require at ../lib/utf8_heavy.pl line 4.
BEGIN failed--compilation aborted at ../lib/utf8_heavy.pl line 4.
Compilation failed in require at ../lib/utf8.pm line 16.

Same output with LANG=C.

This is with 69edd47.

My messages to perbug-followup@​perl.org are being dropped.

More likely held in a queue.

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 10, 2013

From dave.anglin@bell.net

Based on my testing, this bug was fixed on mainline with the following
commit​:

commit 1500bd9
Author​: Karl Williamson <public@​khwilliamson.com>
Date​: Wed Jun 19 21​:00​:53 2013 -0600

  PATCH​: [perl #112208]​: Set utf8 flag on $! appropriately

  This patch sets the utf8 flag on $! if the error string passes utf8
  validity tests and has some bytes with the upper bit set. (If none
  have that bit set, is an ASCII string, and whether or not it is
UTF-8 is
  irrelevant.) This is a heuristic that could fail, but as the
reference
  in the comments points out this is unlikely.

  One can reasonably assume that a UTF-8 locale will return a UTF-8
  result. So another approach would be to look at that (but we
wouldn't
  want to turn the flag on for a purely ASCII string anyway, as
that could
  change the semantics from existing behavior by making the string
follow
  Unicode rules, whereas it didn't necessarily before.) To do
this, we
  could keep track of the utf8ness of the LC_MESSAGES locale. But
until
  the heuristic in this patch is shown to not be good enough, I
don't see
  the need to do this extra work.

There were a number of other locale related patches just prior to this
one.

This bug breaks package build on Debian, so maybe a back port is
justified.

Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 10, 2013

From dave.anglin@bell.net

On 7-Sep-13, at 1​:23 PM, Father Chrysostomos via RT wrote​:

On Sat Sep 07 10​:14​:22 2013, dom wrote​:

According to comments on
<http​://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721537>
this bug is already fixed in blead by commit
1500bd9 by Karl Williamson.

Does this sound plausible?

I don’t see how.

Found by bisection of git tree.

dave@​mx3210​:~/perl/perl-test$ locale
LANG=en_CA.UTF-8
LANGUAGE=
LC_CTYPE="en_CA.UTF-8"
LC_NUMERIC="en_CA.UTF-8"
LC_TIME="en_CA.UTF-8"
LC_COLLATE="en_CA.UTF-8"
LC_MONETARY="en_CA.UTF-8"
LC_MESSAGES="en_CA.UTF-8"
LC_PAPER="en_CA.UTF-8"
LC_NAME="en_CA.UTF-8"
LC_ADDRESS="en_CA.UTF-8"
LC_TELEPHONE="en_CA.UTF-8"
LC_MEASUREMENT="en_CA.UTF-8"
LC_IDENTIFICATION="en_CA.UTF-8"
LC_ALL=

Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 10, 2013

From dave.anglin@bell.net

On 7-Sep-13, at 2​:07 PM, karl williamson via RT wrote​:

./perl -I../lib -T ../lib/locale.t

...
ok 200 verify that isn't tainted
ok 201 verify that isn't tainted
Can't load '../lib/auto/re/re.so' for module re​: ../lib/auto/re/re.so​:
failed to map segment from shared object​: Cannot allocate memory at ../
lib/XSLoader.pm line 68.
  at ../lib/re.pm line 85.
Compilation failed in require at ../lib/utf8_heavy.pl line 4.
BEGIN failed--compilation aborted at ../lib/utf8_heavy.pl line 4.
Compilation failed in require at ../lib/utf8.pm line 16.

Same output with LANG=C.

This is with 69edd47.

My messages to perbug-followup@​perl.org are being dropped.

Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 10, 2013

From victor@vsespb.ru

FYI 1500bd9 is going to be reverted
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=119499#txn-1252975

On Mon Sep 09 23​:16​:17 2013, dave.anglin@​bell.net wrote​:

Based on my testing, this bug was fixed on mainline with the following
commit 1500bd9
Author​: Karl Williamson <public@​khwilliamson.com>
Date​: Wed Jun 19 21​:00​:53 2013 -0600

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 10, 2013

From @khwilliamson

On Tue Sep 10 01​:44​:54 2013, vsespb wrote​:

FYI 1500bd9 is going to be reverted
https://rt-archive.perl.org/perl5/Ticket/Display.html?id=119499#txn-1252975

On Mon Sep 09 23​:16​:17 2013, dave.anglin@​bell.net wrote​:

Based on my testing, this bug was fixed on mainline with the following
commit 1500bd9
Author​: Karl Williamson <public@​khwilliamson.com>
Date​: Wed Jun 19 21​:00​:53 2013 -0600

It's almost certainly not the case that this commit actually "fixed" the
problem. Much more plausible is that it perturbs things so the real
cause doesn't happen here. That means the bug is waiting to bite again
under the right circumstances. Since you have git, I suggest manually
reverting this patch yourself on blead as an experiment and see if the
failure returns. Depending on that result, we can figure out how to
proceed.
--
Karl Williamson

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 10, 2013

From dave.anglin@bell.net

On 9/10/2013 1​:18 PM, Karl Williamson via RT wrote​:

It's almost certainly not the case that this commit actually "fixed" the
problem. Much more plausible is that it perturbs things so the real
cause doesn't happen here.
What I suspect is a mmap call with the MAP_FIXED flag is failing.
Maybe I can find this with strace. The "addr" argument may be changing.

Dave

--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Sep 11, 2013

From dave.anglin@bell.net

On 10-Sep-13, at 1​:44 PM, John David Anglin wrote​:

On 9/10/2013 1​:18 PM, Karl Williamson via RT wrote​:

It's almost certainly not the case that this commit actually
"fixed" the
problem. Much more plausible is that it perturbs things so the real
cause doesn't happen here.
What I suspect is a mmap call with the MAP_FIXED flag is failing.
Maybe I can find this with strace. The "addr" argument may be
changing.

It's not MAP_FIXED. Looking at the strace output, I see the
application is
running out of memory​:

open("/usr/lib/locale/de_LI.utf8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) =
4fstat64(4, {st_mode=0, st_size=0, ...}) = 0
mmap(NULL, 127, PROT_READ, MAP_PRIVATE, 4, 0) = 0xffe93000
close(4) = 0
open("/usr/lib/locale/de_LI.utf8/LC_NAME", O_RDONLY|O_CLOEXEC) =
4fstat64(4, {st_mode=0, st_size=0, ...}) = 0
mmap(NULL, 62, PROT_READ, MAP_PRIVATE, 4, 0) = -1 ENOMEM (Cannot
allocate memory
)

There are a lot of small allocations but because of aliasing issues,
the kernel allocates much larger maps than other
systems. I tend to think there's a kernel bug here but I'm not sure.

Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Oct 15, 2013

From @khwilliamson

On Tue Sep 10 21​:53​:02 2013, dave.anglin@​bell.net wrote​:

On 10-Sep-13, at 1​:44 PM, John David Anglin wrote​:

On 9/10/2013 1​:18 PM, Karl Williamson via RT wrote​:

It's almost certainly not the case that this commit actually
"fixed" the
problem. Much more plausible is that it perturbs things so the real
cause doesn't happen here.
What I suspect is a mmap call with the MAP_FIXED flag is failing.
Maybe I can find this with strace. The "addr" argument may be
changing.

It's not MAP_FIXED. Looking at the strace output, I see the
application is
running out of memory​:

open("/usr/lib/locale/de_LI.utf8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) =
4fstat64(4, {st_mode=0, st_size=0, ...}) = 0
mmap(NULL, 127, PROT_READ, MAP_PRIVATE, 4, 0) = 0xffe93000
close(4) = 0
open("/usr/lib/locale/de_LI.utf8/LC_NAME", O_RDONLY|O_CLOEXEC) =
4fstat64(4, {st_mode=0, st_size=0, ...}) = 0
mmap(NULL, 62, PROT_READ, MAP_PRIVATE, 4, 0) = -1 ENOMEM (Cannot
allocate memory
)

There are a lot of small allocations but because of aliasing issues,
the kernel allocates much larger maps than other
systems. I tend to think there's a kernel bug here but I'm not sure.

Dave
--
John David Anglin dave.anglin@​bell.net

Is there any progress on this bug. If you've decided it's not a Perl
bug, can we close it?

--
Karl Williamson

@p5pRT

This comment has been minimized.

Copy link
Author

commented Oct 16, 2013

From dave.anglin@bell.net

On 14-Oct-13, at 11​:11 PM, Karl Williamson via RT wrote​:

On Tue Sep 10 21​:53​:02 2013, dave.anglin@​bell.net wrote​:

On 10-Sep-13, at 1​:44 PM, John David Anglin wrote​:

On 9/10/2013 1​:18 PM, Karl Williamson via RT wrote​:

It's almost certainly not the case that this commit actually
"fixed" the
problem. Much more plausible is that it perturbs things so the
real
cause doesn't happen here.
What I suspect is a mmap call with the MAP_FIXED flag is failing.
Maybe I can find this with strace. The "addr" argument may be
changing.

It's not MAP_FIXED. Looking at the strace output, I see the
application is
running out of memory​:

open("/usr/lib/locale/de_LI.utf8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) =
4fstat64(4, {st_mode=0, st_size=0, ...}) = 0
mmap(NULL, 127, PROT_READ, MAP_PRIVATE, 4, 0) = 0xffe93000
close(4) = 0
open("/usr/lib/locale/de_LI.utf8/LC_NAME", O_RDONLY|O_CLOEXEC) =
4fstat64(4, {st_mode=0, st_size=0, ...}) = 0
mmap(NULL, 62, PROT_READ, MAP_PRIVATE, 4, 0) = -1 ENOMEM (Cannot
allocate memory
)

There are a lot of small allocations but because of aliasing issues,
the kernel allocates much larger maps than other
systems. I tend to think there's a kernel bug here but I'm not sure.

Dave
--
John David Anglin dave.anglin@​bell.net

Is there any progress on this bug. If you've decided it's not a Perl
bug, can we close it?

Not on my part.

I'm not convinced this isn't a Perl bug in that it's showing the
limitations of the mapping scheme
currently used for locales.

Although it it might be possible to improve the mmap allocation on
parisc linux, this is very tricky.

There are kernel limits on the number of files, vma's, etc.

Most applications that do a lot of allocations use their own allocator
and garbage collection.

I believe that all glibc locales are installed on the machine where I
see the failure?

Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Oct 18, 2013

From dave.anglin@bell.net

On 14-Oct-13, at 11​:11 PM, Karl Williamson via RT wrote​:

Is there any progress on this bug. If you've decided it's not a Perl
bug, can we close it?

The test fails in part due to the number of locale files on my
machine. Roughly,
mmap fails with ENOMEM after about 1300 files are processed.

Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Nov 15, 2013

From @khwilliamson

On 10/17/2013 08​:59 PM, John David Anglin wrote​:

On 14-Oct-13, at 11​:11 PM, Karl Williamson via RT wrote​:

Is there any progress on this bug. If you've decided it's not a Perl
bug, can we close it?

The test fails in part due to the number of locale files on my machine.
Roughly,
mmap fails with ENOMEM after about 1300 files are processed.

Sorry for the tardy response.

That's a lot of locales. Unicode CLDR publishes somewhat over 700 that
are supposed to sufficiently encode the whole world.

The failing test file is designed to go through all the locales on a
machine testing that each works. It saves up the results and will
output a report.

A quick perusal didn't show obvious places where it is saving
information unnecessarily, though it could well be. It's also possible
that libc uses up memory for each locale tried, and which doesn't get
released when a different locale is set.

I'm not sure how to proceed. You could try not using all the locales.
The easiest way to do this that comes to mind is to add the following
line as the first one in the sub trylocale().

return if @​Locale > 500;

or some other number.

@p5pRT

This comment has been minimized.

Copy link
Author

commented Nov 16, 2013

From dave.anglin@bell.net

On 15-Nov-13, at 12​:32 AM, karl williamson via RT wrote​:

That's a lot of locales. Unicode CLDR publishes somewhat over 700
that
are supposed to sufficiently encode the whole world.

There aren't that many locales on my machine. There are multiple
files per
locale.

The failing test file is designed to go through all the locales on a
machine testing that each works. It saves up the results and will
output a report.

A quick perusal didn't show obvious places where it is saving
information unnecessarily, though it could well be. It's also
possible
that libc uses up memory for each locale tried, and which doesn't get
released when a different locale is set.

I think the libc issue needs looking at. I looked at a kernel patch but
it's somewhat dangerous on hppa. It introduces inequivalent
mappings in situations and is dangerous when the file is mapped
readonly and shared.

I'm not sure how to proceed. You could try not using all the locales.
The easiest way to do this that comes to mind is to add the following
line as the first one in the sub trylocale().

return if @​Locale > 500;

I'll try to come up with a number.

Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Mar 10, 2014

From @khwilliamson

On Sat Nov 16 15​:02​:52 2013, dave.anglin@​bell.net wrote​:

On 15-Nov-13, at 12​:32 AM, karl williamson via RT wrote​:

That's a lot of locales. Unicode CLDR publishes somewhat over 700
that
are supposed to sufficiently encode the whole world.

There aren't that many locales on my machine. There are multiple
files per
locale.

The failing test file is designed to go through all the locales on a
machine testing that each works. It saves up the results and will
output a report.

A quick perusal didn't show obvious places where it is saving
information unnecessarily, though it could well be. It's also
possible
that libc uses up memory for each locale tried, and which doesn't get
released when a different locale is set.

I think the libc issue needs looking at. I looked at a kernel patch but
it's somewhat dangerous on hppa. It introduces inequivalent
mappings in situations and is dangerous when the file is mapped
readonly and shared.

I'm not sure how to proceed. You could try not using all the locales.
The easiest way to do this that comes to mind is to add the following
line as the first one in the sub trylocale().

return if @​Locale > 500;

I'll try to come up with a number.

Dave
--
John David Anglin dave.anglin@​bell.net

FYI, there have been many changes in the .t since this bug was filed. Perhaps it has been fixed or no longer shows up as a result. Could you test with blead and let us know?
--
Karl Williamson

@p5pRT

This comment has been minimized.

Copy link
Author

commented Mar 11, 2014

From dave.anglin@bell.net

On 10-Mar-14, at 7​:07 PM, Karl Williamson via RT wrote​:

On Sat Nov 16 15​:02​:52 2013, dave.anglin@​bell.net wrote​:

On 15-Nov-13, at 12​:32 AM, karl williamson via RT wrote​:

That's a lot of locales. Unicode CLDR publishes somewhat over 700
that
are supposed to sufficiently encode the whole world.

There aren't that many locales on my machine. There are multiple
files per
locale.

The failing test file is designed to go through all the locales on a
machine testing that each works. It saves up the results and will
output a report.

A quick perusal didn't show obvious places where it is saving
information unnecessarily, though it could well be. It's also
possible
that libc uses up memory for each locale tried, and which doesn't
get
released when a different locale is set.

I think the libc issue needs looking at. I looked at a kernel
patch but
it's somewhat dangerous on hppa. It introduces inequivalent
mappings in situations and is dangerous when the file is mapped
readonly and shared.

I'm not sure how to proceed. You could try not using all the
locales.
The easiest way to do this that comes to mind is to add the
following
line as the first one in the sub trylocale().

return if @​Locale > 500;

I'll try to come up with a number.

Dave
--
John David Anglin dave.anglin@​bell.net

FYI, there have been many changes in the .t since this bug was
filed. Perhaps it has been fixed or no longer shows up as a
result. Could you test with blead and let us know?

I built blead tonight and ran tests. The good news is the lib/locale
test didn't fail. The bad news is
there is one new fail​:

Failed 1 test out of 2263, 99.96% okay.
  ../cpan/Math-Complex/t/Trig.t

Running manually, I see​:

not ok 130
# Failed test at ../cpan/Math-Complex/t/Trig.t line 342.
# got​: -5e+299
# expected​: -inf
not ok 131
# Failed test at ../cpan/Math-Complex/t/Trig.t line 343.
# got​: 2e-300
# expected​: 0
not ok 132
# Failed test at ../cpan/Math-Complex/t/Trig.t line 344.
# got​: 5e+299
# expected​: inf
not ok 133
# Failed test at ../cpan/Math-Complex/t/Trig.t line 345.
# got​: -2e-300
# expected​: 0

Looks like various corner cases fail but it's too late to investigate
further.

Helge Deller has made some progress in improving the mmap allocations
for
small files. I don't have the change installed. It involves changes
to the linux
core so I don't know how far he will get with it.

Regards,
Dave
--
John David Anglin dave.anglin@​bell.net

@p5pRT

This comment has been minimized.

Copy link
Author

commented Mar 11, 2014

From @khwilliamson

On 03/10/2014 08​:41 PM, John David Anglin wrote​:

On 10-Mar-14, at 7​:07 PM, Karl Williamson via RT wrote​:

On Sat Nov 16 15​:02​:52 2013, dave.anglin@​bell.net wrote​:

On 15-Nov-13, at 12​:32 AM, karl williamson via RT wrote​:

That's a lot of locales. Unicode CLDR publishes somewhat over 700
that
are supposed to sufficiently encode the whole world.

There aren't that many locales on my machine. There are multiple
files per
locale.

The failing test file is designed to go through all the locales on a
machine testing that each works. It saves up the results and will
output a report.

A quick perusal didn't show obvious places where it is saving
information unnecessarily, though it could well be. It's also
possible
that libc uses up memory for each locale tried, and which doesn't get
released when a different locale is set.

I think the libc issue needs looking at. I looked at a kernel patch but
it's somewhat dangerous on hppa. It introduces inequivalent
mappings in situations and is dangerous when the file is mapped
readonly and shared.

I'm not sure how to proceed. You could try not using all the locales.
The easiest way to do this that comes to mind is to add the following
line as the first one in the sub trylocale().

return if @​Locale > 500;

I'll try to come up with a number.

Dave
--
John David Anglin dave.anglin@​bell.net

FYI, there have been many changes in the .t since this bug was filed.
Perhaps it has been fixed or no longer shows up as a result. Could
you test with blead and let us know?

I built blead tonight and ran tests. The good news is the lib/locale
test didn't fail. The bad news is
there is one new fail​:

Failed 1 test out of 2263, 99.96% okay.
../cpan/Math-Complex/t/Trig.t

Running manually, I see​:

not ok 130
# Failed test at ../cpan/Math-Complex/t/Trig.t line 342.
# got​: -5e+299
# expected​: -inf
not ok 131
# Failed test at ../cpan/Math-Complex/t/Trig.t line 343.
# got​: 2e-300
# expected​: 0
not ok 132
# Failed test at ../cpan/Math-Complex/t/Trig.t line 344.
# got​: 5e+299
# expected​: inf
not ok 133
# Failed test at ../cpan/Math-Complex/t/Trig.t line 345.
# got​: -2e-300
# expected​: 0

Looks like various corner cases fail but it's too late to investigate
further.

Helge Deller has made some progress in improving the mmap allocations for
small files. I don't have the change installed. It involves changes to
the linux
core so I don't know how far he will get with it.

Regards,
Dave
--
John David Anglin dave.anglin@​bell.net

I'll close this ticket then; you should open a new one for the unrelated
failures.

@p5pRT

This comment has been minimized.

Copy link
Author

commented Mar 11, 2014

From @khwilliamson

Reported fixed by OP
--
Karl Williamson

@p5pRT

This comment has been minimized.

Copy link
Author

commented Mar 11, 2014

@khwilliamson - Status changed from 'open' to 'resolved'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.