On Thu, 14 Aug 2014 17:21:03 +0300, Damyan Ivanov wrote: > > libwx-perl has test failures on arm{el,hf}: > > https://buildd.debian.org/status/logs.php?pkg=libwx-perl&ver=1%3A0.9923-2 > > Here's a backtrace on abel (armel): > > ("BEGIN finished at t/01_load.t line 7." was inserted by me in the test.) > > (gdb) run -I blib/lib -I blib/arch t/01_load.t > Starting program: /usr/bin/debugperl -I blib/lib -I blib/arch t/01_load.t > Cannot access memory at address 0x0 > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/arm-linux-gnueabi/libthread_db.so.1". > 1..6 > Xlib: extension "RANDR" missing on display ":99". > ok 1 - use Wx; > BEGIN finished at t/01_load.t line 7. > > Program received signal SIGSEGV, Segmentation fault. > XS_Wx__load_plugin (my_perl=0x26b008, cv=<optimized out>) at Wx.c:646 > 646 RETVAL = PTR2IV( lib->GetLibHandle() ); > (gdb) bt > #0 XS_Wx__load_plugin (my_perl=0x26b008, cv=<optimized out>) at Wx.c:646
CPAN RT has something which looks similar: https://rt.cpan.org/Public/Bug/Display.html?id=90835 with no response. svn diff svn://svn.code.sf.net/p/wxperl/code/wxPerl/tags/release-0.9923/ svn://svn.code.sf.net/p/wxperl/code/wxPerl/trunk shows a new feature but nothing else. And I can reproduce the bug in a raspbian jessie armhf cowbuilder chroot :) > Oddly, a oneliner passes fine: > > $ xvfb-run perl -Iblib/lib -Iblib/arch -we'use strict; use Test::More tests > => 6; BEGIN { use_ok "Wx"; } use Wx "wxYES"; my $x = wxYES; ok(1, "export > ok");' > 1..6 > Xlib: extension "RANDR" missing on display ":99". > ok 1 - use Wx; > ok 2 - export ok > # Looks like you planned 6 tests but ran 2. Same here. That's really -- strange. This works: # xvfb-run -a perl -Iblib/lib -Iblib/arch -e 'use strict; use Test::More tests => 1; use_ok "Wx";' ; echo $? 1..1 Xlib: extension "RANDR" missing on display ":99". ok 1 - use Wx; 0 This works as well: # cat t/00_load.t #!/usr/bin/perl use strict; use Test::More tests => 1; use_ok "Wx"; # xvfb-run -a prove --blib t/00_load.t t/00_load.t .. Xlib: extension "RANDR" missing on display ":99". t/00_load.t .. ok All tests successful. Files=1, Tests=1, 1 wallclock secs ( 0.24 usr 0.00 sys + 1.04 cusr 0.04 csys = 1.32 CPU) Result: PASS And this as well: # cat t/00_load.t #!/usr/bin/perl use strict; use Test::More tests => 1; BEGIN { use_ok "Wx" } # xvfb-run -a prove --blib t/00_load.t t/00_load.t .. Xlib: extension "RANDR" missing on display ":99". t/00_load.t .. ok All tests successful. Files=1, Tests=1, 1 wallclock secs ( 0.24 usr 0.00 sys + 1.02 cusr 0.02 csys = 1.28 CPU) Result: PASS And this works too: # cat t/00_load.t #!/usr/bin/perl -w use strict; use Test::More tests => 2; BEGIN { use_ok "Wx" } use Wx 'wxYES'; my $x = wxYES; ok( 1, "Exported constant" ); # xvfb-run -a prove --blib t/00_load.t t/00_load.t .. Xlib: extension "RANDR" missing on display ":99". t/00_load.t .. ok All tests successful. Files=1, Tests=2, 1 wallclock secs ( 0.23 usr 0.00 sys + 1.08 cusr 0.00 csys = 1.31 CPU) Result: PASS What? Ok, after adjusting whitespace and quotation marks: # diff -u t/01_load.t t/00_load.t --- t/01_load.t 2014-08-14 16:01:38.000000000 +0000 +++ t/00_load.t 2014-08-14 16:02:06.000000000 +0000 @@ -1,7 +1,7 @@ #!/usr/bin/perl -w use strict; -use Test::More tests => 6; +use Test::More tests => 2; BEGIN { use_ok 'Wx' } @@ -9,23 +9,3 @@ my $x = wxYES; ok( 1, "Exported constant" ); - -SKIP: { - use Wx qw(:frame :allclasses wxNO_3D wxTAB_TRAVERSAL); - - $x = wxTAB_TRAVERSAL(); - $x = wxCAPTION(); - - ok( 1, "Export list with :allclasses" ); - ok( Wx::HtmlWindow->isa( 'Wx::Window' ), "Wx::Html was loaded" ); -} - -eval "use Wx qw(wxNO_SUCH_CONSTANT)"; -ok( $@, "Error exporting missing constant: $@" ); - -eval "Wx::wxNO_SUCH_CONSTANT()"; -ok( $@, "Error autoloading missing constant: $@" ); - -# Local variables: # -# mode: cperl # -# End: # So the original t/01_load.t and my t/00_load.t are identical before the SKIP. And still: # xvfb-run -a prove --blib --verbose t/00_load.t t/01_load.t t/00_load.t .. 1..2 Xlib: extension "RANDR" missing on display ":99". ok 1 - use Wx; ok 2 - Exported constant ok t/01_load.t .. 1..6 Xlib: extension "RANDR" missing on display ":99". ok 1 - use Wx; qemu: uncaught target signal 11 (Segmentation fault) - core dumped Failed 5/6 subtests Test Summary Report ------------------- t/01_load.t (Wstat: 139 Tests: 1 Failed: 0) Non-zero wait status: 139 Parse errors: Bad plan. You planned 6 tests but ran 1. Files=2, Tests=3, 3 wallclock secs ( 0.27 usr 0.00 sys + 2.71 cusr 0.06 csys = 3.04 CPU) Result: FAIL This is a bit mysterious ... Building with DEB_BUILD_OPTIONS=noopt leads to the same result. Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Nguyên Lê: Thang Long
signature.asc
Description: Digital Signature