Debian Bug report logs - #847397
libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs

version graph

Package: src:libimager-perl; Maintainer for src:libimager-perl is Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>;

Reported by: Adrian Bunk <bunk@stusta.de>

Date: Wed, 7 Dec 2016 20:30:02 UTC

Severity: serious

Found in version libimager-perl/1.005+dfsg-1

Fixed in version libimager-perl/1.005+dfsg-2

Done: gregor herrmann <gregoa@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Wed, 07 Dec 2016 20:30:04 GMT) (full text, mbox, link).


Acknowledgement sent to Adrian Bunk <bunk@stusta.de>:
New Bug report received and forwarded. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 07 Dec 2016 20:30:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Adrian Bunk <bunk@stusta.de>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Wed, 07 Dec 2016 22:27:33 +0200
Source: libimager-perl
Version: 1.005+dfsg-1
Severity: serious

https://buildd.debian.org/status/package.php?p=libimager-perl&suite=sid

...
Test Summary Report
-------------------
t/150-type/030-double.t       (Wstat: 10 Tests: 16 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 136 tests but ran 16.
t/150-type/100-masked.t       (Wstat: 10 Tests: 97 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 244 tests but ran 97.
t/250-draw/100-fill.t         (Wstat: 10 Tests: 39 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 165 tests but ran 39.
t/250-draw/200-compose.t      (Wstat: 10 Tests: 59 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 120 tests but ran 59.
t/300-transform/010-scale.t   (Wstat: 10 Tests: 9 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 232 tests but ran 9.
t/300-transform/020-combine.t (Wstat: 10 Tests: 27 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 31 tests but ran 27.
t/300-transform/030-copyflip.t (Wstat: 10 Tests: 9 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 95 tests but ran 9.
t/300-transform/050-convert.t (Wstat: 10 Tests: 26 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 31 tests but ran 26.
t/400-filter/010-filters.t    (Wstat: 10 Tests: 36 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 124 tests but ran 36.
t/400-filter/020-autolevels.t (Wstat: 10 Tests: 2 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 4 tests but ran 2.
Files=66, Tests=3818, 409 wallclock secs ( 2.46 usr  0.40 sys + 87.20 cusr 313.36 csys = 403.42 CPU)
Result: FAIL
Failed 10/66 test programs. 0/3818 subtests failed.
Makefile:1584: recipe for target 'test_dynamic' failed
make[1]: *** [test_dynamic] Error 255



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Wed, 07 Dec 2016 22:24:05 GMT) (full text, mbox, link).


Acknowledgement sent to Tony Cook <tony@develop-help.com>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Wed, 07 Dec 2016 22:24:05 GMT) (full text, mbox, link).


Message #10 received at 847397@bugs.debian.org (full text, mbox, reply):

From: Tony Cook <tony@develop-help.com>
To: Adrian Bunk <bunk@stusta.de>, 847397@bugs.debian.org
Subject: Re: Bug#847397: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Thu, 8 Dec 2016 09:11:51 +1100
On Wed, Dec 07, 2016 at 10:27:33PM +0200, Adrian Bunk wrote:
> Source: libimager-perl
> Version: 1.005+dfsg-1
> Severity: serious
> 
> https://buildd.debian.org/status/package.php?p=libimager-perl&suite=sid
> 
> ...
> Test Summary Report
> -------------------
> t/150-type/030-double.t       (Wstat: 10 Tests: 16 Failed: 0)
>   Non-zero wait status: 10
>   Parse errors: Bad plan.  You planned 136 tests but ran 16.

This looks like an unaligned access from the tests that failed,
probably in imgdouble.c.

Would it be possible to get access to this (or similar) hardware to
debug on?

Otherwise a backtrace for a -g build from the crash would be handy:

  perl Makefile.PL OPTIMIZE=-g
  make
  gdb --args perl -Mblib t/150-type/030-double.t
  r
  <crash here?>
  bt

Thanks,
Tony



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Thu, 08 Dec 2016 19:09:05 GMT) (full text, mbox, link).


Acknowledgement sent to gregor herrmann <gregoa@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Thu, 08 Dec 2016 19:09:05 GMT) (full text, mbox, link).


Message #15 received at 847397@bugs.debian.org (full text, mbox, reply):

From: gregor herrmann <gregoa@debian.org>
To: Tony Cook <tony@develop-help.com>, 847397@bugs.debian.org
Cc: Adrian Bunk <bunk@stusta.de>
Subject: Re: Bug#847397: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Thu, 8 Dec 2016 20:07:23 +0100
[Message part 1 (text/plain, inline)]
On Thu, 08 Dec 2016 09:11:51 +1100, Tony Cook wrote:

> > https://buildd.debian.org/status/package.php?p=libimager-perl&suite=sid
> > 
> > ...
> > Test Summary Report
> > -------------------
> > t/150-type/030-double.t       (Wstat: 10 Tests: 16 Failed: 0)
> >   Non-zero wait status: 10
> >   Parse errors: Bad plan.  You planned 136 tests but ran 16.
> 
> This looks like an unaligned access from the tests that failed,
> probably in imgdouble.c.
> 
> Would it be possible to get access to this (or similar) hardware to
> debug on?

Difficult :/
 
> Otherwise a backtrace for a -g build from the crash would be handy:
> 
>   perl Makefile.PL OPTIMIZE=-g
>   make
>   gdb --args perl -Mblib t/150-type/030-double.t
>   r
>   <crash here?>
>   bt

Sure; this is from a mips sid chroot on minker (mips* porterbox):

First verify the build failure:

$ dpkg-buildpackage -uc -us
[..]
t/150-type/030-double.t ......... 
1..136
ok 1 - use Imager;
ok 2 - 1 channel image channel count mismatch
ok 3 - 1 channel image bad mask
ok 4 - 1 channel image thinks it is virtual
# 64 double bits
ok 5 - 1 channel image has bits != 64
ok 6 - 1 channel image isn't direct
ok 7 - 1 channel image width incorrect
ok 8 - 1 channel image height incorrect
ok 9 - 3 channel image channel count mismatch
ok 10 - 3 channel image bad mask
ok 11 - 3 channel image has bits != 64
ok 12 - 3 channel image isn't direct
ok 13 -  - got right color (0, 0)
ok 14 -  - got right color (99, 0)
ok 15 -  - got right color (0, 100)
ok 16 -  - got right color (99, 100)
Failed 120/136 subtests 
[..]
Test Summary Report
-------------------
t/150-type/030-double.t       (Wstat: 10 Tests: 16 Failed: 0)
  Non-zero wait status: 10
  Parse errors: Bad plan.  You planned 136 tests but ran 16.
[...]


Good. Now on the the debug build and test:

$ perl Makefile.PL OPTIMIZE=-g
[..]
$ make
[..]
$ gdb --args perl -Mblib t/150-type/030-double.t
[..]
(gdb) r
Starting program: /usr/bin/perl -Mblib t/150-type/030-double.t
warning: GDB can't find the start of the function at 0x77fc6b8c.

    GDB is unable to find the start of the function at 0x77fc6b8c
and thus can't determine the size of that function's stack frame.
This means that GDB may be unable to access that stack frame, or
the frames below it.
    This problem is most likely caused by an invalid program counter or
stack pointer.
    However, if you think GDB should simply search farther back
from 0x77fc6b8c for code which looks like the beginning of a
function, you can increase the range of the search using the `set
heuristic-fence-post' command.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/mips-linux-gnu/libthread_db.so.1".
warning: GDB can't find the start of the function at 0x77fc7648.
warning: GDB can't find the start of the function at 0x77fca0e8.
warning: GDB can't find the start of the function at 0x77fdb194.
1..136
warning: GDB can't find the start of the function at 0x77fca0e8.
warning: GDB can't find the start of the function at 0x77fdb194.
warning: GDB can't find the start of the function at 0x77fca0e8.
warning: GDB can't find the start of the function at 0x77fdb194.
warning: GDB can't find the start of the function at 0x77fca0e8.
warning: GDB can't find the start of the function at 0x77fdb194.
warning: GDB can't find the start of the function at 0x77fca0e8.
warning: GDB can't find the start of the function at 0x77fdb194.
ok 1 - use Imager;
ok 2 - 1 channel image channel count mismatch
ok 3 - 1 channel image bad mask
ok 4 - 1 channel image thinks it is virtual
# 64 double bits
ok 5 - 1 channel image has bits != 64
ok 6 - 1 channel image isn't direct
ok 7 - 1 channel image width incorrect
ok 8 - 1 channel image height incorrect
ok 9 - 3 channel image channel count mismatch
ok 10 - 3 channel image bad mask
ok 11 - 3 channel image has bits != 64
ok 12 - 3 channel image isn't direct
ok 13 -  - got right color (0, 0)
ok 14 -  - got right color (99, 0)
ok 15 -  - got right color (0, 100)
ok 16 -  - got right color (99, 100)
ok 17 - sanity glin @0 - check colors (0, 0)
ok 18 - sanity glin @100 - check colors (0, 100)
ok 19 - check after write - check colors (0, 1)
ok 20 - couldn't make double image
ok 21 - oo didn't give double image
ok 22 - not monochrome
ok 23 - oo copy didn't give double image
ok 24 - fail making 0 width image
ok 25 - and correct message
ok 26 - fail making 0 height image
ok 27 - and correct message
ok 28 - fail making -ve width image
ok 29 - and correct message
ok 30 - fail making -ve height image
ok 31 - and correct message
ok 32 - fail making 0 channel image
ok 33 - and correct message
ok 34 - fail making 5 channel image
ok 35 - and correct message
ok 36 - integer overflow check - 1 channel
ok 37 - but same width ok
ok 38 - but same height ok
ok 39 - check the error message
ok 40 - integer overflow check - 3 channel
ok 41 - but same width ok
ok 42 - but same height ok
ok 43 - check the error message
# channel mask tests
# with ppix
ok 44 - set to default mask
ok 45 - set to white all channels
ok 46 - got right color (0, 0)
ok 47 - set channel to exclude channel1
ok 48 - set to grey, no channel 2
ok 49 - got right color (0, 0)
# with plin
ok 50 - set to default mask
ok 51 - set to white all channels
ok 52 - got right color (0, 1)
ok 53 - set channel to exclude channel1
ok 54 - set to grey, no channel 2
ok 55 - got right color (0, 1)
# with ppixf
ok 56 - set to default mask
ok 57 - set to white all channels
ok 58 - ppixf - got right color (0, 2)
ok 59 - set channel to exclude channel1
ok 60 - set to grey, no channel 2
ok 61 - ppixf masked - got right color (0, 2)
# with plinf
ok 62 - set to default mask
ok 63 - set to white all channels
ok 64 - plinf - got right color (0, 3)
ok 65 - set channel to exclude channel1
ok 66 - set to grey, no channel 2
ok 67 - plinf masked - got right color (0, 3)
ok 68 - bounds check get (-1, 0)
ok 69 - bounds check get (10, 0)
ok 70 - bounds check get (0, -1)
ok 71 - bounds check get (0, 10)
ok 72 - bounds check get (-1, 0) float
ok 73 - bounds check get (10, 0) float
ok 74 - bounds check get (0, -1) float
ok 75 - bounds check get (0, 10) float
ok 76 - bounds check set (-1, 0)
ok 77 - bounds check set (10, 0)
ok 78 - bounds check set (0, -1)
ok 79 - bounds check set (0, 10)
ok 80 - bounds check set (-1, 0) float
ok 81 - bounds check set (10, 0) float
ok 82 - bounds check set (0, -1) float
ok 83 - bounds check set (0, 10) float
# check conversion to double
ok 84 - check bits
ok 85 - check image data matches
ok 86 - make empty image
ok 87 - convert empty image to double
ok 88 - check message
# psamp
ok 89 - i_psamp def channels, 3 samples
ok 90 - check color written
ok 91 - i_psamp def channels, 3 samples, masked
ok 92 - check color written
ok 93 - i_psamp channels listed, 3 samples, masked
ok 94 - check color written
ok 95 - i_psamp channels [0, 1], 4 samples
ok 96 - check first color written
ok 97 - check second color written
ok 98 - write a full row
ok 99 - check full row
ok 100 - i_psamp channels [0, 1, 2], 9 samples, but room for 6
ok 101 - i_psamp channels [0, 1, 3], 3 samples (invalid channel number)
ok 102 - check error message
ok 103 - i_psamp channels [0, 1, -1], 3 samples (invalid channel number)
ok 104 - check error message
ok 105 - negative y
ok 106 - check error message
ok 107 - y overflow
ok 108 - check error message
ok 109 - negative x
ok 110 - check error message
ok 111 - x overflow
ok 112 - check error message
# end psamp tests
# psampf
ok 113 - i_psampf def channels, 3 samples
ok 114 - check color written
ok 115 - i_psampf def channels, 3 samples, masked
ok 116 - check color written
ok 117 - i_psampf channels listed, 3 samples, masked
ok 118 - check color written
ok 119 - i_psampf channels [0, 1], 4 samples
ok 120 - check first color written
ok 121 - check second color written
ok 122 - write a full row
ok 123 - check full row
ok 124 - i_psampf channels [0, 1, 2], 9 samples, but room for 6
ok 125 - i_psampf channels [0, 1, 3], 3 samples (invalid channel number)
ok 126 - check error message
ok 127 - i_psampf channels [0, 1, -1], 3 samples (invalid channel number)
ok 128 - check error message
ok 129 - negative y
ok 130 - check error message
ok 131 - y overflow
ok 132 - check error message
ok 133 - negative x
ok 134 - check error message
ok 135 - x overflow
ok 136 - check error message
# end psampf tests
[Inferior 1 (process 23106) exited normally]

So no crash, no stack. But scary warnings at the top.

And I'm afraid that's where my gdb skills end :/


Cheers,
gregor


-- 
 .''`.  https://info.comodo.priv.at/ - Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Rolling Stones: Going Mad
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Thu, 08 Dec 2016 23:18:03 GMT) (full text, mbox, link).


Acknowledgement sent to Niko Tyni <ntyni@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Thu, 08 Dec 2016 23:18:03 GMT) (full text, mbox, link).


Message #20 received at 847397@bugs.debian.org (full text, mbox, reply):

From: Niko Tyni <ntyni@debian.org>
To: gregor herrmann <gregoa@debian.org>, 847397@bugs.debian.org
Cc: Tony Cook <tony@develop-help.com>, Adrian Bunk <bunk@stusta.de>
Subject: Re: Bug#847397: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Fri, 9 Dec 2016 01:14:23 +0200
TL;dr: this is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176

On Thu, Dec 08, 2016 at 08:07:23PM +0100, gregor herrmann wrote:
> On Thu, 08 Dec 2016 09:11:51 +1100, Tony Cook wrote:
> 
> > > https://buildd.debian.org/status/package.php?p=libimager-perl&suite=sid
> > > 
> > > ...
> > > Test Summary Report
> > > -------------------
> > > t/150-type/030-double.t       (Wstat: 10 Tests: 16 Failed: 0)
> > >   Non-zero wait status: 10
> > >   Parse errors: Bad plan.  You planned 136 tests but ran 16.
> > 
> > This looks like an unaligned access from the tests that failed,
> > probably in imgdouble.c.
> > 
> > Would it be possible to get access to this (or similar) hardware to
> > debug on?
> 
> Difficult :/

There's https://dsa.debian.org/doc/guest-account/ FWIW. But yes,
rather onerous.

> > Otherwise a backtrace for a -g build from the crash would be handy:
> > 
> >   perl Makefile.PL OPTIMIZE=-g

It goes away without the default optimization level -O2.

On eller.debian.org, mipsel chroot, with OPTIMIZE="-g -O2":

  ok 14 -  - got right color (99, 0)
  ok 15 -  - got right color (0, 100)
  ok 16 -  - got right color (99, 100)
  
  Program received signal SIGBUS, Bus error.
  0x77cc099c in i_glinf_ddoub (im=0x55774788, l=<optimized out>, r=<optimized out>, y=<optimized out>, 
      vals=0x5577d0b0) at imgdouble.c:280
  280             vals[i].channel[ch] = ((double *)im->idata)[off];
  (gdb) bt
  #0  0x77cc099c in i_glinf_ddoub (im=0x55774788, l=<optimized out>, r=<optimized out>, y=<optimized out>, 
      vals=0x5577d0b0) at imgdouble.c:280
  #1  0x77c68678 in XS_Imager_i_glinf (my_perl=0x5575d008, cv=<optimized out>) at Imager.xs:3771
  #2  0x55636f30 in Perl_pp_entersub (my_perl=0x5575d008) at pp_hot.c:3987
  #3  0x5562db20 in Perl_runops_standard (my_perl=0x5575d008) at run.c:41
  #4  0x5559c92c in S_run_body (oldscope=1, my_perl=0x5575d008) at perl.c:2488
  #5  perl_run (my_perl=0x5575d008) at perl.c:2411
  #6  0x5556cce0 in main (argc=<optimized out>, argv=<optimized out>, env=<optimized out>) at perlmain.c:116
  (gdb) p i 
  $1 = 0
  (gdb) p ch
  $2 = 1
  (gdb) p off
  $3 = 0
  
Everything looks 8-byte aligned to me:
  
  (gdb) p &(vals[i].channel[ch])
  $4 = (i_fsample_t *) 0x5577d0b8

  (gdb) p &(((double *)im->idata)[off])
  $5 = (double *) 0x77c1c008

Getting desperate enough to disassemble:

  (gdb) disassemble 
  Dump of assembler code for function i_glinf_ddoub:
     0x77cc091c <+0>:     bltz    a3,0x77cc09c8 <i_glinf_ddoub+172>
     0x77cc0920 <+4>:     nop
     0x77cc0924 <+8>:     lw      v0,8(a0)
     0x77cc0928 <+12>:    slt     v0,a3,v0
     0x77cc092c <+16>:    beqz    v0,0x77cc09c8 <i_glinf_ddoub+172>
     0x77cc0930 <+20>:    nop
     0x77cc0934 <+24>:    lw      v0,4(a0)
     0x77cc0938 <+28>:    slt     v1,a1,v0
     0x77cc093c <+32>:    beqz    v1,0x77cc09c8 <i_glinf_ddoub+172>
     0x77cc0940 <+36>:    nop
     0x77cc0944 <+40>:    bltz    a1,0x77cc09c8 <i_glinf_ddoub+172>
     0x77cc0948 <+44>:    slt     t3,v0,a2
     0x77cc094c <+48>:    lw      v1,0(a0)
     0x77cc0950 <+52>:    movn    a2,v0,t3
     0x77cc0954 <+56>:    move    t3,a2
     0x77cc0958 <+60>:    mul     a2,a3,v0
     0x77cc095c <+64>:    subu    t3,t3,a1
     0x77cc0960 <+68>:    addu    a3,a2,a1
     0x77cc0964 <+72>:    blez    t3,0x77cc09d0 <i_glinf_ddoub+180>
     0x77cc0968 <+76>:    mul     a3,a3,v1
     0x77cc096c <+80>:    lw      t2,16(sp)
     0x77cc0970 <+84>:    move    v0,zero
     0x77cc0974 <+88>:    blez    v1,0x77cc09b4 <i_glinf_ddoub+152>
     0x77cc0978 <+92>:    nop
     0x77cc097c <+96>:    sll     t0,a3,0x3
     0x77cc0980 <+100>:   move    a2,zero
     0x77cc0984 <+104>:   subu    t0,t0,t2
     0x77cc0988 <+108>:   move    a1,t2
     0x77cc098c <+112>:   lw      v1,32(a0)
     0x77cc0990 <+116>:   addiu   a2,a2,1
     0x77cc0994 <+120>:   addu    v1,v1,a1
     0x77cc0998 <+124>:   addiu   a1,a1,8
  => 0x77cc099c <+128>:   ldxc1   $f0,v1(t0)
     0x77cc09a0 <+132>:   sdc1    $f0,-8(a1)
     0x77cc09a4 <+136>:   lw      v1,0(a0)
     0x77cc09a8 <+140>:   slt     t1,a2,v1
     0x77cc09ac <+144>:   bnez    t1,0x77cc098c <i_glinf_ddoub+112>
     0x77cc09b0 <+148>:   addiu   a3,a3,1
     0x77cc09b4 <+152>:   addiu   v0,v0,1
     0x77cc09b8 <+156>:   bne     t3,v0,0x77cc0974 <i_glinf_ddoub+88>
     0x77cc09bc <+160>:   addiu   t2,t2,32
     0x77cc09c0 <+164>:   jr      ra
     0x77cc09c4 <+168>:   nop
     0x77cc09c8 <+172>:   jr      ra
     0x77cc09cc <+176>:   move    v0,zero
     0x77cc09d0 <+180>:   jr      ra
     0x77cc09d4 <+184>:   move    v0,t3
  End of assembler dump.

This seems to be the toolchain problem described at
 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176
as the underlying host here is also a 64-bit one and the conditions match:

  (gdb) p /x $t0   
  $7 = 0xaa882f50
  (gdb) p /x $v1
  $8 = 0xcd3990b8
  (gdb) p /x $t0 + $v1
  $9 = 0x77c1c008

FWIW building with gcc-5 works fine and passes all the tests. 
The disassembled code there uses ldc1 not ldxc1.

Unfortunately gcc doesn't seem to have a targeted option to disable this
optimization. Building with -O0 on mips and mipsel is probably the best
workaround we have (-O1 isn't enough.)
-- 
Niko Tyni   ntyni@debian.org



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Fri, 09 Dec 2016 00:03:05 GMT) (full text, mbox, link).


Acknowledgement sent to gregor herrmann <gregoa@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Fri, 09 Dec 2016 00:03:05 GMT) (full text, mbox, link).


Message #25 received at 847397@bugs.debian.org (full text, mbox, reply):

From: gregor herrmann <gregoa@debian.org>
To: Niko Tyni <ntyni@debian.org>
Cc: 847397@bugs.debian.org, Tony Cook <tony@develop-help.com>, Adrian Bunk <bunk@stusta.de>
Subject: Re: Bug#847397: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Fri, 9 Dec 2016 01:01:01 +0100
[Message part 1 (text/plain, inline)]
On Fri, 09 Dec 2016 01:14:23 +0200, Niko Tyni wrote:

> TL;dr: this is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176

Oh.
 
> > > Otherwise a backtrace for a -g build from the crash would be handy:
> > >   perl Makefile.PL OPTIMIZE=-g
> It goes away without the default optimization level -O2.
> 
> On eller.debian.org, mipsel chroot, with OPTIMIZE="-g -O2":
[..]

I think a want to book a workshop "gdb for harmless perl packagers"
:)
 
> Unfortunately gcc doesn't seem to have a targeted option to disable this
> optimization. Building with -O0 on mips and mipsel is probably the best
> workaround we have (-O1 isn't enough.)

I now cam up with the following change to d/rules:

+# #847397
+DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
+NOOPT = mips mipsel amd64
+ifneq (,$(filter $(DEB_HOST_ARCH), $(NOOPT)))
+export DEB_CFLAGS_MAINT_STRIP:=-O2
+export DEB_CFLAGS_MAINT_APPEND:=-O0
+endif

(committed and pushed). Does this make sense (if I remove the
debugging amd64 again, or course)?


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at/ - Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Bessie Tucker: Fryin' pan skillet blues
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Fri, 09 Dec 2016 00:03:06 GMT) (full text, mbox, link).


Message #28 received at 847397@bugs.debian.org (full text, mbox, reply):

From: pkg-perl-maintainers@lists.alioth.debian.org
To: 847397@bugs.debian.org, 847397-submitter@bugs.debian.org
Subject: Pending fixes for bugs in the libimager-perl package
Date: Fri, 09 Dec 2016 00:01:25 +0000
tag 847397 + pending
thanks

Some bugs in the libimager-perl package are closed in revision
0d8d69fb6c8dcc6086121c0346b73456f9887e3f in branch 'master' by gregor
herrmann

The full diff can be seen at
https://anonscm.debian.org/cgit/pkg-perl/packages/libimager-perl.git/commit/?id=0d8d69f

Commit message:

    Build with -O0 on mips and mipsel.
    
    Closes: #847397




Added tag(s) pending. Request was from pkg-perl-maintainers@lists.alioth.debian.org to control@bugs.debian.org. (Fri, 09 Dec 2016 00:03:08 GMT) (full text, mbox, link).


Message sent on to Adrian Bunk <bunk@stusta.de>:
Bug#847397. (Fri, 09 Dec 2016 00:03:13 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Fri, 09 Dec 2016 00:45:03 GMT) (full text, mbox, link).


Acknowledgement sent to Tony Cook <tony@develop-help.com>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Fri, 09 Dec 2016 00:45:03 GMT) (full text, mbox, link).


Message #38 received at 847397@bugs.debian.org (full text, mbox, reply):

From: Tony Cook <tony@develop-help.com>
To: gregor herrmann <gregoa@debian.org>
Cc: Niko Tyni <ntyni@debian.org>, 847397@bugs.debian.org, Adrian Bunk <bunk@stusta.de>
Subject: Re: Bug#847397: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Fri, 9 Dec 2016 11:39:58 +1100
On Fri, Dec 09, 2016 at 01:01:01AM +0100, gregor herrmann wrote:
> On Fri, 09 Dec 2016 01:14:23 +0200, Niko Tyni wrote:
> 
> > TL;dr: this is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176
> 
> Oh.
>  
> > > > Otherwise a backtrace for a -g build from the crash would be handy:
> > > >   perl Makefile.PL OPTIMIZE=-g
> > It goes away without the default optimization level -O2.
> > 
> > On eller.debian.org, mipsel chroot, with OPTIMIZE="-g -O2":
> [..]
> 
> I think a want to book a workshop "gdb for harmless perl packagers"
> :)
>  
> > Unfortunately gcc doesn't seem to have a targeted option to disable this
> > optimization. Building with -O0 on mips and mipsel is probably the best
> > workaround we have (-O1 isn't enough.)
> 
> I now cam up with the following change to d/rules:
> 
> +# #847397
> +DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
> +NOOPT = mips mipsel amd64
> +ifneq (,$(filter $(DEB_HOST_ARCH), $(NOOPT)))
> +export DEB_CFLAGS_MAINT_STRIP:=-O2
> +export DEB_CFLAGS_MAINT_APPEND:=-O0
> +endif
> 
> (committed and pushed). Does this make sense (if I remove the
> debugging amd64 again, or course)?
> 

That certainly looks like a sensible workaround.

Is there some mechanism that will remove it if the gcc (or perhaps
kernel) bug is fixed?

Tony



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Fri, 09 Dec 2016 07:09:05 GMT) (full text, mbox, link).


Acknowledgement sent to Niko Tyni <ntyni@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Fri, 09 Dec 2016 07:09:05 GMT) (full text, mbox, link).


Message #43 received at 847397@bugs.debian.org (full text, mbox, reply):

From: Niko Tyni <ntyni@debian.org>
To: Tony Cook <tony@develop-help.com>, 847397@bugs.debian.org
Cc: gregor herrmann <gregoa@debian.org>, Adrian Bunk <bunk@stusta.de>
Subject: Re: Bug#847397: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Fri, 9 Dec 2016 09:08:21 +0200
On Fri, Dec 09, 2016 at 11:39:58AM +1100, Tony Cook wrote:
> On Fri, Dec 09, 2016 at 01:01:01AM +0100, gregor herrmann wrote:
> > On Fri, 09 Dec 2016 01:14:23 +0200, Niko Tyni wrote:
> > 
> > > TL;dr: this is https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176

> > > Unfortunately gcc doesn't seem to have a targeted option to disable this
> > > optimization. Building with -O0 on mips and mipsel is probably the best
> > > workaround we have (-O1 isn't enough.)

> > +# #847397
> > +DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
> > +NOOPT = mips mipsel amd64
> > +ifneq (,$(filter $(DEB_HOST_ARCH), $(NOOPT)))
> > +export DEB_CFLAGS_MAINT_STRIP:=-O2
> > +export DEB_CFLAGS_MAINT_APPEND:=-O0
> > +endif

> That certainly looks like a sensible workaround.

Looks good to me too.

> Is there some mechanism that will remove it if the gcc (or perhaps
> kernel) bug is fixed?

The only way I can think of is building and running a test case during
every build and setting the gcc flags based on that. But I suppose this
would give a false negative when building on 'real' 32-bit systems that
don't exhibit the problem, yielding binaries that fail on 64-bit systems.
And it feels overkill to me anyway.

We could leave a bug open about the disabled optimization and hope that
somebody will review the bugs at some point...
-- 
Niko



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>:
Bug#847397; Package src:libimager-perl. (Fri, 09 Dec 2016 15:33:02 GMT) (full text, mbox, link).


Acknowledgement sent to gregor herrmann <gregoa@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>. (Fri, 09 Dec 2016 15:33:02 GMT) (full text, mbox, link).


Message #48 received at 847397@bugs.debian.org (full text, mbox, reply):

From: gregor herrmann <gregoa@debian.org>
To: Niko Tyni <ntyni@debian.org>
Cc: Tony Cook <tony@develop-help.com>, 847397@bugs.debian.org, Adrian Bunk <bunk@stusta.de>
Subject: Re: Bug#847397: libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
Date: Fri, 9 Dec 2016 16:29:16 +0100
[Message part 1 (text/plain, inline)]
On Fri, 09 Dec 2016 09:08:21 +0200, Niko Tyni wrote:

> > > +# #847397
> > > +DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
> > > +NOOPT = mips mipsel amd64
> > > +ifneq (,$(filter $(DEB_HOST_ARCH), $(NOOPT)))
> > > +export DEB_CFLAGS_MAINT_STRIP:=-O2
> > > +export DEB_CFLAGS_MAINT_APPEND:=-O0
> > > +endif
> 
> > That certainly looks like a sensible workaround.
> 
> Looks good to me too.

Thanks to both of you; uploaded to unstable now.
 
> > Is there some mechanism that will remove it if the gcc (or perhaps
> > kernel) bug is fixed?
[..]
> We could leave a bug open about the disabled optimization and hope that
> somebody will review the bugs at some point...

I've now at least added the gcc bug URL to d/rules; makes it easier
to check its status when working on our package.


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at/ - Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Carole King: I Feel The Earth Move
[signature.asc (application/pgp-signature, inline)]

Reply sent to gregor herrmann <gregoa@debian.org>:
You have taken responsibility. (Fri, 09 Dec 2016 16:30:22 GMT) (full text, mbox, link).


Notification sent to Adrian Bunk <bunk@stusta.de>:
Bug acknowledged by developer. (Fri, 09 Dec 2016 16:30:22 GMT) (full text, mbox, link).


Message #53 received at 847397-close@bugs.debian.org (full text, mbox, reply):

From: gregor herrmann <gregoa@debian.org>
To: 847397-close@bugs.debian.org
Subject: Bug#847397: fixed in libimager-perl 1.005+dfsg-2
Date: Fri, 09 Dec 2016 16:28:15 +0000
Source: libimager-perl
Source-Version: 1.005+dfsg-2

We believe that the bug you reported is fixed in the latest version of
libimager-perl, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 847397@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
gregor herrmann <gregoa@debian.org> (supplier of updated libimager-perl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Fri, 09 Dec 2016 16:24:29 +0100
Source: libimager-perl
Binary: libimager-perl
Architecture: source
Version: 1.005+dfsg-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
Changed-By: gregor herrmann <gregoa@debian.org>
Closes: 847397
Description: 
 libimager-perl - Perl extension for generating 24-bit images
Changes:
 libimager-perl (1.005+dfsg-2) unstable; urgency=medium
 .
   * Build with -O0 on mips and mipsel. (Closes: #847397)
Checksums-Sha1: 
 fe102b4a0adb9a1eb8bd8f138ca7a72ac74445ff 2528 libimager-perl_1.005+dfsg-2.dsc
 bad6a65dfe147a9b2f61cb4287ba3b432d5e20c9 11392 libimager-perl_1.005+dfsg-2.debian.tar.xz
Checksums-Sha256: 
 1006f2dbd9d0957d590ed8b2da97530367bd45691599ef2dbac758a85099cb37 2528 libimager-perl_1.005+dfsg-2.dsc
 5588e9fcf9788537f305e21ddf8f96db71b00a0d6107e205f25e42351cff955a 11392 libimager-perl_1.005+dfsg-2.debian.tar.xz
Files: 
 1f59225f54e216defb454b95cc18eca3 2528 perl optional libimager-perl_1.005+dfsg-2.dsc
 54c3493bc6f4e5d4f28b1c5760c520ee 11392 perl optional libimager-perl_1.005+dfsg-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAlhKza9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx
RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ
qgbUmw/8CP3r0YVN/jg/6/wtvpaEFXq02VyqY62+CXgu50+1QfTJoTlV5dVYzom0
krDabdXH+wER9nF0Gds27b/H3DX1yvIzVLrCJK65xdgXr97a7EnTdJj2xrbuK4m/
TdbzKc19eVvj5cw1o/2ZNIWA32pMpiSzIDEFdOovllb/wYO838xSzsu/1/TEddIW
bgLsrGdLBECy6TSA8DY/Ns/rcRUfCz+E1mazsy4L/NYOU3SimZjTjsblwQ/U1h6u
qt9d6iuGhSftRSkvpyQaXS6S191neA152ngsA2FUUb8bwY2Kx9tNnFunh3H6ZlGq
VP8udla7JijMlp4fHY3XYqGb+9Ob/ZMBA43ZQQmOE2MNupdWGPnebNT5naPYUodE
xJF6jUyLsDim4iPaajkEjKjguyTTmlA/ewb5LJWxAcoV+oAjzgHx0H53Wr06g3iF
aDCHy/JjfWG8woARkA6OCtAjzi9wV9zChsV7K4ZYLWp4XJwd2nFHwVwQSF2g9W6H
pCGfriSZ0e8wsMVZ41kdbQiBTN/+MFGC5Rh1p/0+f+P6bIQerI2UKN/WkipvfQOM
CTtrD/lPNh4QHRU92xdjC537BTVjSqe4KFxKv+485zOCbBVC5nAVPHE5DzaTGaDh
BxCdL80AUGfDyzHn8wmKQuRMPKNe4fSDCPAY8dY2CG4xFkWHuo4=
=0Hq4
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 27 Jan 2017 12:08:39 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Sep 27 07:46:30 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.