Subject: | New segfaults with Term::ReadLine::Gnu 1.25 |
Date: | Mon, 29 Dec 2014 17:48:13 -0500 |
To: | bug-Term-ReadLine-Gnu [...] rt.cpan.org |
From: | Steve Grazzini <steve.grazzini [...] grantstreet.com> |
Hello,
We're getting segfaults with perl 5.18.2 + readline 5.1 +
Term::ReadLine::Gnu 1.25, on Centos 5. The readline comes from from
Centos's readline-5.1-3.el5 RPM. I'm using Terminal.app locally and
ssh+screen to reach the host where Term::ReadLine is installed.
The rest of this setup works fine with Term::ReadLine::Gnu 1.24.
------------------------------------------------------------------------
% perl -V
Summary of my perl5 (revision 5 version 18 subversion 2) configuration:
Platform:
osname=linux, osvers=2.6.18-371.11.1.el5, archname=x86_64-linux-thread-
multi
uname='linux 2.6.18-371.11.1.el5 #1 smp wed jul 23 15:12:55 edt 2014
x86_64 x86_64 x86_64 gnulinux '
config_args='-Dprefix=/home/grazzini/.plenv-centos5/versions/5.18.2 -de
-Dusedevel -Dusethreads -A'eval:scriptdir=/home/grazzini/.plenv-centos5/
versions/5.18.2/bin''
hint=recommended, useposix=true, d_sigaction=define
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=define, use64bitall=define, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing
-pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
optimize='-O2',
cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.1.2 20080704 (Red Hat 4.1.2-54)',
gccosandvers=''
intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=libc-2.5.so, so=so, useshrplib=false, libperl=libperl.a
gnulibc_version='2.5'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib
-fstack-protector'
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_MALLOC_WRAP
PERL_PRESERVE_IVUV PERL_SAWAMPERSAND PERL_USE_DEVEL
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_PERLIO
USE_PERL_ATOF USE_REENTRANT_API
Built under linux
Compiled at Oct 29 2014 10:56:34
%ENV:
PERL5LIB="/home/grazzini/git/dev/local/centos5/v5.18.2/lib/perl5"
@INC:
/home/grazzini/git/dev/local/centos5/v5.18.2/lib/perl5/x86_
64-linux-thread-multi
/home/grazzini/git/dev/local/centos5/v5.18.2/lib/perl5
/home/grazzini/.plenv-centos5/versions/5.18.2/lib/perl5/
site_perl/5.18.2/x86_64-linux-thread-multi
/home/grazzini/.plenv-centos5/versions/5.18.2/lib/perl5/site_perl/5.18.2
/home/grazzini/.plenv-centos5/versions/5.18.2/lib/perl5/5.
18.2/x86_64-linux-thread-multi
/home/grazzini/.plenv-centos5/versions/5.18.2/lib/perl5/5.18.2
.
------------------------------------------------------------------------
% perl Makefile.PL verbose
Found `/usr/lib64/libtermcap.a'.
cc -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DHAVE_STRING_H rlver.c -o rlver -fstack-protector -L/usr/local/lib
-lreadline -ltermcap
It seems that you have the GNU Readline Library version 5.1.
cc -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DHAVE_STRING_H -DTRG_READLINE_VERSION=0x0501 rlmalloc.c -o rlmalloc
-fstack-protector -L/usr/local/lib -lreadline -ltermcap
Checking if your kit is complete...
Looks good
ABSTRACT_FROM => q[Gnu.pm]
AUTHOR => [q[Hiroo HAYASHI <hiroo.hayashi@computer.org>]]
BUILD_REQUIRES => { }
CONFIGURE_REQUIRES => { }
DEFINE => q[-DHAVE_STRING_H -DTRG_READLINE_VERSION=0x0501]
EXE_FILES => [q[eg/perlsh]]
INC => q[]
LDDLFLAGS => q[ -shared -O2 -L/usr/local/lib -fstack-protector]
LIBS => [q[ -lreadline -ltermcap]]
LICENSE => q[perl]
META_MERGE => { resources=>{ license=>q[http://dev.perl.org/licenses/],
repository=>q[https://sourceforge.net/p/perl-trg/code/HEAD/tree/],
bugtracker=>q[
http://rt.cpan.org/Public/Dist/Display.html?Name=Term-ReadLine-Gnu],
homepage=>q[http://sourceforge.net/projects/perl-trg/] } }
MIN_PERL_VERSION => q[5.008000]
NAME => q[Term::ReadLine::Gnu]
PREREQ_PM => { }
TEST_REQUIRES => { }
VERSION_FROM => q[Gnu.pm]
clean => { FILES=>q[rlver.c rlver rlmalloc.c rlmalloc] }
dist => { COMPRESS=>q[gzip -9f], SUFFIX=>q[gz] }
dynamic_lib => { OTHERLDFLAGS=>q[] }
Using PERL=/home/grazzini/.plenv-centos5/versions/5.18.2/bin/perl5.18.2
Potential libraries are '-lreadline -ltermcap':
readline not found in /usr/local/lib
readline not found in /lib
'-lreadline' found at /usr/lib/libreadline.so.5.1
termcap not found in /usr/local/lib
'-ltermcap' found at /lib/libtermcap.so.2.0.8
Writing Makefile for Term::ReadLine::Gnu
Writing MYMETA.yml and MYMETA.json
------------------------------------------------------------------------
% make test TEST_VERBOSE=1
PERL_DL_NONLAZY=1 /home/grazzini/.plenv-centos5/versions/5.18.2/bin/perl5.18.2
"-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')"
t/*.t
t/00checkver.t ..
1..4
# Running under perl version 5.018002 for linux
# Current time local: Mon Dec 29 16:56:50 2014
# Current time GMT: Mon Dec 29 21:56:50 2014
# Using Test.pm version 1.26
# I'm testing Term::ReadLine::Gnu version 1.25
ok 1
Failed 3/4 subtests
t/callback.t ....
No subtests run
t/history.t .....
No subtests run
t/readline.t ....
No subtests run
Test Summary Report
-------------------
t/00checkver.t (Wstat: 11 Tests: 1 Failed: 0)
Non-zero wait status: 11
Parse errors: Bad plan. You planned 4 tests but ran 1.
t/callback.t (Wstat: 11 Tests: 0 Failed: 0)
Non-zero wait status: 11
Parse errors: No plan found in TAP output
t/history.t (Wstat: 11 Tests: 0 Failed: 0)
Non-zero wait status: 11
Parse errors: No plan found in TAP output
t/readline.t (Wstat: 11 Tests: 0 Failed: 0)
Non-zero wait status: 11
Parse errors: No plan found in TAP output
Files=4, Tests=1, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.10 cusr 0.03
csys = 0.17 CPU)
Result: FAIL
Failed 4/4 test programs. 0/1 subtests failed.
make: *** [test_dynamic] Error 255
------------------------------------------------------------------------
% perl -Mblib t/00checkver.t
1..4
# Running under perl version 5.018002 for linux
# Current time local: Mon Dec 29 17:42:55 2014
# Current time GMT: Mon Dec 29 22:42:55 2014
# Using Test.pm version 1.26
# I'm testing Term::ReadLine::Gnu version 1.25
ok 1
Segmentation fault
------------------------------------------------------------------------
% env |grep TERM
dev03:~/dev/Term-ReadLine-Gnu-1.25 [master]> env |grep TERM
TERM=screen
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:\
--
This e-mail and any attachments may contain information that is
confidential, proprietary and protected by electronic communications
privacy laws. If you are not the intended recipient, please do not retain,
copy, use, or otherwise disclose the information contained in this message.
Instead, please delete it and notify the sender.
Message body is not shown because it is too large.