java.lang.IllegalArgumentException: The child value is null

Jenkins JIRA | Mateusz Lewicki | 4 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    Occurs in jenkins v 1.510 (and the older one too) with external-resource-dispatcher v1.0b Steps to reproduce: 1. Start with fresh jenkins with resources plugin 2. Create node "NodeT": launch method = launch slave agents via web start 3. Add metadata to node 4. add External Resource TreeNode "TreeNodeName" to the node metadata 5. add Resource to TreeNode: "ResourceName", id=7417, enabled 6. save node 7. start node via webstart 8. download node metadata (output attached): $ jenkins-cli -s http://localhost:8080 get-metadata -node NodeT > metadata.json 9. (optionally modify something in metadata.json) 10. try to upload metadata: $ jenkins-cli -s http://localhost:8080 update-metadata -replace -node NodeT < metadata.json Expected result: Metadata should be updated (replaced) Actual result Exception is thrown: $ jenkins-cli -s http://localhost:8080 update-metadata -replace -node NodeT < metadata.json Failed to authenticate with your SSH keys. Proceeding with anonymous access java.lang.IllegalArgumentException: The child value is null at com.sonyericsson.hudson.plugins.metadata.model.values.ParentUtil.replaceChild(ParentUtil.java:63) at com.sonyericsson.hudson.plugins.metadata.model.values.ParentUtil.replaceChildren(ParentUtil.java:100) at com.sonyericsson.hudson.plugins.metadata.cli.UpdateMetadataCommand.run(UpdateMetadataCommand.java:129) at hudson.cli.CLICommand.main(CLICommand.java:229) at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:92) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:275) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:256) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:63) at hudson.remoting.InterceptingExecutorService$2.call(InterceptingExecutorService.java:95) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Cause of error and FIX: ExternalResourceTreeNode.ExternalResourceTreeNodeDescriptor.fromJson(..) is not implemented (always returns null). Attached patch adds implementation. it's based on similar function for ExternalResource.

    Jenkins JIRA | 4 years ago | Mateusz Lewicki
    java.lang.IllegalArgumentException: The child value is null
  2. 0

    Occurs in jenkins v 1.510 (and the older one too) with external-resource-dispatcher v1.0b Steps to reproduce: 1. Start with fresh jenkins with resources plugin 2. Create node "NodeT": launch method = launch slave agents via web start 3. Add metadata to node 4. add External Resource TreeNode "TreeNodeName" to the node metadata 5. add Resource to TreeNode: "ResourceName", id=7417, enabled 6. save node 7. start node via webstart 8. download node metadata (output attached): $ jenkins-cli -s http://localhost:8080 get-metadata -node NodeT > metadata.json 9. (optionally modify something in metadata.json) 10. try to upload metadata: $ jenkins-cli -s http://localhost:8080 update-metadata -replace -node NodeT < metadata.json Expected result: Metadata should be updated (replaced) Actual result Exception is thrown: $ jenkins-cli -s http://localhost:8080 update-metadata -replace -node NodeT < metadata.json Failed to authenticate with your SSH keys. Proceeding with anonymous access java.lang.IllegalArgumentException: The child value is null at com.sonyericsson.hudson.plugins.metadata.model.values.ParentUtil.replaceChild(ParentUtil.java:63) at com.sonyericsson.hudson.plugins.metadata.model.values.ParentUtil.replaceChildren(ParentUtil.java:100) at com.sonyericsson.hudson.plugins.metadata.cli.UpdateMetadataCommand.run(UpdateMetadataCommand.java:129) at hudson.cli.CLICommand.main(CLICommand.java:229) at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:92) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:275) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:256) at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:63) at hudson.remoting.InterceptingExecutorService$2.call(InterceptingExecutorService.java:95) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Cause of error and FIX: ExternalResourceTreeNode.ExternalResourceTreeNodeDescriptor.fromJson(..) is not implemented (always returns null). Attached patch adds implementation. it's based on similar function for ExternalResource.

    Jenkins JIRA | 4 years ago | Mateusz Lewicki
    java.lang.IllegalArgumentException: The child value is null

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      The child value is null

      at com.sonyericsson.hudson.plugins.metadata.model.values.ParentUtil.replaceChild()
    2. com.sonyericsson.hudson
      UpdateMetadataCommand.run
      1. com.sonyericsson.hudson.plugins.metadata.model.values.ParentUtil.replaceChild(ParentUtil.java:63)
      2. com.sonyericsson.hudson.plugins.metadata.model.values.ParentUtil.replaceChildren(ParentUtil.java:100)
      3. com.sonyericsson.hudson.plugins.metadata.cli.UpdateMetadataCommand.run(UpdateMetadataCommand.java:129)
      3 frames
    3. Hudson
      CliManagerImpl.main
      1. hudson.cli.CLICommand.main(CLICommand.java:229)
      2. hudson.cli.CliManagerImpl.main(CliManagerImpl.java:92)
      2 frames
    4. Java RT
      Method.invoke
      1. sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      2. sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      3. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      4. java.lang.reflect.Method.invoke(Method.java:597)
      4 frames
    5. Hudson :: Remoting Layer
      InterceptingExecutorService$1.call
      1. hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:275)
      2. hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:256)
      3. hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
      4. hudson.remoting.UserRequest.perform(UserRequest.java:118)
      5. hudson.remoting.UserRequest.perform(UserRequest.java:48)
      6. hudson.remoting.Request$2.run(Request.java:326)
      7. hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
      7 frames
    6. Hudson
      CliManagerImpl$1.call
      1. hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:63)
      1 frame
    7. Hudson :: Remoting Layer
      InterceptingExecutorService$2.call
      1. hudson.remoting.InterceptingExecutorService$2.call(InterceptingExecutorService.java:95)
      1 frame
    8. Java RT
      Thread.run
      1. java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      2. java.util.concurrent.FutureTask.run(FutureTask.java:138)
      3. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
      4. java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
      5. java.lang.Thread.run(Thread.java:662)
      5 frames