Bug#758127: libwx-perl: FTBFS on arm*
gregor herrmann
gregoa at debian.org
Thu Aug 14 16:46:12 UTC 2014
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: Digital Signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20140814/520c0952/attachment-0001.sig>
More information about the pkg-perl-maintainers
mailing list