java.lang.ArrayIndexOutOfBoundsException: -255

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • On our jenkins (1.403) the following exception occured (only a restart can the system bring back to a normal behaviour): java.lang.ArrayIndexOutOfBoundsException: -255 at hudson.util.RingBufferLogHandler.publish(RingBufferLogHandler.java:52) at java.util.logging.Logger.log(Unknown Source) at java.util.logging.Logger.doLog(Unknown Source) at java.util.logging.Logger.log(Unknown Source) at java.util.logging.Logger.fine(Unknown Source) at hudson.security.SidACL.hasPermission(SidACL.java:54) at hudson.security.ACL.checkPermission(ACL.java:52) at hudson.model.Node.checkPermission(Node.java:316) at hudson.model.Hudson.getTarget(Hudson.java:3409) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:497) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:478) at org.kohsuke.stapler.Stapler.service(Stapler.java:160) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ... more After that all requests to jenkins fail with the same exception. The source of RingBufferLogHandler shows the usage of the primitive int's start and size which are incremented but never decremented ... private int start = 0; private final LogRecord[] records; private volatile int size = 0; ... public synchronized void publish(LogRecord record) { int len = records.length; records[(start+size)%len]=record; if(size==len) { start++; } else { size++; } } So after a time an overflow occures and cause the ArrayIndexOutOfBoundsException.
    via by Marco Rothe,
  • On our jenkins (1.403) the following exception occured (only a restart can the system bring back to a normal behaviour): java.lang.ArrayIndexOutOfBoundsException: -255 at hudson.util.RingBufferLogHandler.publish(RingBufferLogHandler.java:52) at java.util.logging.Logger.log(Unknown Source) at java.util.logging.Logger.doLog(Unknown Source) at java.util.logging.Logger.log(Unknown Source) at java.util.logging.Logger.fine(Unknown Source) at hudson.security.SidACL.hasPermission(SidACL.java:54) at hudson.security.ACL.checkPermission(ACL.java:52) at hudson.model.Node.checkPermission(Node.java:316) at hudson.model.Hudson.getTarget(Hudson.java:3409) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:497) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:478) at org.kohsuke.stapler.Stapler.service(Stapler.java:160) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) ... more After that all requests to jenkins fail with the same exception. The source of RingBufferLogHandler shows the usage of the primitive int's start and size which are incremented but never decremented ... private int start = 0; private final LogRecord[] records; private volatile int size = 0; ... public synchronized void publish(LogRecord record) { int len = records.length; records[(start+size)%len]=record; if(size==len) { start++; } else { size++; } } So after a time an overflow occures and cause the ArrayIndexOutOfBoundsException.
    via by Marco Rothe,
    • java.lang.ArrayIndexOutOfBoundsException: -255 at hudson.util.RingBufferLogHandler.publish(RingBufferLogHandler.java:52) at java.util.logging.Logger.log(Unknown Source) at java.util.logging.Logger.doLog(Unknown Source) at java.util.logging.Logger.log(Unknown Source) at java.util.logging.Logger.fine(Unknown Source) at hudson.security.SidACL.hasPermission(SidACL.java:54) at hudson.security.ACL.checkPermission(ACL.java:52) at hudson.model.Node.checkPermission(Node.java:316) at hudson.model.Hudson.getTarget(Hudson.java:3409) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:497) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:640) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:478) at org.kohsuke.stapler.Stapler.service(Stapler.java:160) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    No Bugmate found.