Causas da obtenção de um java.lang.VerifyError
Estou investigando o seguintejava.lang.VerifyError
<code>java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMonthData signature: (IILjava/util/Collection;Ljava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageRe˜̴Mt̴MÚw€mçw€mp:”MŒŒ at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357) at java.lang.Class.getConstructor0(Class.java:2671) </code>
Ocorre quando o servidor jboss no qual o servlet é implementado é iniciado. É compilado com o jdk-1.5.0_11 e tentei recompilá-lo com o jdk-1.5.0_15 sem sucesso. Essa é a compilação corre bem, mas quando implantado, o java.lang.VerifyError ocorre.
Quando mudei o nome do método e recebi o seguinte erro:
<code>java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMD signature: (IILjava/util/Collection;Lj ava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageResources ØÅN|ØÅNÚw€mçw€mX#ÖM|XÔM at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357 at java.lang.Class.getConstructor0(Class.java:2671) at java.lang.Class.newInstance0(Class.java:321) at java.lang.Class.newInstance(Class.java:303) </code>
Você pode ver que mais da assinatura do método é mostrada.
A assinatura do método real é
<code> private PgasePdfTable getMonthData(int month, int year, Collection dayTypes, Collection calendarDays, HashMap bcSpecialDays, Collection activityPeriods, Locale locale, MessageResources resources) throws Exception { </code>
Eu já tentei olhar para ele comjavap
e isso dá a assinatura do método como deveria ser.
Quando meus outros colegas checam o código, compilam e implantam, eles têm o mesmo problema. Quando o servidor de compilação coleta o código e o implementa em ambientes de desenvolvimento ou teste (HPUX), ocorre o mesmo erro. Também uma máquina de teste automatizada rodando o Ubuntu mostra o mesmo erro durante a inicialização do servidor.
O restante do aplicativo é executado corretamente, apenas que um servlet está fora de ordem. Qualquer ideia de onde procurar seria útil.