View Single Post
Old 08-19-2024, 05:21 PM   #7
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,878
Karma: 6120478
Join Date: Nov 2009
Device: many
I found the following similar bug report:
Spoiler:

I am generating ePub of size more then 2 GB.

I create zip file first and then rename to .epub

I am using zip64

Python:
zp = zipfile.ZipFile(zipFileName, "w", zipfile.ZIP_DEFLATED, allowZip64=True)

more details: http://stackoverflow.com/questions/3...all-size-files

Then I pass ePub to ePub Checker and this give following exception.

FATAL(PKG-008): ./NOID.epub/NOID.epub(-1,-1): Unable to read file 'invalid CEN header (bad signature)'.

these means that epub can not read by the ePub Checker, so it will not given any error from ePub.

Java Version:

$ java -version
java version "1.7.0_101"
OpenJDK Runtime Environment (rhel-2.6.6.4.el6_8-x86_64 u101-b00)
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)
ePubcheck Version:
$ /opt/apache-tomcat-8.0.0/webapps/epubcheck4.0.1/epubcheck.jar

If Zip i.e. ePub file size is less than 2 GB then this error is not coming, but Zip i.e. ePub file size is more than 2 GB then this error is coming.


So it appears that some Java Virtual Machines releases do not support unpacking zip files that are greater than 2GB, which is overly massive for a epub.

Would your epub size be greater than 2GB? If so, you probably need a java jdk version that can read and write Zip64 format.

There was a recent regression in released java versions that impacted this as many zip creators set the extra data field to be 0 which also causes an exception to be thrown which ends up with this same error message.

So the java version you have does not like the zip that is created by python3 in the epubcheck python plugin code.

Last edited by KevinH; 08-19-2024 at 05:37 PM.
KevinH is offline   Reply With Quote