Bug#430805: The problem is caused by Image::LibRSVG->isGzCompressionSupported

Niko Tyni ntyni at iki.fi
Tue Jul 3 07:33:13 UTC 2007


On Wed, Jun 27, 2007 at 12:03:20PM -0500, Gunnar Wolf wrote:

> ...I reproduced it - the problem is that $rsvg->loadImage with a
> svg.gz triggers a segfault, and all the tests from that point on don't
> get executed at all. Just to illustrate, from the source tree, just
> after the build died (hence with the compiled module in blib/):
> 
> $ perl -Iblib/lib -Iblib/arch -e 'use Image::LibRSVG; $rsvg=Image::LibRSVG->new; print $rsvg->loadImage("examples/artscontrol.svg.gz")'
> 
> triggers basically the same message as the one reported in the
> bug. 

The regression here is that libgsf 1.114.4-1 introduced changes
that broke applications not calling gsf_init() and using 'dynamic'
stream types like gzipped input.

This is #431104, and I'll send more details there.

In this case, libgsf is used by librsvg, which calls gsf_init() from
rsvg_init(). So instead of disabling .svgz support, we should just call
rsvg_init() from the constructor. Patch attached; this fixes the test
failures for me.

I'll forward this upstream as well.

> Now, the faulty function seems to be
> Image::LibRSVG->isGzCompressionSupported - In fact, it is not even
> documented, and the build does not depend on (nor ever mention)
> Perl's Compress::Zlib or C's zlib. This function is not even
> documented in the POD or used anywhere else in the code:

I think Image::LibRSVG->isGzCompressionSupported() is just an internal
function to make it easier to disable .svgz support if needed. The zlib
linkage comes from libgsf through librsvg.

Cheers,
-- 
Niko Tyni   ntyni at iki.fi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 430805.patch
Type: text/x-diff
Size: 231 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20070703/c07d603e/attachment-0001.patch 


More information about the pkg-perl-maintainers mailing list