Tempo negativo do compilador JSP

O que pode estar causando um erro como esse? Javadoc para File.java diz que lançará essa exceção se for passado com um valor negativo. Portanto, a questão é: por que o jaspe está passando com um valor negativo? Procurei as fontes de jaspe, mas não encontrei as que correspondam exatamente ao que estou executando, os números das linhas não são exatamente iguais. A versão que defini a hora da última modificação de File.lastModified, que nunca deve retornar um valor negativo, de acordo com o javado

SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.IllegalArgumentException: Negative time
        at java.io.File.setLastModified(File.java:1258)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:376)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
        at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
        at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)

...

UPDATE: baixei as fontes do Tomcat e li as fontes. O código relevante do Compile.java é:

375   File javaFile = new File(ctxt.getServletJavaFileName());
376   Long jspLastModified = ctxt.getLastModified(ctxt.getJspFile());
377   javaFile.setLastModified(jspLastModified.longValue());

ctxt é um JspCompilationContext, que retorna -1 por padrão, se houver algum erro, e o File lança IllegalArgumentException a partir de um argumento negativo. Ainda não sei por que estou recebendo um erro, pelo menos sei de onde vem a IllegalArgumentException.

questionAnswers(4)

yourAnswerToTheQuestion