Validation failed for some reasons

Unhelpful error from the IEEE

In mid-2021, I was preparing the final version of a paper for publication in an IEEE proceedings volume. Part of the IEEE's process is that you run your final publication-ready PDF through IEEE PDF eXpress, which runs various checks – ensuring the PDF has fonts embedded, isn't a scanned document, isn't password-protected, etc.

My PDF kept being rejected, but instead of an error message in the web interface, the "reason" I was given for rejection was another PDF file to download. But that PDF wouldn't open, flagged as corrupted/damaged by both macOS's built-in Preview PDF viewer, and Adobe Acrobat.

After trying to fix various things in my paper (make sure fonts really were embedded, etc.) and resubmitting a few times, I realized I was always getting the same 279-byte corrupted PDF file back in response. Looking at it in a hex editor, the reason it was "corrupted" became clear. The first four bytes were 0x504b0304 (aka "PK.."). It was a ZIP file named with a .pdf extension for some reason!

Renaming it to .zip and extracting revealed one plaintext file, named error.txt, containing this message:

PDF file validation failed for some reasons. You may try again or contact IEEE support team for help.

Not a very useful error message, and even less useful that it was inside a text file, inside a zip file, misnamed as a PDF. After trying various other things, I eventually just deleted my submission entirely, created a new one, and this time IEEE PDF eXpress accepted my paper without complaint. I'm still not sure what the problem was, but essentially "turn it off and back on again" worked.

I tweeted this experience at the time, and a few months later, Evgenii Zheltonozhskii found my tweet, but commented:

TFW this is the only reference to your problem in the entire internet, and the solution doesn't work

As of this writing, my two-year-old tweet seems to be the only occurrence on the internet of the strange text "PDF file validation failed for some reasons", so it is still periodically rediscovered years later.

I figured I would at least put it in a blog post for better discoverability, although I still do not know what causes this error or why it's conveyed in this manner. Alas, people with the issue will only find this blog post if they manage to solve the first part of the puzzle, finding the error message hidden in a text file inside a misnamed zip file.