Skip Menu |
Report information
Id: 80074
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: andreas.koenig.7os6VVqR [at] franz.ak.mind.de
Cc:
AdminCc:

Operating System: Linux
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: (no value)



CC: tinita [...] cpan.org, nwclark [...] cpan.org
Subject: Bleadperl v5.13.6-313-gcbc736f breaks TINITA/HTML-Template-Compiled-0.94_002.tar.gz
Date: Wed, 01 Dec 2010 22:48:37 +0100
To: perlbug [...] perl.org
From: andreas.koenig.7os6VVqR [...] franz.ak.mind.de (Andreas J. Koenig)
Example fail report: -------------------- http://www.cpantesters.org/cpan/report/9471489 Or if you prefer, the list of all my current bleadperl versions follows. While cbc736f marks the beginning of segfaults there are at least two perls since then that don't segfault. ithreads longdouble v5.13.6-130-geae48c8 5.13.6 define 0.94_002 v5.13.6-131-g94bf046 5.13.6 define 0.94_002 v5.13.6-307-ga9aeb2f 5.13.6 define 0.94_002 v5.13.6-308-gf64c9ac 5.13.6 0.94_002 v5.13.6-309-gcba5a3b 5.13.6 define 0.94_002 v5.13.6-312-ga4aabc8 5.13.6 define 0.94_002 v5.13.6-313-gcbc736f 5.13.6 define _N/A_ v5.13.6-314-ge7c4ace 5.13.6 define _N/A_ v5.13.6-315-g42d47bf 5.13.6 define _N/A_ v5.13.6-322-g0e244b1 5.13.6 define _N/A_ v5.13.6-323-gb0c2243 5.13.6 define _N/A_ v5.13.6-363-g7d255dc 5.13.6 define _N/A_ v5.13.6-365-g8897dca 5.13.6 define _N/A_ v5.13.6-397-g523a494 5.13.6 _N/A_ v5.13.6-399-g90e83bc 5.13.6 define define _N/A_ v5.13.6-438-ga0b94c2 5.13.6 define _N/A_ v5.13.6-439-g84601d6 5.13.6 define _N/A_ v5.13.6-440-g80ebaca 5.13.6 define _N/A_ v5.13.6-572-g8c8488c 5.13.6 _N/A_ v5.13.6-574-g360f756 5.13.6 define _N/A_ v5.13.6-580-gffc8a9a 5.13.6 define define _N/A_ v5.13.6-606-g3cea328 5.13.6 define _N/A_ v5.13.7-14-gd8906c0 5.13.7 define _N/A_ v5.13.7-15-g10507e1 5.13.7 define _N/A_ v5.13.7-81-gd59a8b3 5.13.7 define _N/A_ v5.13.7-82-g725a61d 5.13.7 define _N/A_ v5.13.7-86-gfd2dade 5.13.7 define _N/A_ v5.13.7-92-gb19934f 5.13.7 _N/A_ v5.13.7-93-g88e9444 5.13.7 _N/A_ v5.13.7-125-g4b074b7 5.13.7 define _N/A_ v5.13.7-165-g0145303 5.13.7 _N/A_ v5.13.7-201-g10533ac 5.13.7 define define 0.94_002 v5.13.7-214-g833f1b9 5.13.7 define define 0.94_002 v5.13.7-216-ga21fa3b 5.13.7 define _N/A_ v5.13.7-228-g11f2b7f 5.13.7 define _N/A_ gdb stack trace: ---------------- Program terminated with signal 11, Segmentation fault. #0 0x00000000004a7b48 in do_clean_objs () (gdb) bt #0 0x00000000004a7b48 in do_clean_objs () #1 0x000000000049d4a2 in S_visit () #2 0x00000000004a7836 in Perl_sv_clean_objs () #3 0x0000000000437fd7 in perl_destruct () #4 0x000000000041d81b in main () Sorry, not tried with debugging symbols. git bisect: ----------- commit cbc736f3c4431a04bf792982d02220182ea6667f Author: Nicholas Clark <nick@ccl4.org> Date: Mon Nov 1 13:08:07 2010 +0000 Refactor Storable::{net_,}pstore to return undef/true, instead of 1 or 0. This allows their only caller, Storable::_store(), to be simplified, as $ret will now have the correct values for its documented interface. Also, replace C<$ret = undef> with C<undef $ret>, as the latter is equivalent, but uses 1 fewer op. perl -V: -------- Summary of my perl5 (revision 5 version 13 subversion 6) configuration: Commit id: cbc736f3c4431a04bf792982d02220182ea6667f Platform: osname=linux, osvers=2.6.32-5-amd64, archname=x86_64-linux-thread-multi uname='linux k81 2.6.32-5-amd64 #1 smp sat oct 30 14:18:21 utc 2010 x86_64 gnulinux ' config_args='-Dprefix=/home/src/perl/repoperls/installed-perls/perl/v5.13.6-313-gcbc736f -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Duseithreads -Uuselongdouble' 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.4.5', 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 libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.11.2.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.11.2' 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: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under linux Compiled at Dec 1 2010 20:20:17 @INC: /home/src/perl/repoperls/installed-perls/perl/v5.13.6-313-gcbc736f/lib/site_perl/5.13.6/x86_64-linux-thread-multi /home/src/perl/repoperls/installed-perls/perl/v5.13.6-313-gcbc736f/lib/site_perl/5.13.6 /home/src/perl/repoperls/installed-perls/perl/v5.13.6-313-gcbc736f/lib/5.13.6/x86_64-linux-thread-multi /home/src/perl/repoperls/installed-perls/perl/v5.13.6-313-gcbc736f/lib/5.13.6 . HTH, -- andreas
Subject: Re: [perl #80074] Bleadperl v5.13.6-313-gcbc736f breaks TINITA/HTML-Template-Compiled-0.94_002.tar.gz
Date: Wed, 8 Dec 2010 13:19:48 +0000
To: perl5-porters [...] perl.org
From: Nicholas Clark <nick [...] ccl4.org>
Download (untitled) / with headers
text/plain 1.2k
On Wed, Dec 01, 2010 at 01:49:16PM -0800, Andreas J. Koenig via RT wrote: Show quoted text
> commit cbc736f3c4431a04bf792982d02220182ea6667f > Author: Nicholas Clark <nick@ccl4.org> > Date: Mon Nov 1 13:08:07 2010 +0000 > > Refactor Storable::{net_,}pstore to return undef/true, instead of 1 or 0. > > This allows their only caller, Storable::_store(), to be > simplified, as $ret will now have the correct values for its > documented interface. > > Also, replace C<$ret = undef> with C<undef $ret>, as the latter is > equivalent, but uses 1 fewer op.
"It's a fair cop, guv". Fixed in 8e88cfee26d866223a6b3bfffce6270271de00db commit 8e88cfee26d866223a6b3bfffce6270271de00db Author: Nicholas Clark <nick@ccl4.org> Date: Wed Dec 8 11:34:49 2010 +0000 In Storable.xs fix #80074, caused by the Perl stack moving when expanded. cbc736f3c4431a04 refactored Storable::{net_,}pstore to simplify the logic in their caller, Storable::_store(). However, it introduced a bug, by assigning the result of do_store() to a location on the Perl stack, which fails if the Perl stack moves, because it was reallocated. Fix this assumption, and add a test which causes the Perl stack to expand during the call to do_store(). Nicholas Clark


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org