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 v5.27.2-34-g196a02af14 breaks SREZIC/Tk-804.033.tar.gz #16093

Closed
p5pRT opened this issue Jul 31, 2017 · 8 comments
Closed

Bleadperl v5.27.2-34-g196a02af14 breaks SREZIC/Tk-804.033.tar.gz #16093

p5pRT opened this issue Jul 31, 2017 · 8 comments

Comments

@p5pRT
Copy link

p5pRT commented Jul 31, 2017

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

Searchable as RT131821$

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

From @andk

commit 196a02a
Author​: David Mitchell <davem@​iabyn.com>
Date​: Fri Jul 21 17​:07​:51 2017 +0100

  add, and use, some RXp_FOO() variants of RX_FOO()

diagnostics


http​://www.cpantesters.org/cpan/report/7c798b1a-73f3-11e7-8625-e1142b4c90c2

perl -V


Summary of my perl5 (revision 5 version 27 subversion 3) configuration​:
  Commit id​: c1a6686
  Platform​:
  osname=linux
  osvers=4.9.0-2-amd64
  archname=x86_64-linux-ld
  uname='linux k93msid 4.9.0-2-amd64 #1 smp debian 4.9.18-1 (2017-03-30) x86_64 gnulinux '
  config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b -Dmyhostname=k93msid -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat -Uuseithreads -Duselongdouble -DEBUGGING=none'
  hint=recommended
  useposix=true
  d_sigaction=define
  useithreads=undef
  usemultiplicity=undef
  use64bitint=define
  use64bitall=define
  uselongdouble=define
  usemymalloc=n
  default_inc_excludes_dot=define
  bincompat5005=undef
  Compiler​:
  cc='cc'
  ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
  optimize='-O2'
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
  ccversion=''
  gccversion='6.3.0 20170406'
  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='long double'
  nvsize=16
  Off_t='off_t'
  lseeksize=8
  alignbytes=16
  prototype=define
  Linker and Libraries​:
  ld='cc'
  ldflags =' -fstack-protector-strong -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
  libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  libc=libc-2.24.so
  so=so
  useshrplib=false
  libperl=libperl.a
  gnulibc_version='2.24'
  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-strong'

Characteristics of this binary (from libperl)​:
  Compile-time options​:
  HAS_TIMES
  PERLIO_LAYERS
  PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_MALLOC_WRAP
  PERL_OP_PARENT
  PERL_PRESERVE_IVUV
  PERL_USE_DEVEL
  USE_64_BIT_ALL
  USE_64_BIT_INT
  USE_LARGE_FILES
  USE_LOCALE
  USE_LOCALE_COLLATE
  USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC
  USE_LOCALE_TIME
  USE_LONG_DOUBLE
  USE_PERLIO
  USE_PERL_ATOF
  Built under linux
  Compiled at Jul 27 2017 11​:01​:34
  %ENV​:
  PERL5LIB=""
  PERL5OPT=""
  PERL5_CPANPLUS_IS_RUNNING="12375"
  PERL5_CPAN_IS_RUNNING="12375"
  PERL_CANARY_STABILITY_NOPROMPT="1"
  PERL_MM_USE_DEFAULT="1"
  PERL_USE_UNSAFE_INC="1"
  @​INC​:
  /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/site_perl/5.27.3/x86_64-linux-ld
  /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/site_perl/5.27.3
  /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/5.27.3/x86_64-linux-ld
  /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/5.27.3
  .
 
--
andreas

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

From @jkeenan

On Mon, 31 Jul 2017 19​:36​:01 GMT, andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

commit 196a02a
Author​: David Mitchell <davem@​iabyn.com>
Date​: Fri Jul 21 17​:07​:51 2017 +0100

add, and use, some RXp_FOO() variants of RX_FOO()

diagnostics
-----------
http​://www.cpantesters.org/cpan/report/7c798b1a-73f3-11e7-8625-
e1142b4c90c2

As of commit 1fb2d10​:

#####
Test Summary Report


t/canvas.t (Wstat​: 0 Tests​: 166 Failed​: 0)
  TODO passed​: 124
t/listbox.t (Wstat​: 0 Tests​: 537 Failed​: 0)
  TODO passed​: 320-322, 328, 502
t/text.t (Wstat​: 256 Tests​: 415 Failed​: 1)
  Failed test​: 301
  TODO passed​: 121
  Non-zero exit status​: 1
t/wm-tcl.t (Wstat​: 0 Tests​: 315 Failed​: 0)
  TODO passed​: 87, 154-161, 164-165, 173-176, 181-182
  221-224, 237-239, 264-265, 275-276, 280-283
t/zzScrolled.t (Wstat​: 0 Tests​: 94 Failed​: 0)
  TODO passed​: 52, 66, 80, 94
Files=75, Tests=4350, 75 wallclock secs ( 0.73 usr 0.10 sys + 14.71 cusr 1.04 csys = 16.58 CPU)
Result​: FAIL
Failed 1/75 test programs. 1/4350 subtests failed.
#####

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jul 31, 2017

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

@p5pRT
Copy link
Author

p5pRT commented Aug 1, 2017

From @jkeenan

On Mon, 31 Jul 2017 23​:46​:33 GMT, jkeenan wrote​:

On Mon, 31 Jul 2017 19​:36​:01 GMT,
andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

commit 196a02a
Author​: David Mitchell <davem@​iabyn.com>
Date​: Fri Jul 21 17​:07​:51 2017 +0100

add, and use, some RXp_FOO() variants of RX_FOO()

diagnostics
-----------
http​://www.cpantesters.org/cpan/report/7c798b1a-73f3-11e7-8625-
e1142b4c90c2

As of commit 1fb2d10​:

#####
Test Summary Report
-------------------
t/canvas.t (Wstat​: 0 Tests​: 166 Failed​: 0)
TODO passed​: 124
t/listbox.t (Wstat​: 0 Tests​: 537 Failed​: 0)
TODO passed​: 320-322, 328, 502
t/text.t (Wstat​: 256 Tests​: 415 Failed​: 1)
Failed test​: 301
TODO passed​: 121
Non-zero exit status​: 1
t/wm-tcl.t (Wstat​: 0 Tests​: 315 Failed​: 0)
TODO passed​: 87, 154-161, 164-165, 173-176, 181-182
221-224, 237-239, 264-265, 275-276, 280-283
t/zzScrolled.t (Wstat​: 0 Tests​: 94 Failed​: 0)
TODO passed​: 52, 66, 80, 94
Files=75, Tests=4350, 75 wallclock secs ( 0.73 usr 0.10 sys + 14.71
cusr 1.04 csys = 16.58 CPU)
Result​: FAIL
Failed 1/75 test programs. 1/4350 subtests failed.
#####

Thank you very much.

I reduced the failing test program to the attachment, xtext.t.

I then got this output from 'prove'​:

#####
$ /testing/blead/bin/prove -I/testing/blead/lib -vb t/xtext.t
t/xtext.t ..
1..4
ok 1 - use Tk​::Text;
ok 2 - An object of class 'Tk​::Text' isa 'Tk​::Text'
ok 3 - An object of class 'Tk​::Text' isa 'Tk​::Widget'
not ok 4 - TextSearchCmd procedure, -regexp option with qr regexp and flags

# Failed test 'TextSearchCmd procedure, -regexp option with qr regexp and flags'
# at t/xtext.t line 49.
# got​: undef
# expected​: '1.1'
# Looks like you failed 1 test of 4.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/4 subtests

Test Summary Report


t/xtext.t (Wstat​: 256 Tests​: 4 Failed​: 1)
  Failed test​: 4
  Non-zero exit status​: 1
Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.10 cusr 0.01 csys = 0.14 CPU)
Result​: FAIL
#####

I then attempted to run this through the perl debugger. Since the result ended in a Segfault, I'm unsure how to proceed.

#####
$ /testing/blead/bin/perl -I/testing/blead/lib -Iblib/lib -I./blib/arch/auto -I./blib/arch/auto/Tk -I./blib/arch/auto/Tk/Event -I./blib/arch/auto/Tk/Text -d t/xtext.t
...
  DB<1>
main​::(t/xtext.t​:12)​: my $v;
  DB<1> c
ok 1 - use Tk​::Text;
ok 2 - An object of class 'Tk​::Text' isa 'Tk​::Text'
ok 3 - An object of class 'Tk​::Text' isa 'Tk​::Widget'
Signal SEGV at blib/lib/Tk.pm line 251.
  Tk​::__ANON__[blib/lib/Tk.pm​:251](Tk​::Text=HASH(0x31dc5c8), "-b", "-regexp", qr(X.Z)i, 1.4) called at t/xtext.t line 49
Aborted (core dumped)
#####
--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Aug 1, 2017

From @jkeenan

#!/usr/bin/perl -w
use strict;
use FindBin;
use lib $FindBin​::RealBin;
no warnings 'qw';

use Tk;
use TkTest qw(set_have_fixed_font with_fixed_font);
use Test​::More tests => 4;

use Getopt​::Long;
my $v;

GetOptions("v" => \$v)
  or die "usage​: $0 [-v]";

use_ok('Tk​::Text');

my $mw = MainWindow->new;
$mw->geometry("+10+10");

sub deleteWindows () {
  eval { $_->destroy } for $mw->children;
}

# Create entries in the option database to be sure that geometry options
# like border width have predictable values.

$mw->optionAdd('*Toplevel.borderWidth', 0);
$mw->optionAdd('*Text.borderWidth', 2);
$mw->optionAdd('*Text.highlightThickness', 2);
$mw->optionAdd('*Text.font', 'Courier -12');

my $t = $mw->Text(qw(Name t -width 20 -height 10));
isa_ok($t, "Tk​::Text");
isa_ok($t, "Tk​::Widget");
$t->pack(qw(-expand 1 -fill both));
$t->update;
$t->debug("on");

# The statements below reset the main window; it's needed if the window
# manager is mwm to make mwm forget about a previous minimum size setting.

$mw->withdraw;
$mw->minsize(1,1);
$mw->positionfrom("user");
$mw->deiconify;

is($t->search('-b', '-regexp', qr{X.Z}i, '1.4'), '1.1',
  q{TextSearchCmd procedure, -regexp option with qr regexp and flags});

__END__

@p5pRT
Copy link
Author

p5pRT commented Aug 4, 2017

From @iabyn

On Tue, Aug 01, 2017 at 05​:52​:06AM -0700, James E Keenan via RT wrote​:

On Mon, 31 Jul 2017 23​:46​:33 GMT, jkeenan wrote​:

On Mon, 31 Jul 2017 19​:36​:01 GMT,
andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

commit 196a02a
Author​: David Mitchell <davem@​iabyn.com>
Date​: Fri Jul 21 17​:07​:51 2017 +0100

add, and use, some RXp_FOO() variants of RX_FOO()

diagnostics
-----------
http​://www.cpantesters.org/cpan/report/7c798b1a-73f3-11e7-8625-
e1142b4c90c2

As of commit 1fb2d10​:
t/text.t (Wstat​: 256 Tests​: 415 Failed​: 1)
Failed test​: 301

Now fixed with

  commit 54249ef6e7d7e3b8fc4e2333ba66f188f7bb2ff9
  Author​: David Mitchell <davem@​iabyn.com>
  AuthorDate​: Fri Aug 4 08​:51​:49 2017 +0100
  Commit​: David Mitchell <davem@​iabyn.com>
  CommitDate​: Fri Aug 4 09​:02​:07 2017 +0100

  make utf8​::upgrade() of a REGEXP a NOOP
 
  RT #131821
 
  After my recent commit
 
  v5.27.2-30-gdf6b4bd, "give REGEXP SVs the POK flag again",
 
  $r = qr/.../; utf8​::upgrade($$r);
 
  was setting the utf8 flag on the compiled REGEXP SV, which made no sense,
  as the regex was already compiled and individual nodes would remain
  non-utf8.
 
  The POK flag was removed from REGEXPs in 5.18.0, but before then it didn't
  seem to matter if the utf8 flag got set later, but it does now - it broke
  a Tk test.

See the thread at http​://nntp.perl.org/group/perl.perl5.porters/245804
for further discussion.

The following commit may also have made a difference - but I'm not sure​:
I think Tk's use of RX_MATCH_UTF8_on() is elided by the ifdefs it uses.

  commit 1a07029271b2dea1a100603b34984e69778b26b9
  Author​: David Mitchell <davem@​iabyn.com>
  AuthorDate​: Tue Aug 1 10​:18​:47 2017 +0100
  Commit​: David Mitchell <davem@​iabyn.com>
  CommitDate​: Fri Aug 4 09​:02​:07 2017 +0100

  fix RX_MATCH_UTF8_on() macro
 
  v5.27.2-34-g196a02a reorganised the RX_FOO() macros, mostly redefining
  them in terms of the RXp_FOO() macros. A cut-an-paste error screwed up
  the definition of RX_MATCH_UTF8_on(), which is isn't used in core.

--
Monto Blanco... scorchio!

@p5pRT
Copy link
Author

p5pRT commented Aug 4, 2017

From @jkeenan

On Fri, 04 Aug 2017 08​:20​:44 GMT, davem wrote​:
[snip]

Now fixed with

commit 54249ef6e7d7e3b8fc4e2333ba66f188f7bb2ff9
Author​: David Mitchell <davem@​iabyn.com>
AuthorDate​: Fri Aug 4 08​:51​:49 2017 +0100
Commit​: David Mitchell <davem@​iabyn.com>
CommitDate​: Fri Aug 4 09​:02​:07 2017 +0100

make utf8​::upgrade() of a REGEXP a NOOP

RT #131821

After my recent commit

v5.27.2-30-gdf6b4bd, "give REGEXP SVs the POK flag again",

$r = qr/.../; utf8​::upgrade($$r);

was setting the utf8 flag on the compiled REGEXP SV, which made no
sense,
as the regex was already compiled and individual nodes would remain
non-utf8.

The POK flag was removed from REGEXPs in 5.18.0, but before then it
didn't
seem to matter if the utf8 flag got set later, but it does now - it
broke
a Tk test.

See the thread at http​://nntp.perl.org/group/perl.perl5.porters/245804
for further discussion.

The following commit may also have made a difference - but I'm not
sure​:
I think Tk's use of RX_MATCH_UTF8_on() is elided by the ifdefs it
uses.

commit 1a07029271b2dea1a100603b34984e69778b26b9
Author​: David Mitchell <davem@​iabyn.com>
AuthorDate​: Tue Aug 1 10​:18​:47 2017 +0100
Commit​: David Mitchell <davem@​iabyn.com>
CommitDate​: Fri Aug 4 09​:02​:07 2017 +0100

fix RX_MATCH_UTF8_on() macro

v5.27.2-34-g196a02a reorganised the RX_FOO() macros, mostly redefining
them in terms of the RXp_FOO() macros. A cut-an-paste error screwed up
the definition of RX_MATCH_UTF8_on(), which is isn't used in core.

Confirmed; marking ticket Resolved.
#####
Fetching http​://www.cpan.org/authors/id/S/SR/SREZIC/Tk-804.033.tar.gz ... OK
Configuring Tk-804.033 ... OK
Building and testing Tk-804.033 ... OK
Successfully installed Tk-804.033
1 distribution installed
#####
--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Aug 4, 2017

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant