Skip Menu |

This queue is for tickets about the Data-Dump-Streamer CPAN distribution.

Report information
The Basics
Id: 100488
Status: open
Priority: 0/
Queue: Data-Dump-Streamer

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 2.38
Fixed in: (no value)



Subject: Test suite fails if PadWalker is not installed
On Fri Nov 21 02:33:07 2014, SREZIC wrote: Show quoted text
> See http://www.cpantesters.org/cpan/report/035a84a6-6cca-11e4-8201- > ee5a2fe5cfa2 for a sample fail report.
Does this happen just with bleadperl, or with older perls, too? I suspect this may be related to <https://rt.perl.org/rt3/Ticket/Display.html?id=123223>.
From: ntyni [...] iki.fi
On Fri Nov 21 02:33:07 2014, SREZIC wrote: Show quoted text
> See http://www.cpantesters.org/cpan/report/035a84a6-6cca-11e4-8201- > ee5a2fe5cfa2 for a sample fail report.
The tests are still/again failing here with version 2.39 on Perl 5.22.1 when PadWalker is not installed. The failure mode is # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/niko/tmp/libdata-dump-streamer-perl/blib/lib/Data/Dump/Streamer.pm line 3708.
Subject: Re: [rt.cpan.org #100488] Test suite fails if PadWalker is not installed
Date: Mon, 28 Dec 2015 17:31:46 +0100
To: "bug-Data-Dump-Streamer [...] rt.cpan.org" <bug-Data-Dump-Streamer [...] rt.cpan.org>
From: demerphq <demerphq [...] gmail.com>
On 27 December 2015 at 16:53, ntyni@iki.fi via RT <bug-Data-Dump-Streamer@rt.cpan.org> wrote: Show quoted text
> Queue: Data-Dump-Streamer > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=100488 > > > On Fri Nov 21 02:33:07 2014, SREZIC wrote:
>> See http://www.cpantesters.org/cpan/report/035a84a6-6cca-11e4-8201- >> ee5a2fe5cfa2 for a sample fail report.
> > The tests are still/again failing here with version 2.39 on Perl 5.22.1 when PadWalker is not installed. The failure mode is > > # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/niko/tmp/libdata-dump-streamer-perl/blib/lib/Data/Dump/Streamer.pm line 3708.
Do you think it would be ok to simply require Padwalker? Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"
On Mon Dec 28 11:31:57 2015, demerphq@gmail.com wrote: Show quoted text
> On 27 December 2015 at 16:53, ntyni@iki.fi via RT > <bug-Data-Dump-Streamer@rt.cpan.org> wrote:
> > Queue: Data-Dump-Streamer > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=100488 > > > > > On Fri Nov 21 02:33:07 2014, SREZIC wrote:
> >> See http://www.cpantesters.org/cpan/report/035a84a6-6cca-11e4-8201- > >> ee5a2fe5cfa2 for a sample fail report.
> > > > The tests are still/again failing here with version 2.39 on Perl > > 5.22.1 when PadWalker is not installed. The failure mode is > > > > # Can't locate object method "object_2svref" via package "B::PADNAME" > > at /home/niko/tmp/libdata-dump-streamer- > > perl/blib/lib/Data/Dump/Streamer.pm line 3708.
> > > Do you think it would be ok to simply require Padwalker? > > Yves
I confirm this happens on perl 5.22.1. Installing PadWalker made those test failures go away. Cheers!
5.24.1 Also needed PadWalker to make tests pass: + perl Build.PL --installdirs=vendor Installing Data::Dump::Streamer I can install a shortcut so you can use the package 'DDS' as though it was 'Data::Dump::Streamer'. This is handy for oneliners. *Note* that if you select 'no' below and you already have it installed then it will be removed. Would you like me to install the shortcut? (yes/no) [no ]no Checking prerequisites... recommends: * Algorithm::Diff is not installed * JSON::XS is not installed * PadWalker is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Data-Dump-Streamer' version '2.39' + ./Build Building Data-Dump-Streamer /usr/bin/gcc -I/usr/local/cpanel/3rdparty/perl/524/lib64/perl5/5.24.1/x86_64-linux-64int/CORE -DVERSION="2.39" -DXS_VERSION="2.39" -fPIC -c -DPERL_DISABLE_PMC -I/usr/local/cpanel/3rdparty/perl/524/include -L/usr/local/cpanel/3rdparty/perl/524/lib64 -I/usr/local/cpanel/3rdparty/include -L/usr/local/cpanel/3rdparty/lib64 -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -I/usr/local/cpanel/3rdparty/perl/524/include -I/usr/local/cpanel/3rdparty/include -L/usr/local/cpanel/3rdparty/perl/524/lib64 -L/usr/local/cpanel/3rdparty/lib64 -Os -o lib/Data/Dump/Streamer.o lib/Data/Dump/Streamer.c lib/Data/Dump/Streamer.xs: In function 'XS_Data__Dump__Streamer_alias_ref': lib/Data/Dump/Streamer.xs:542:25: warning: suggest parentheses around '&&' within '||' [-Wparentheses] if (!(dt < SVt_PVAV && st < SVt_PVAV || dt == st && dt <= SVt_PVHV)) ^ lib/Data/Dump/Streamer.c: At top level: lib/Data/Dump/Streamer.xs:152:1: warning: 'num_q' defined but not used [-Wunused-function] num_q(register char *s, register STRLEN slen) ^ ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Data/Dump/Streamer/Streamer.bs') /usr/bin/gcc -shared -Os -L/usr/local/cpanel/3rdparty/perl/524/lib64 -L/usr/local/cpanel/3rdparty/lib64 -L/usr/lib64 -L/lib64 -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Data/Dump/Streamer/Streamer.so lib/Data/Dump/Streamer.o + ./Build test t/as.t .............. ok t/blessed.t ......... ok t/dogpound.t ........ ok Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Looks like you planned 49 tests but ran 2. # Looks like your test exited with 255 just after 2. t/dump.t ............ Dubious, test returned 255 (wstat 65280, 0xff00) Failed 47/49 subtests t/filter.t .......... ok t/globtest.t ........ ok t/hardrefs.t ........ ok t/impure_madness.t .. ok # # PadWalker isn't installed # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Lexicals!!' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Self-referential' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Nested closure with shared state' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Overlapping declarations' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Overlapping declarations two' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Unrelated environments' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Shared state/enclosed' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'Named Shared state/enclosed' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'sub b' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'double sub b' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'recursively nested subs' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'EclipseName' # at t/test_helper.pl line 536. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'EclipseName 2' # at t/test_helper.pl line 536. # Looks like you failed 13 tests of 14. t/lexicals.t ........ Dubious, test returned 13 (wstat 3328, 0xd00) Failed 13/14 subtests t/locked.t .......... ok Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Looks like you planned 7 tests but ran 6. # Looks like your test exited with 255 just after 6. t/madness.t ......... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 1/7 subtests t/madness_json.t .... skipped: No JSON::XS t/madness_w.t ....... ok Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Looks like you planned 50 tests but ran 4. # Looks like your test exited with 255 just after 4. t/names.t ........... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 46/50 subtests # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test '&{} overloading' # at t/overload.t line 34. # Error: # Data::Dump::Streamer->Data(@_)->Out() failed dump: # normalize ( scalar $obj->Data(@_)->Out() ) # Can't locate object method "object_2svref" via package "B::PADNAME" at /home/rpmbuild/rpm-build/BUILD/Data-Dump-Streamer-2.39/blib/lib/Data/Dump/Streamer.pm line 3718. # Failed test 'overloading madness' # at t/test_helper.pl line 536. # Looks like you failed 2 tests of 7. t/overload.t ........ Dubious, test returned 2 (wstat 512, 0x200) Failed 2/7 subtests t/readonly.t ........ ok t/refaddr.t ......... ok t/refcount.t ........ ok t/refelem.t ......... ok t/reftype.t ......... ok t/sortkeys.t ........ ok t/tree.t ............ ok t/usage.t ........... ok t/xs_subs.t ......... ok Test Summary Report ------------------- t/dump.t (Wstat: 65280 Tests: 2 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 49 tests but ran 2. t/lexicals.t (Wstat: 3328 Tests: 14 Failed: 13) Failed tests: 1-6, 8-14 Non-zero exit status: 13 t/madness.t (Wstat: 65280 Tests: 6 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 7 tests but ran 6. t/names.t (Wstat: 65280 Tests: 4 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 50 tests but ran 4. t/overload.t (Wstat: 512 Tests: 7 Failed: 2) Failed tests: 4, 7 Non-zero exit status: 2 Files=24, Tests=268, 3 wallclock secs ( 0.09 usr 0.02 sys + 2.59 cusr 0.23 csys = 2.93 CPU) Result: FAIL Failed 5/24 test programs. 15/268 subtests failed.
Oh, look, a PATCH! I believe this will work all the way back to 5.8, but I have not tested it.
Subject: open_8rmPA5Q6.txt
diff -rup Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm --- Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm 2015-12-23 21:51:10.000000000 -0800 +++ Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm 2016-08-29 20:19:00.000000000 -0700 @@ -3715,7 +3715,7 @@ sub _get_lexicals { my %named; for my $i ( 0..$#name_obj ) { if ( ref($name_obj[$i])!~/SPECIAL/) { - $named{$i} = "${ $name_obj[$i]->object_2svref }"; + $named{$i} = $name_obj[$i]->PV; } }
On Mon Aug 29 23:20:38 2016, SPROUT wrote: Show quoted text
> Oh, look, a PATCH! > > I believe this will work all the way back to 5.8, but I have not tested it.
Perhaps it needs a little explanation. Here is a new patch that contains some. It is git-am-compatible.
Subject: new-patch.txt
From: Father Chrysostomos <sprout@cpan.org> Fix compatibility with B::PADNAME Without PadWalker installed, names of lexicals are fetched using B. We were using object_2svref and then stringifying the pad name SV itself, but that fails if pad names are no longer SVs. Just calling the PV method should work. Arguably it should have been done this way to begin with, since B::SV has a PV method. diff -rup Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm --- Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm 2015-12-23 21:51:10.000000000 -0800 +++ Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm 2016-08-29 20:19:00.000000000 -0700 @@ -3715,7 +3715,7 @@ sub _get_lexicals { my %named; for my $i ( 0..$#name_obj ) { if ( ref($name_obj[$i])!~/SPECIAL/) { - $named{$i} = "${ $name_obj[$i]->object_2svref }"; + $named{$i} = $name_obj[$i]->PV; } }
Subject: Re: [rt.cpan.org #100488] Test suite fails if PadWalker is not installed
Date: Tue, 30 Aug 2016 09:35:20 +0200
To: bug-Data-Dump-Streamer [...] rt.cpan.org
From: demerphq <demerphq [...] gmail.com>
I'm sorry I have been derelict of duty with this module. I will arrange to roll a new release asap. Yves On 30 Aug 2016 05:26, "Father Chrysostomos via RT" < bug-Data-Dump-Streamer@rt.cpan.org> wrote: Show quoted text
> Queue: Data-Dump-Streamer > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=100488 > > > On Mon Aug 29 23:20:38 2016, SPROUT wrote:
> > Oh, look, a PATCH! > > > > I believe this will work all the way back to 5.8, but I have not tested
> it. > > Perhaps it needs a little explanation. Here is a new patch that contains > some. It is git-am-compatible. > > > > > From: Father Chrysostomos <sprout@cpan.org> > > Fix compatibility with B::PADNAME > > Without PadWalker installed, names of lexicals are fetched using B. > We were using object_2svref and then stringifying the pad name SV > itself, but that fails if pad names are no longer SVs. Just calling > the PV method should work. Arguably it should have been done this way > to begin with, since B::SV has a PV method. > > diff -rup Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm > Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm > --- Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm > 2015-12-23 21:51:10.000000000 -0800 > +++ Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm 2016-08-29 > 20:19:00.000000000 -0700 > @@ -3715,7 +3715,7 @@ sub _get_lexicals { > my %named; > for my $i ( 0..$#name_obj ) { > if ( ref($name_obj[$i])!~/SPECIAL/) { > - $named{$i} = "${ $name_obj[$i]->object_2svref }"; > + $named{$i} = $name_obj[$i]->PV; > } > } > > >
Subject: Re: [rt.cpan.org #100488] Test suite fails if PadWalker is not installed
Date: Tue, 30 Aug 2016 10:17:14 +0200
To: "bug-Data-Dump-Streamer [...] rt.cpan.org" <bug-Data-Dump-Streamer [...] rt.cpan.org>
From: demerphq <demerphq [...] gmail.com>
I just released 2.40 with this patch. Hopefully this includes all the other open fixes too... On 30 August 2016 at 09:35, demerphq via RT <bug-Data-Dump-Streamer@rt.cpan.org> wrote: Show quoted text
> Queue: Data-Dump-Streamer > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=100488 > > > I'm sorry I have been derelict of duty with this module. I will arrange to > roll a new release asap. > > Yves > > On 30 Aug 2016 05:26, "Father Chrysostomos via RT" < > bug-Data-Dump-Streamer@rt.cpan.org> wrote: >
>> Queue: Data-Dump-Streamer >> Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=100488 > >> >> On Mon Aug 29 23:20:38 2016, SPROUT wrote:
>> > Oh, look, a PATCH! >> > >> > I believe this will work all the way back to 5.8, but I have not tested
>> it. >> >> Perhaps it needs a little explanation. Here is a new patch that contains >> some. It is git-am-compatible. >> >> >> >> >> From: Father Chrysostomos <sprout@cpan.org> >> >> Fix compatibility with B::PADNAME >> >> Without PadWalker installed, names of lexicals are fetched using B. >> We were using object_2svref and then stringifying the pad name SV >> itself, but that fails if pad names are no longer SVs. Just calling >> the PV method should work. Arguably it should have been done this way >> to begin with, since B::SV has a PV method. >> >> diff -rup Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm >> Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm >> --- Data-Dump-Streamer-2.39-1-orig/lib/Data/Dump/Streamer.pm >> 2015-12-23 21:51:10.000000000 -0800 >> +++ Data-Dump-Streamer-2.39-1/lib/Data/Dump/Streamer.pm 2016-08-29 >> 20:19:00.000000000 -0700 >> @@ -3715,7 +3715,7 @@ sub _get_lexicals { >> my %named; >> for my $i ( 0..$#name_obj ) { >> if ( ref($name_obj[$i])!~/SPECIAL/) { >> - $named{$i} = "${ $name_obj[$i]->object_2svref }"; >> + $named{$i} = $name_obj[$i]->PV; >> } >> } >> >> >>
>
-- perl -Mre=debug -e "/just|another|perl|hacker/"