Предполагаю, что валидатор проверяет разными каверзными способами. В том числе и на файлах больших размеров. У меня на маленьких файлах все работает, но проверка не прошла, потому что программа работала невежливо большое количество времени. Я думал и думаю, что размер массива равный половине файла слабое место. Там ли собака зарыта?