Skip Menu |

This queue is for tickets about the Enbugger CPAN distribution.

Report information
The Basics
Id: 85224
Status: new
Priority: 0/
Queue: Enbugger

People
Owner: Nobody in particular
Requestors: peter [...] makholm.net
Cc:
AdminCc:

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



Subject: Fails to build with perl-5.18.0-RC2
Trying to install Enbugger on perl-5.18.0-RC2 fails with the following error in t/11load.t: Can't use an undefined value as a symbol reference at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 6141. at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 6141. DB::print_lineinfo('main::(t/11load.pl:157):\x{9}$Ok = \'undef\' if not defined $Ok;\x{a}') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 4285 DB::depth_print_lineinfo(1, 'main::(t/11load.pl:157):\x{9}$Ok = \'undef\' if not defined $Ok;\x{a}') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 3248 DB::Obj::_my_print_lineinfo('DB::Obj=HASH(0x15c8f90)', 157, 'main::(t/11load.pl:157):\x{9}$Ok = \'undef\' if not defined $Ok;\x{a}') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 3336 DB::Obj::_DB__grab_control('DB::Obj=HASH(0x15c8f90)') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 2644 DB::DB called at t/11load.pl line 157 Failed to run /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -Mblib t/11load.pl /tmp/OHODr42ySy: exit: 255 at t/Test/Enbugger.pm line 104. Full build.log attached.
Subject: build.log
cpanm (App::cpanminus) 1.5017 on perl 5.018000 built for x86_64-linux Work directory is /home/makholm/.cpanm/work/1368439070.17306 You have make /usr/bin/make You have LWP 6.05 You have /bin/tar: tar (GNU tar) 1.26 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason. You have /usr/bin/unzip --> Working on http://cpan.metacpan.org/authors/id/J/JJ/JJORE/Enbugger-2.013.tar.gz Fetching http://cpan.metacpan.org/authors/id/J/JJ/JJORE/Enbugger-2.013.tar.gz -> OK Unpacking Enbugger-2.013.tar.gz Entering Enbugger-2.013 Checking configure dependencies from META.yml Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.66) Configuring Enbugger-2.013 Running Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Enbugger Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.json ... Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.66) Checking if you have B::Utils 0 ... Yes (0.21) Checking if you have Test::More 0 ... Yes (0.98) Building and testing Enbugger-2.013 cp lib/Enbugger/NYTProf.pm blib/lib/Enbugger/NYTProf.pm cp lib/Enbugger/perl5db.pm blib/lib/Enbugger/perl5db.pm cp lib/Enbugger.pm blib/lib/Enbugger.pm cp lib/Enbugger/sdb.pm blib/lib/Enbugger/sdb.pm cp lib/Enbugger/ptkdb.pm blib/lib/Enbugger/ptkdb.pm cp lib/Enbugger/ebug.pm blib/lib/Enbugger/ebug.pm cp lib/Enbugger/OnError.pm blib/lib/Enbugger/OnError.pm cp lib/Enbugger/trepan.pm blib/lib/Enbugger/trepan.pm cp lib/Enbugger.pod blib/lib/Enbugger.pod /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/ExtUtils/xsubpp -typemap /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/ExtUtils/typemap Enbugger.xs > Enbugger.xsc && mv Enbugger.xsc Enbugger.c cc -c -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"2.013\" -DXS_VERSION=\"2.013\" -fPIC "-I/home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/x86_64-linux/CORE" Enbugger.c Running Mkbootstrap for Enbugger () chmod 644 Enbugger.bs rm -f blib/arch/auto/Enbugger/Enbugger.so cc -shared -O2 -L/usr/local/lib -fstack-protector Enbugger.o -o blib/arch/auto/Enbugger/Enbugger.so \ \ chmod 755 blib/arch/auto/Enbugger/Enbugger.so cp Enbugger.bs blib/arch/auto/Enbugger/Enbugger.bs chmod 644 blib/arch/auto/Enbugger/Enbugger.bs cp bin/screen-server-backend blib/script/screen-server-backend /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/screen-server-backend cp bin/tmux-server-backend blib/script/tmux-server-backend /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/tmux-server-backend cp bin/xterm-server-backend blib/script/xterm-server-backend /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/xterm-server-backend cp bin/tmux-server blib/script/tmux-server /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/tmux-server cp bin/xterm-server blib/script/xterm-server /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/xterm-server cp bin/screen-server blib/script/screen-server /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/screen-server Manifying blib/man1/tmux-server-backend.1 Manifying blib/man1/xterm-server-backend.1 Manifying blib/man1/tmux-server.1 Manifying blib/man1/xterm-server.1 Manifying blib/man1/screen-server.1 Manifying blib/man1/screen-server-backend.1 Manifying blib/man3/Enbugger::NYTProf.3 Manifying blib/man3/Enbugger::trepan.3 Manifying blib/man3/Enbugger::perl5db.3 Manifying blib/man3/Enbugger::ebug.3 Manifying blib/man3/Enbugger.3 PERL_DL_NONLAZY=1 /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/10load.t ...... ok #!perl # COPYRIGHT AND LICENCE # # Copyright (C) 2007,2008 WhitePages.com, Inc. with primary # development by Joshua ben Jore. # # This program is distributed WITHOUT ANY WARRANTY, including but not # limited to the implied warranties of merchantability or fitness for # a particular purpose. # # The program is free software. You may distribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation (either version 2 or any later version) # and the Perl Artistic License as published by O’Reilly Media, Inc. # Please open the files named gpl-2.0.txt and Artistic for a copy of # these licenses. use strict; use warnings; use Getopt::Long qw( GetOptions ); use vars qw( $Ok ); use lib qw( ./t/ ); BEGIN { =head1 DESCRIPTION This test attempts to run the perl5db debugger, gives it some commands, then tests that the commands occurred. In general the idea is that depending on how the Enbugger.xs code is modifying COP nodes, it could have either removed instrumentation from code that should be instrumented or done the reverse and instrumented the debugger itself. The output of this program can be read by another program and used in a test. =head1 OPTIONS =over =item --noimport Enbugger will be loaded without calling C<< ->import >>. =item --import ELT Adds an item to the C<< ->import >> argument list. =item --help Runs perldoc on this program. =item --load_perl5db After loading Enbugger, C<< Enbugger->load_perl5db >> will also be called. =back =cut $ENV{PERLDB_OPTS} = 'noTTY'; # Option parsing. my $import = 1; my @import = (); my $loadPerl5Db = 0; my $onError = 0; GetOptions( help => sub { exec {'perldoc'} 'perldoc', $0 }, noimport => sub { $import = 0 }, 'import=s' => \@import, load_perl5db => \ $loadPerl5Db, onerror => \ $onError, ) or exec {'perldoc'} 'perldoc', $0; # Promote some options into constants. require constant; constant->import( LoadPerl5Db => !! $loadPerl5Db ); # The test is whether the debugger runs and is controlled by my # test commands here. { no warnings 'once'; push @DB::typeahead, '$main::Ok = 1', 'c', 'q'; } # All our output will go to *OUT. If this program was given a # paramter, we accept it as file that we should write our output too. { my ( $file ) = shift @ARGV; if ( defined $file ) { open OUT, '>', $file or die "Can't open $file for writing: $!"; } else { *OUT = *STDOUT; } # OUTPUT is HOT. select *OUT; $| = 1; # Things written to STDERR should also go to our single *OUT. no warnings 'once'; *STDERR = $DB::OUT = $DB::LINEINFO = *OUT; } # Look to see if the debugger is on. Before I go and load # Enbugger, I figure I can at least count on being able to examine # $^P to see if we were started with the -d debugger flag. constant->import( UnderTheDebugger => !! $^P ); # Load Enbugger and completely knacker our process. This little # snippet used to just be a static `use Enbugger;' but I moved it # up here when it became obvious that I wanted to optionally avoid # importing anything. if ( $onError ) { require Enbugger::OnError; Enbugger::OnError->import; } else { require Enbugger; if ( $import ) { Enbugger->import( @import ); } } # Now dropping into normal run-time. } # Load the perl5db debugger if the user asked for us to do it # manually. Normally the ->stop method call will also do this for us. if ( LoadPerl5Db ) { Enbugger->load_perl5db; } # Trigger a breakpoint. # # At this point, I already supplied some commands to the debugger so # it should go set our $ok variable and then continue on # automatically. Enbugger->stop unless $Ok; # Check that the debugger was stopped and it processed the commands # requested of it. $Ok = 'undef' if not defined $Ok; print "\$ok = $Ok.\n"; ## Local Variables: ## mode: cperl ## mode: auto-fill ## cperl-indent-level: 4 ## tab-width: 8 ## End: Can't use an undefined value as a symbol reference at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 6141. at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 6141. DB::print_lineinfo('main::(t/11load.pl:157):\x{9}$Ok = \'undef\' if not defined $Ok;\x{a}') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 4285 DB::depth_print_lineinfo(1, 'main::(t/11load.pl:157):\x{9}$Ok = \'undef\' if not defined $Ok;\x{a}') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 3248 DB::Obj::_my_print_lineinfo('DB::Obj=HASH(0x15c8f90)', 157, 'main::(t/11load.pl:157):\x{9}$Ok = \'undef\' if not defined $Ok;\x{a}') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 3336 DB::Obj::_DB__grab_control('DB::Obj=HASH(0x15c8f90)') called at /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/lib/5.18.0/perl5db.pl line 2644 DB::DB called at t/11load.pl line 157 Failed to run /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/perl -Mblib t/11load.pl /tmp/OHODr42ySy: exit: 255 at t/Test/Enbugger.pm line 104. # Looks like your test exited with 255 before it could output anything. t/11load.t ...... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 12/12 subtests t/20error.t ..... ok t/21error.t ..... ok t/22signal.t .... ok # report_file: t/nytprof.out # report_dir: t/nytprof # nytprofcsv: /home/makholm/perl5/perlbrew/perls/perl-5.18.0-RC2/bin/nytprofcsv t/nytprof.t ..... ok t/trepantest.t .. skipped: Skipped because Devel::Trepan isn't installed Test Summary Report ------------------- t/11load.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 12 tests but ran 0. Files=7, Tests=19, 1 wallclock secs ( 0.02 usr 0.02 sys + 1.16 cusr 0.07 csys = 1.27 CPU) Result: FAIL Failed 1/7 test programs. 0/19 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing http://cpan.metacpan.org/authors/id/J/JJ/JJORE/Enbugger-2.013.tar.gz failed. See /home/makholm/.cpanm/build.log for details.