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

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Duplicate
    • Component/s: core
    • Labels:
      None
    • Environment:
      Mac OS X 10.9.1
    • Similar Issues:

      Description

      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

        Attachments

          Issue Links

            Activity

            Hide
            jglick 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.

            Show
            jglick 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.
            Hide
            karianna karianna added a comment -

            This was from a fresh install - no changes made.

            Show
            karianna karianna added a comment - This was from a fresh install - no changes made.
            Hide
            jglick 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.

            Show
            jglick 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.
            Hide
            karianna 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.

            Show
            karianna 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.
            Hide
            theneva 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.

            Show
            theneva 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.

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: