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

Bleadperl 9aa8b00 breaks ABELTJE/Test-Smoke-1.44 #10832

Closed
p5pRT opened this issue Nov 17, 2010 · 6 comments
Closed

Bleadperl 9aa8b00 breaks ABELTJE/Test-Smoke-1.44 #10832

p5pRT opened this issue Nov 17, 2010 · 6 comments

Comments

@p5pRT
Copy link

p5pRT commented Nov 17, 2010

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

Searchable as RT79302$

@p5pRT
Copy link
Author

p5pRT commented Nov 17, 2010

From @andk

What jumps into the eye is that in the testscript t/sysinfo_proc.t the
use of tie() happens before the package is parsed.

example tester report​:

  http​://www.cpantesters.org/cpan/report/9402960

git bisect​:

  commit 9aa8b00
  Author​: Father Chrysostomos <sprout@​cpan.org>
  Date​: Mon Oct 25 10​:52​:42 2010 -0700

  [perl #77688] tie $scalar can tie a handle

perl -V​:

  Summary of my perl5 (revision 5 version 13 subversion 6) configuration​:
  Commit id​: 9aa8b00
  Platform​:
  osname=linux, osvers=2.6.32-5-amd64, archname=x86_64-linux-ld
  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-127-g9aa8b00 -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Uuseithreads -Duselongdouble'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
  use64bitint=define, use64bitall=define, uselongdouble=define
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-O2',
  cppflags='-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='long double', nvsize=16, Off_t='off_t', lseeksize=8
  alignbytes=16, 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 -lc -lgdbm_compat
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -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​: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_USE_DEVEL
  USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES
  USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF
  Built under linux
  Compiled at Nov 16 2010 19​:26​:18
  @​INC​:
  /home/src/perl/repoperls/installed-perls/perl/v5.13.6-127-g9aa8b00/lib/site_perl/5.13.6/x86_64-linux-ld
  /home/src/perl/repoperls/installed-perls/perl/v5.13.6-127-g9aa8b00/lib/site_perl/5.13.6
  /home/src/perl/repoperls/installed-perls/perl/v5.13.6-127-g9aa8b00/lib/5.13.6/x86_64-linux-ld
  /home/src/perl/repoperls/installed-perls/perl/v5.13.6-127-g9aa8b00/lib/5.13.6
  .

--
andreas

@p5pRT
Copy link
Author

p5pRT commented Nov 21, 2010

From @cpansprout

On Nov 16, 2010, at 9​:15 PM, Andreas J. Koenig wrote​:

What jumps into the eye is that in the testscript t/sysinfo_proc.t the
use of tie() happens before the package is parsed.

What jumps into *my* eye is that it says tie $handle and $handle is a scalar. It should be tie *$handle.

tie $handle used to tie a handle if a typeglob had been assigned to $handle. I consider this change to be a bug fix (but feel free to remonstrate if you disagree).

The main problem here in 5.12 and earlier is that tied $scalar cannot reliably be used to see whether a scalar is tied, because a typeglob might have been assigned to or returned from it. The same happens with untie $scalar, which may or may not work, depending on what was last assigned. I fixed those and also made tie() match. This means that tie $scalar will always tie a scalar, and, if the scalar has been used before, you don’t have to check its value to see whether you need to undefine it to be able to tie it.

@p5pRT
Copy link
Author

p5pRT commented Nov 21, 2010

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

@p5pRT
Copy link
Author

p5pRT commented Nov 21, 2010

From @cpansprout

Begin forwarded message​:

From​: Father Chrysostomos <sprout@​cpan.org>
Date​: November 21, 2010 12​:50​:21 PM PST
To​: Andreas J. Koenig <andreas.koenig.7os6VVqR franz.ak.mind.de>
Cc​: perlbug perl.org, abeltje cpan.org, bug-Test-Smoke rt.cpan.org
Subject​: [rt.cpan.org #63073] [perl #79302] Re​: Bleadperl 9aa8b00 breaks ABELTJE/Test-Smoke-1.44

On Nov 16, 2010, at 9​:15 PM, Andreas J. Koenig wrote​:

What jumps into the eye is that in the testscript t/sysinfo_proc.t the
use of tie() happens before the package is parsed.

What jumps into *my* eye is that it says tie $handle and $handle is a scalar. It should be tie *$handle.

tie $handle used to tie a handle if a typeglob had been assigned to $handle. I consider this change to be a bug fix (but feel free to remonstrate if you disagree).

The main problem here in 5.12 and earlier is that tied $scalar cannot reliably be used to see whether a scalar is tied, because a typeglob might have been assigned to or returned from it. The same happens with untie $scalar, which may or may not work, depending on what was last assigned. I fixed those and also made tie() match. This means that tie $scalar will always tie a scalar, and, if the scalar has been used before, you don’t have to check its value to see whether you need to undefine it to be able to tie it.

@p5pRT
Copy link
Author

p5pRT commented Feb 26, 2011

From @cpansprout

This should have been ‘fixed’ by 7850f4d, which simply reverted a bug fix.

@p5pRT
Copy link
Author

p5pRT commented Feb 26, 2011

@cpansprout - 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
Development

No branches or pull requests

1 participant