Expecting a stackmap frame at branch target

Article ID:225066288
1 minute readKnowledge base

Issue

Seeing java.lang.VerifyError: Expecting a stackmap frame at branch target in the logs and / or Console output.

For example:

java.lang.VerifyError: Expecting a stackmap frame at branch target 29
Exception Details:
  Location:
    hudson/plugins/emailext/watching/EmailExtWatchAction$UserProperty.<init>(Ljava/util/List;)V @17: ifeq
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0x0000000: 2ab7 0013 2abb 0015 59b7 0016 1202 b800
    0x0000010: 1a99 000c c000 1cb5 001f a700 06b5 0021
    0x0000020: 2bc6 001c 2a2b b800 2712 02b8 001a 9900
    0x0000030: 0cc0 001c b500 1fa7 0006 b500 21b1

  at hudson.plugins.emailext.watching.EmailExtWatchAction$UserProperty$DescriptorImpl.<init>(EmailExtWatchAction.java:55)

Environment

  • CloudBees Jenkins Enterprise

Resolution

This is an issue with the plugin. Look at the stacktrace in the logs to determine which plugin.

You have two options:

1) Disable the plugin (if possible) and report the issue on https://issues.jenkins.io/secure/Dashboard.jspa.

NOTE: This is the recommended option.

2) Disable JVM bytecode verifier.

NOTE: This is not recommended, as it disables strict verification, which is an important security consideration.

I would read this before considering this option.

If running Jenkins on Java 8, add:

-noverify

If running Jenkins on Java 7, add:

-XX:-UseSplitVerifier

See How to add Java arguments to Jenkins for how to do this.