-
Bug
-
Resolution: Fixed
-
Major
-
None
Having m2release plugin installed on Hudson 2.2.0, it generates the following error when we try to perform a release (testing with dryRun)
Apr 16, 2012 2:31:16 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Stapler threw exception
java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject
at org.jvnet.hudson.plugins.m2release.M2ReleaseAction.doSubmit(M2ReleaseAction.java:239)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
...
Examining the source code, for M2ReleaseAction, it happens because there are not values in the form data for the parameter named "parameter"
M2ReleaseAction Code:
public void doSubmit(StaplerRequest req, StaplerResponse resp) ... {
...
JSONArray a = JSONArray.fromObject(formData.get("parameter"));
for (Object o : a) {
JSONObject jo = (JSONObject) o;
...
In order to solve this, check that we have "parameter"; or check for a possible JSONNull object:
Possible Fix:
JSONArray a = JSONArray.fromObject(formData.get("parameter"));
for (Object o : a) {
if (o instanceof JSONObject)
...
Note: The plugin is installed on Hudson with the workaround described in #JENKINS-12991
- is duplicated by
-
JENKINS-17264 m2release build fails with java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject
- Closed