CC: | wagnerc [...] plebeian.com |
Subject: | CPAN endless loop if can't fork() |
I tried to run perldoc inside the CPAN shell and it couldn't fork for some reason. The issue is that I couldn't break out of the loop. Hitting Ctrl-C just made it loop again. I had to kill the Perl process. Obviously, hitting Ctrl-C should make it stop trying to fork and fail gracefully.
My CPAN version is 2.22 and Perl is 5.22.4. OS is Cygwin 2.11.2.
Thanks.
cpan[18]> perldoc Pod::Perldoc
Running perldoc for module 'Pod::Perldoc'
Fetching with LWP:
http://search.cpan.org/perldoc?Pod::Perldoc
2 [main] perl 56028 child_info_fork::abort: address space needed by 'Parser.dll' (0x60000) is already occupied
Can't fork, trying again in 5 seconds at /usr/lib/perl5/5.22/CPAN/Distribution.pm line 4223.
2 [main] perl 173060 child_info_fork::abort: address space needed by 'Parser.dll' (0x60000) is already occupied
Can't fork, trying again in 5 seconds at /usr/lib/perl5/5.22/CPAN/Distribution.pm line 4223.
2 [main] perl 174664 child_info_fork::abort: address space needed by 'Parser.dll' (0x60000) is already occupied
Can't fork, trying again in 5 seconds at /usr/lib/perl5/5.22/CPAN/Distribution.pm line 4223.
2 [main] perl 52204 child_info_fork::abort: address space needed by 'Parser.dll' (0x60000) is already occupied
Can't fork, trying again in 5 seconds at /usr/lib/perl5/5.22/CPAN/Distribution.pm line 4223.
$ perl -V
Summary of my perl5 (revision 5 version 22 subversion 4) configuration:
Platform:
osname=cygwin, osvers=2.8.1(0.31253), archname=cygwin-thread-multi
uname='cygwin_nt-6.3 cygwin 2.8.1(0.31253) 2017-07-03 14:11 x86_64 cygwin '
config_args='-des -Dprefix=/usr -Dmksymlinks -Darchname=x86_64-cygwin-threads -Dlibperl=cygperl5_22.dll -Dcc=gcc -Dld=g++ -Accflags=-ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv'
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv -fno-strict-aliasing -fstack-protector-strong -D_FORTIFY_SOURCE=2',
optimize='-O3',
cppflags='-DPERL_USE_SAFE_PUTENV -D_GNU_SOURCE -U__STRICT_ANSI__ -ggdb -O2 -pipe -Wimplicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/build=/usr/src/debug/perl-5.22.4-1 -fdebug-prefix-map=/mnt/share/maint/perl.x86_64/src/perl-5.22.4=/usr/src/debug/perl-5.22.4-1 -fwrapv -fno-strict-aliasing -fstack-protector-strong'
ccversion='', gccversion='5.4.0', gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='g++', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'
libpth=/usr/lib
libs=-lpthread -lgdbm -ldb -ldl -lcrypt -lgdbm_compat
perllibs=-lpthread -ldl -lcrypt
libc=/usr/lib/libcygwin.a, so=dll, useshrplib=true, libperl=cygperl5_22.dll
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector-strong'
Characteristics of this binary (from libperl):
Compile-time options: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
PERL_DONT_CREATE_GVSV
PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
PERL_IMPLICIT_CONTEXT PERL_NEW_COPY_ON_WRITE
PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV
USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS
USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE
USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME
USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API
Built under cygwin
Compiled at Jul 15 2017 20:11:53