While trying to start a build remotely with CLI and authenticate with MS-AD credentials we receive this error on client:
$ java -jar ./hudson-cli.jar -s http:java.lang.NullPointerException
at hudson.util.CaseInsensitiveComparator.compare(CaseInsensitiveComparator.java:40)
at hudson.util.CaseInsensitiveComparator.compare(CaseInsensitiveComparator.java:34)
at java.util.TreeMap.getEntryUsingComparator(TreeMap.java:351)
at java.util.TreeMap.getEntry(TreeMap.java:322)
at java.util.TreeMap.get(TreeMap.java:255)
at hudson.util.CopyOnWriteMap.get(CopyOnWriteMap.java:89)
at hudson.model.Hudson.getItem(Hudson.java:1945)
at hudson.model.AbstractProject.findNearest(AbstractProject.java:1722)
at hudson.cli.handlers.AbstractProjectOptionHandler.parseArguments(AbstractProjectOptionHandler.java:54)
at org.kohsuke.args4j.CmdLineParser.parseArgument(CmdLineParser.java:435)
at hudson.cli.CLICommand.main(CLICommand.java:177)
at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:68)
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:274)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:255)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
at hudson.remoting.UserRequest.perform(UserRequest.java:114)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
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:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
And this on server (with --debug=9):
[Winstone 2010/09/08 17:43:42] - RHPool: Releasing handler thread - used: 2 unused: 3
[Winstone 2010/09/08 17:43:42] - Thread entering wait state
Sep 8, 2010 5:43:42 PM hudson.remoting.Channel$ReaderThread run
SEVERE: I/O error in channel HTTP full-duplex channel e0008b4b-c601-4543-a830-7de8a0afc83a
java.io.IOException: chunked stream ended unexpectedly
at hudson.util.ChunkedInputStream.getChunkSizeFromInputStream(ChunkedInputStream.java:225)
at hudson.util.ChunkedInputStream.nextChunk(ChunkedInputStream.java:197)
at hudson.util.ChunkedInputStream.read(ChunkedInputStream.java:120)
at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2249)
at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2542)
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2552)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1297)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at hudson.remoting.Channel$ReaderThread.run(Channel.java:875)
We use authorization mode is "Matrix-based security".
These 4 are the same issue, current ID included.
http://issues.jenkins-ci.org/browse/JENKINS-7406
http://issues.jenkins-ci.org/browse/JENKINS-7995
http://issues.jenkins-ci.org/browse/JENKINS-8188
http://issues.jenkins-ci.org/browse/JENKINS-8279