Bug#754125: [rt.cpan.org #97035] libimager-perl: FTBFS on s390x

gregor herrmann via RT bug-Imager at rt.cpan.org
Sun Jul 13 13:11:57 UTC 2014


<URL: https://rt.cpan.org/Ticket/Display.html?id=97035 >

On Mon Jul 07 18:30:19 2014, tony at develop-help.com wrote:

(Sorry for the late reply, our bug forwarding script didn't set requestor or
cc, so I didn't see your reply.)

> This is a segmentation fault, could I please get a backtrace from it?
> 
> $ perl Makefile.PL OPTIMIZE=-g
> $ make
> $ cd PNG
> $ gdb --args perl -Mblib t/10png.t
> ...
> gdb> bt

Unfortunately this doesn't work in the s390x chroot (while it works fine on
my local machine):

$ gdb --args perl -Mblib t/10png.t
GNU gdb (Debian 7.7.1-2) 7.7.1
[..]
Reading symbols from perl...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/perl -Mblib t/10png.t
Couldn't write registers: Invalid argument.
(gdb) 

Same for every program I try to run under gdb. -- Ah, seems to be
https://bugs.debian.org/728705

So let's try the workaround:

$ ulimit -c unlimited
$ perl -Mblib t/10png.t
1..251
ok 1 - must have png format
# Library version 10250
ok 2 - write
ok 3 - read png
# png average mean square pixel difference: 0
ok 4 - compare saved and original images
ok 5 - i_xres: 300
ok 6 - i_yres: 200
ok 7 - i_format: png
ok 8 - write tranparent
ok 9 - read transparent
# png average mean square pixel difference: 0
ok 10 - compare saved and original transparent
ok 11 - read transparent paletted image
ok 12 - read palette_out image
ok 13 - images the same
ok 14 - set width limit 149
ok 15 - should fail read due to size limits
# file size limit - image width of 150 exceeds limit of 149
ok 16 - check message
ok 17 - set height limit 149
ok 18 - should fail read due to size limits
# file size limit - image height of 150 exceeds limit of 149
ok 19 - check message
ok 20 - set width limit 150
ok 21 - should succeed - just inside width limit
ok 22 - set height limit 150
ok 23 - should succeed - just inside height limit
ok 24 - set bytes limit 67499
ok 25 - should fail - too many bytes
# file size limit - storage size of 67500 exceeds limit of 67499
ok 26 - check error message
ok 27 - set bytes limit 67500
ok 28 - should succeed - just inside bytes limit
ok 29 - check the image was loaded
ok 30 - check image matches
ok 31 - test write_multi() callback
ok 32 - test write_multi() callback failure
# closecb called
ok 33 - check failing close fails
ok 34 - check error message
ok 35 - check png in read types
ok 36 - check png in write types
Segmentation fault (core dumped)

$ gdb perl core
[..]
Core was generated by `perl -Mblib t/10png.t'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00000000fcef2068 in ?? ()
(gdb) bt
#0  0x00000000fcef2068 in ?? ()
#1  0x000003fffcee132e in png_error () from /lib/s390x-linux-gnu/libpng12.so.0
#2  0x000003fffcee169a in png_chunk_error () from /lib/s390x-linux-gnu/libpng12.so.0
#3  0x000003fffcecb480 in ?? () from /lib/s390x-linux-gnu/libpng12.so.0
#4  0x000003fffcecb84a in ?? () from /lib/s390x-linux-gnu/libpng12.so.0
#5  0x000003fffced56cc in png_read_info () from /lib/s390x-linux-gnu/libpng12.so.0
#6  0x000003fffcef2d66 in i_readpng_wiol (ig=0x82af2840, flags=0) at impng.c:362
#7  0x000003fffcef0da4 in XS_Imager__File__PNG_i_readpng_wiol (my_perl=0x822a5010, cv=0x82aba5a0) at PNG.c:195
#8  0x000003fffd37a4fa in Perl_pp_entersub () from /usr/lib/libperl.so.5.18
#9  0x000003fffd3713a8 in Perl_runops_standard () from /usr/lib/libperl.so.5.18
#10 0x000003fffd2f7d3a in perl_run () from /usr/lib/libperl.so.5.18
#11 0x0000000080000fa2 in main ()

With perl-debug installed:

(gdb) bt
#0  0x00000000fcef2068 in ?? ()
#1  0x000003fffcee132e in png_error () from /lib/s390x-linux-gnu/libpng12.so.0
#2  0x000003fffcee169a in png_chunk_error () from /lib/s390x-linux-gnu/libpng12.so.0
#3  0x000003fffcecb480 in ?? () from /lib/s390x-linux-gnu/libpng12.so.0
#4  0x000003fffcecb84a in ?? () from /lib/s390x-linux-gnu/libpng12.so.0
#5  0x000003fffced56cc in png_read_info () from /lib/s390x-linux-gnu/libpng12.so.0
#6  0x000003fffcef2d66 in i_readpng_wiol (ig=0x82af2840, flags=0) at impng.c:362
#7  0x000003fffcef0da4 in XS_Imager__File__PNG_i_readpng_wiol (my_perl=0x822a5010, cv=0x82aba5a0) at PNG.c:195
#8  0x000003fffd37a4fa in Perl_pp_entersub (my_perl=0x822a5010) at pp_hot.c:2888
#9  0x000003fffd3713a8 in Perl_runops_standard (my_perl=0x822a5010) at run.c:42
#10 0x000003fffd2f7d3a in S_run_body (oldscope=1, my_perl=0x822a5010) at perl.c:2467
#11 perl_run (my_perl=0x822a5010) at perl.c:2383
#12 0x0000000080000fa2 in main (argc=3, argv=0x3ffffb4dcc8, env=0x3ffffb4dce8) at perlmain.c:114



Cheers,
gregor



More information about the pkg-perl-maintainers mailing list