Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-21136

ArrayOutOfBounds on almost any admin function - Mac OS X 10.9.1 & Jenkins 1.544

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Blocker Blocker
    • core
    • None
    • Mac OS X 10.9.1

      javax.servlet.ServletException: java.lang.ArrayIndexOutOfBoundsException: -1
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:724)
      Caused by: java.lang.ArrayIndexOutOfBoundsException: -1
      at com.thoughtworks.xstream.core.util.OrderRetainingMap.entrySet(OrderRetainingMap.java:77)
      at java.util.HashMap.putMapEntries(HashMap.java:511)
      at java.util.HashMap.putAll(HashMap.java:784)
      at com.thoughtworks.xstream.core.util.OrderRetainingMap.<init>(OrderRetainingMap.java:36)
      at com.thoughtworks.xstream.converters.reflection.FieldDictionary.buildMap(FieldDictionary.java:135)
      at com.thoughtworks.xstream.converters.reflection.FieldDictionary.fieldsFor(FieldDictionary.java:76)
      at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:127)
      at hudson.util.RobustReflectionConverter.doMarshal(RobustReflectionConverter.java:143)
      at hudson.util.RobustReflectionConverter.marshal(RobustReflectionConverter.java:102)
      at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
      at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
      at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
      at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)
      at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
      at com.thoughtworks.xstream.XStream.marshal(XStream.java:898)
      at com.thoughtworks.xstream.XStream.marshal(XStream.java:887)
      at com.thoughtworks.xstream.XStream.toXML(XStream.java:860)
      at hudson.XmlFile.write(XmlFile.java:182)
      at jenkins.model.Jenkins.save(Jenkins.java:2653)
      at hudson.BulkChange.commit(BulkChange.java:112)
      at hudson.security.GlobalSecurityConfiguration.doConfigure(GlobalSecurityConfiguration.java:83)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:491)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      ... 45 more

          [JENKINS-21136] ArrayOutOfBounds on almost any admin function - Mac OS X 10.9.1 & Jenkins 1.544

          Jesse Glick added a comment -

          Check whether you can reproduce with a fresh $JENKINS_HOME, and if not, make a copy of your real home dir and try progressively removing half of its contents (while you can still reproduce), or restoring half (when not), until you have bisected the problem to a particular plugin, configuration setting, etc.

          Jesse Glick added a comment - Check whether you can reproduce with a fresh $JENKINS_HOME , and if not, make a copy of your real home dir and try progressively removing half of its contents (while you can still reproduce), or restoring half (when not), until you have bisected the problem to a particular plugin, configuration setting, etc.

          karianna added a comment -

          This was from a fresh install - no changes made.

          karianna added a comment - This was from a fresh install - no changes made.

          Jesse Glick added a comment -

          Hmm, not happening for me in 1.546-SNAPSHOT on Linux with Java 7u45. If you know how to run Jenkins in a debugger, check what PureJavaReflectionProvider is working on.

          Jesse Glick added a comment - Hmm, not happening for me in 1.546-SNAPSHOT on Linux with Java 7u45. If you know how to run Jenkins in a debugger, check what PureJavaReflectionProvider is working on.

          karianna added a comment -

          Will dig in if I get a little time after Xmas - to be fair Mac OS X is increasingly becoming a PITA as a development platform so I'm just likely to dump it and go with Linux.

          karianna added a comment - Will dig in if I get a little time after Xmas - to be fair Mac OS X is increasingly becoming a PITA as a development platform so I'm just likely to dump it and go with Linux.

          Martin Lehmann added a comment - - edited

          I encountered this as well (on Ubuntu), and it turned out to be an issue with our version of Java 8, which we were trying to run Jenkins on.

          This issue is a duplicate of https://issues.jenkins-ci.org/browse/JENKINS-18537

          ... which points to http://jira.codehaus.org/browse/XSTR-746

          The solution for me was to change the location of Java (in /etc/default/jenkins) to another installation (I picked Java 7). It now looks like the following.

          # location of java
          JAVA=/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

          Hope this helps if it is still an issue.

          Martin Lehmann added a comment - - edited I encountered this as well (on Ubuntu), and it turned out to be an issue with our version of Java 8, which we were trying to run Jenkins on. This issue is a duplicate of https://issues.jenkins-ci.org/browse/JENKINS-18537 ... which points to http://jira.codehaus.org/browse/XSTR-746 The solution for me was to change the location of Java (in /etc/default/jenkins) to another installation (I picked Java 7). It now looks like the following. # location of java JAVA=/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java Hope this helps if it is still an issue.

            Unassigned Unassigned
            karianna karianna
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: