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