[JIRA] (JENKINS-55977) httpRequest method causes NullPointerException

5 views
Skip to first unread message

pteichner@googlemail.com (JIRA)

unread,
Feb 5, 2019, 9:52:02 AM2/5/19
to jenkinsc...@googlegroups.com
Peter Teichner created an issue
 
Jenkins / Bug JENKINS-55977
httpRequest method causes NullPointerException
Issue Type: Bug Bug
Assignee: Janario Oliveira
Components: http-request-plugin, pipeline
Created: 2019-02-05 14:51
Environment: Jenkins: 2.89.2
HTTP Request Plugin version: 1.8.22
Labels: http-request pipeline
Priority: Blocker Blocker
Reporter: Peter Teichner

When using a request to create an object I get a nullPointer exception in attempt of reading the response content

The relevant section of the code

stage("WhiteSource") {
    steps {
        script {
            // Create a project in whiteSource and store it in whiteSourceID
            def whiteSourceURL = 'XXX'
            def body = """
            {
                "requestType" : "createProject",
                "productToken": "XXX",
                "projectName": "${params.artifactID}",
                "projectDescription" : "${params.artifactID}",
                "orgToken":"XXXX"
            
            }"""
            def response = httpRequest contentType: 'APPLICATION_JSON',
                    acceptType: 'APPLICATION_JSON',
                    httpMode: 'POST',
                    requestBody: body,
                    responseHandle: 'LEAVE_OPEN',
                    url: whiteSourceURL

            def props = readJSON text: response.content
            whiteSourceID = props.projectToken
            response.close()
        }
    }
}

Error stack from console

HttpMethod: POST
URL: https://app-eu.whitesourcesoftware.com/api
Content-type: application/json
Sending request to url: https://app-eu.whitesourcesoftware.com/api
Response Code: HTTP/1.1 200 OK
Success code from [100‥399]
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (SonarQube)
Stage "SonarQube" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Jenkins)
Stage "Jenkins" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Maven)
Stage "Maven" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (NodeJS)
Stage "NodeJS" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Docker)
Stage "Docker" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (GIT)
Stage "GIT" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
java.lang.NullPointerException
	at java.io.Reader.<init>(Reader.java:78)
	at java.io.InputStreamReader.<init>(InputStreamReader.java:97)
	at jenkins.plugins.http_request.ResponseContentSupplier.getContent(ResponseContentSupplier.java:100)
	at sun.reflect.GeneratedMethodAccessor40629.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
	at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:1850)
	at groovy.lang.MetaClassImpl.getProperty(MetaClassImpl.java:3758)
	at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:179)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.getProperty(ScriptBytecodeAdapter.java:456)
	at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:290)
	at org.kohsuke.groovy.sandbox.GroovyInterceptor.onGetProperty(GroovyInterceptor.java:68)
	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:279)
	at org.kohsuke.groovy.sandbox.impl.Checker$6.call(Checker.java:288)
	at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:292)
	at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:29)
	at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:20)
	at WorkflowScript.run(WorkflowScript:59)
	at ___cps.transform___(Native Method)
	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.get(PropertyishBlock.java:74)
	at com.cloudbees.groovy.cps.LValueBlock$GetAdapter.receive(LValueBlock.java:30)
	at com.cloudbees.groovy.cps.impl.PropertyishBlock$ContinuationImpl.fixName(PropertyishBlock.java:66)
	at sun.reflect.GeneratedMethodAccessor415.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
	at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
	at com.cloudbees.groovy.cps.Next.step(Next.java:83)
	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
	at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
	at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:122)
	at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:261)
	at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$101(SandboxContinuable.java:34)
	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.lambda$run0$0(SandboxContinuable.java:59)
	at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
	at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:58)
	at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:182)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:332)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$200(CpsThreadGroup.java:83)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:244)
	at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:232)
	at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

janario.oliveira@gmail.com (JIRA)

unread,
Jun 3, 2019, 3:54:02 PM6/3/19
to jenkinsc...@googlegroups.com
Janario Oliveira commented on Bug JENKINS-55977
 
Re: httpRequest method causes NullPointerException

Looking at the source code it seems that the entity is already null

```

  • Obtains the message entity of this response, if any.
  • The entity is provided by calling {@link #setEntity setEntity}

    .
    *

  • @return the response entity, or
  • {@code null}

    if there is none
    HttpEntity getEntity();
    ```

Can you confirm what is the status code for this request? usually 204 No Content might have an empty entity

I'll add a check anyway, I just would like to understand it better

Please let me know

janario.oliveira@gmail.com (JIRA)

unread,
Jun 3, 2019, 3:56:03 PM6/3/19
to jenkinsc...@googlegroups.com

janario.oliveira@gmail.com (JIRA)

unread,
Jun 3, 2019, 3:56:07 PM6/3/19
to jenkinsc...@googlegroups.com
Janario Oliveira started work on Bug JENKINS-55977
 
Change By: Janario Oliveira
Status: Open In Progress

janario.oliveira@gmail.com (JIRA)

unread,
Sep 8, 2019, 8:20:04 AM9/8/19
to jenkinsc...@googlegroups.com
Change By: Janario Oliveira
Status: In Review Closed
Resolution: Cannot Reproduce
Reply all
Reply to author
Forward
0 new messages