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)
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.
This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.