title: Causes of getting a java.lang.VerifyError
body: <p>I'm investigating the following <code>java.lang.VerifyError</code></p>
  
  <pre><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></pre>
  
  <p>It occurs when the jboss server in which the servlet is deployed is started.
  It is compiled with jdk-1.5.0_11 and I tried to recompile it with jdk-1.5.0_15 without succes. That is the compilation runs fine but when deployed, the java.lang.VerifyError occurs.</p>
  
  <p>When I changed the method name and got the following error:</p>
  
  <pre><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></pre>
  
  <p>You can see that more of the method signature is shown.</p>
  
  <p>The actual method signature is</p>
  
  <pre><code>  private PgasePdfTable getMonthData(int month, int year, Collection dayTypes,
                            Collection calendarDays,
                            HashMap bcSpecialDays,
                            Collection activityPeriods,
                            Locale locale, MessageResources resources) throws   Exception {
  </code></pre>
  
  <p>I already tried looking at it with <code>javap</code> and that gives the method signature as it should be.</p>
  
  <p>When my other colleagues check out the code, compile it and deploy it, they have the same problem. When the build server picks up the code and deploys it on development or testing environments (HPUX), the same error occurs. Also an automated testing machine running Ubuntu shows the same error during server startup.</p>
  
  <p>The rest of the application runs okay, only that one servlet is out of order.
  Any ideas where to look would be helpful.</p>