Bug#758127: libwx-perl: FTBFS on arm*
Damyan Ivanov
dmn at debian.org
Thu Aug 14 20:55:11 UTC 2014
-=| gregor herrmann, 14.08.2014 18:46:12 +0200 |=-
> 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
> >
>
> 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:
>
> … lots of details …
>
>
> This is a bit mysterious ...
>
>
> Building with DEB_BUILD_OPTIONS=noopt leads to the same result.
Tried on able too, same result. The backtrace is a bit different,
perhaps die to mission compiler optimizations:
Program received signal SIGSEGV, Segmentation fault.
0xb68e2614 in wxDynamicLibrary::GetLibHandle (this=0x0)
at /usr/include/wx-3.0/wx/dynlib.h:270
270 wxDllType GetLibHandle() const { return m_handle; }
(gdb) bt
#0 0xb68e2614 in wxDynamicLibrary::GetLibHandle (this=0x0)
at /usr/include/wx-3.0/wx/dynlib.h:270
#1 0xb6857824 in XS_Wx__load_plugin (my_perl=0x12008, cv=0x1c3d60) at Wx.c:646
#2 0xb6f1e8b4 in Perl_pp_entersub (my_perl=0x12008) at pp_hot.c:2888
#3 0xb6f170ac in Perl_runops_standard (my_perl=0x12008) at run.c:42
#4 0xb6ea58c0 in Perl_call_sv (my_perl=my_perl at entry=0x12008, sv=0x42baa8,
sv at entry=0xd, flags=flags at entry=13) at perl.c:2766
#5 0xb6ea76e8 in Perl_call_list (my_perl=0x156c28, my_perl at entry=0x12008,
oldscope=215644, oldscope at entry=13, paramList=0x12008) at perl.c:4921
#6 0xb6e8b7a8 in S_process_special_blocks (my_perl=my_perl at entry=0x12008,
floor=175, floor at entry=0, fullname=fullname at entry=0x34a5c "BEGIN",
gv=gv at entry=0x156c28, cv=cv at entry=0x42baa8) at op.c:7717
#7 0xb6e9eaf4 in Perl_newATTRSUB_flags (my_perl=my_perl at entry=0x12008,
floor=floor at entry=175, o=o at entry=0x68909c, proto=proto at entry=0x0,
attrs=0x0, attrs at entry=0x12008, block=0xb6e9f75c <Perl_newATTRSUB+36>,
block at entry=0xb6ea1ddc <Perl_utilize+1172>, flags=flags at entry=0)
at op.c:7681
#8 0xb6e9f75c in Perl_newATTRSUB (my_perl=my_perl at entry=0x12008,
floor=floor at entry=175, o=o at entry=0x68909c, proto=proto at entry=0x0,
attrs=attrs at entry=0x0, block=0x689050) at op.c:7354
#9 0xb6ea1ddc in Perl_utilize (my_perl=my_perl at entry=0x12008,
aver=<optimized out>, floor=175, version=<optimized out>, idop=0x5007bc,
arg=<optimized out>) at op.c:5139
#10 0xb6ed1834 in Perl_yyparse (my_perl=my_perl at entry=0x12008,
gramtype=gramtype at entry=258) at perly.y:397
#11 0xb6f4e398 in S_doeval (my_perl=my_perl at entry=0x12008, gimme=1,
gimme at entry=0, outside=outside at entry=0xbeffed84, seq=<optimized out>,
hh=hh at entry=0x0) at pp_ctl.c:3494
#12 0xb6f5a810 in Perl_pp_entereval (my_perl=0x12008) at pp_ctl.c:4205
#13 0xb6f170ac in Perl_runops_standard (my_perl=0x12008) at run.c:42
#14 0xb6ea58c0 in Perl_call_sv (my_perl=my_perl at entry=0x12008, sv=0x39678,
sv at entry=0x2, flags=flags at entry=13) at perl.c:2766
#15 0xb6ea76e8 in Perl_call_list (my_perl=0x2d610, my_perl at entry=0x12008,
oldscope=215644, oldscope at entry=2, paramList=0x12008) at perl.c:4921
#16 0xb6e8b7a8 in S_process_special_blocks (my_perl=my_perl at entry=0x12008,
floor=52, floor at entry=0, fullname=fullname at entry=0x34a5c "BEGIN",
gv=gv at entry=0x2d610, cv=cv at entry=0x39678) at op.c:7717
#17 0xb6e9eaf4 in Perl_newATTRSUB_flags (my_perl=my_perl at entry=0x12008,
floor=floor at entry=52, o=o at entry=0x4ff5ac, proto=proto at entry=0x0,
attrs=0x0, attrs at entry=0x12008, block=0xb6e9f75c <Perl_newATTRSUB+36>,
block at entry=0xb6ea1ddc <Perl_utilize+1172>, flags=flags at entry=0)
at op.c:7681
#18 0xb6e9f75c in Perl_newATTRSUB (my_perl=my_perl at entry=0x12008,
floor=floor at entry=52, o=o at entry=0x4ff5ac, proto=proto at entry=0x0,
attrs=attrs at entry=0x0, block=0x4ff530) at op.c:7354
#19 0xb6ea1ddc in Perl_utilize (my_perl=my_perl at entry=0x12008,
aver=<optimized out>, floor=52, version=<optimized out>, idop=0x4ff148,
arg=<optimized out>) at op.c:5139
#20 0xb6ed1834 in Perl_yyparse (my_perl=0x12008, my_perl at entry=0xa,
gramtype=gramtype at entry=258) at perly.y:397
#21 0xb6eaaf94 in S_parse_body (xsinit=0x1, env=0xb6fcc000,
my_perl=<optimized out>) at perl.c:2309
#22 perl_parse (my_perl=<optimized out>, xsinit=0x1, argc=<optimized out>,
argv=<optimized out>, env=env at entry=0x0) at perl.c:1626
#23 0x00008aa0 in main (argc=-1090521136, argv=0x8c78 <frame_dummy>,
env=0xb6ffed90 <_rtld_global_ro>) at perlmain.c:112
Looks like stack corruption which triggers a segfault in Wx. Hmm.
More information about the pkg-perl-maintainers
mailing list