Bug#788825: libarchive-zip-perl: crashes when run by unoconv (versions > 1.30)

gregor herrmann gregoa at debian.org
Mon Jun 15 15:19:35 UTC 2015


On Mon, 15 Jun 2015 15:19:39 +0300, Stephen McGregor wrote:

>    * What led up to the situation?
> 
> running uncconv to convert an Open/libreoffice doc into a PDF. 
> 
> The crash only occurs if a version of libarchive-sip-perl greater than 1.30
> is installed. 
> 
> Version 1.30 runs fine.

Thanks for your bug report.
 
> 
>    * What exactly did you do (or not do) that was effective (or
>      ineffective)?
> 
> The command I ran was: 
> 
> 	unoconv -f pdf -n  -T 60 -e PageRange=1-2 inputFileName.odt
> 
>    * What was the outcome of this action?
> 
> (1) Error messages:
> 
> 	[sScalar found where operator expected at (eval 146) line 10, near "00397
> 	$fh" (Missing operator before $fh?) 
> 	Scalar found where operator expected at (eval 146) line 11, near "00398 $fh"
> 	(Missing operator before $fh?) 
> 	Number found where operator expected at (eval 146) line 13, near "00399 00400" (Missing operator before  00400?) 
> 	format error: CRC or size mismatch while skipping data descriptor at
> 	/usr/share/perl5/OpenOffice/OODoc/XPath.pm line 700.  format error: can't
> 	find EOCD signature at  ---running-program's--name-here---  line 189.
> 	[OpenOffice::OODoc::File::save] Archive I/O erro

This output confuses me:
/usr/share/perl5/OpenOffice/OODoc/XPath.pm and
OpenOffice::OODoc::File are from libopenoffice-oodoc-perl but neither
unoconv (which seems to be a python program) nor libarchive-zip-perl
depend on it. And I see no mention of Archive::Zip anywhere.

And: I can't reproduce the bug.

After starting the listener in one terminal (unoconv -l), I converted
83 *.odt file in a row with:
% for o in *.odt ; do unoconv -f pdf -n  -T 60 -e PageRange=1-2 "$o"; done

There was no output, and in the end I had 83 PDFs.
 
> (2) unoconv crashes, sending an error to the program that was using it 

Which program is using it?
Looks like there's something else involved, which might also use
OpenOffice::OODoc and cause the error output above.
 

OTOH, the line
| 	format error: CRC or size mismatch while skipping data descriptor at
is the same as the one mentioned at
https://github.com/redhotpenguin/perl-Archive-Zip/issues/11
which is supposed to be fixed in Archive::Zip 1.46, according to
https://metacpan.org/changes/distribution/Archive-Zip , so maybe
$unknown-program doesn't only use OpenOffice::OODoc but also
Archive::Zip?

https://rt.cpan.org/Public/Bug/Display.html?id=92205 also mentions
this issue.


(I just tried to update the package to 1.46-1 but there is a test
failure ...)


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer -  https://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Die Quote: Kali Spera Mamatschi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: Digital Signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20150615/084ed0af/attachment.sig>


More information about the pkg-perl-maintainers mailing list