I am getting a ClassFormatError when running the JDK. Why is this happening and what can I do to resolve it?

You may get a ClassFormatError when running the JDK for two possible reasons:

  • because some ASN.1 specifications lead to generation of a large number of initialized static variables which correspond to ASN.1 value references and information object sets. Some Java compilers combine such static initializations into one large internally defined method and it is possible that the method's size will exceed the 64K method size limit which is imposed by many existing JVMs. It can result in an application failure with a ClassFormatException thrown by the JVM. or
  • because some ASN.1 specifications have a very large number of components of a SEQUENCE, or SET. If you use the -limitCons option with a number exceeding 200, a constructor with a very large number of parameters for that type will be generated.

To resolve the first issue, you need to run the OSS ASN.1/Java compiler with the -splitValues option.

To resolve the later issue, you need to run the OSS ASN.1/Java compiler without the -limitCons option, or reduce the number that you use with the -limitCons option.

The samples included with some of the Knowledge Center answers are meant for your general understanding of the OSS products. Different versions of the products might produce slightly different outputs. Consult the products documentation and samples for the most up-to-date products information and code examples.

Contact Support
contact Our office hours
24 hours/day, 7 days/week

  • Phone: 1-888-OSS-2761 (USA and Canada)
  • Phone: 1-732-302-9669 (International)
  • Fax: 1-732-302-0023
  • Email: support@oss.com
Free Trial

Test drive the OSS Nokalva ASN.1, LTE, and XML Tools now! Your trial includes complete software, documentation, sample programs, free 24x7 technical support and more.

Learn ASN.1
Learn ASN.1

Our expert personnel can help you learn ASN.1!

We offer 4-day ASN.1 courses at our headquarters or your premises.