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.