Debian Bug report logs -
#847397
libimager-perl FTBFS on mips/mipsel: Failed 10/66 test programs
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
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):
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):
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):
[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):
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):
[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):
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):
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):
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):
[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):
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.