javax.servlet.ServletException: java.lang.StringIndexOutOfBoundsException: String index out of range: 1

Jenkins JIRA | Samuel Delisle | 6 months ago
tip
Do you find the tips below useful? Click on the to mark them and say thanks to rafael . Or join the community to write better ones.
  1. 0

    In the Jenkins configuration page, under Mercurial installations, I get an exception if I enter this specific text in the Custom Configuration field: {noformat} [x] \: {noformat} There can be any text around these elements, but this appears to be the minimal amount of text that produces the exception. The exception pops as a web page under the field, with Jenkins top header and sidebar, which is kinda weird, too (see attached image). Here's the full text of the exception that is displayed: {noformat} javax.servlet.ServletException: java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:875) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:875) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648) at org.kohsuke.stapler.Stapler.service(Stapler.java:237) 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.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) 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.headerComplete(AbstractHttpConnection.java:949) at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) 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$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 1 at java.lang.String.charAt(Unknown Source) at org.ini4j.spi.EscapeTool.unescape(EscapeTool.java:111) at org.ini4j.spi.AbstractParser.unescapeFilter(AbstractParser.java:109) at org.ini4j.spi.AbstractParser.parseOptionLine(AbstractParser.java:90) at org.ini4j.spi.IniParser.parse(IniParser.java:101) at org.ini4j.spi.IniParser.parse(IniParser.java:62) at org.ini4j.Ini.load(Ini.java:109) at org.ini4j.Ini.<init>(Ini.java:50) at hudson.plugins.mercurial.MercurialInstallation$DescriptorImpl.doCheckConfig(MercurialInstallation.java:161) at sun.reflect.GeneratedMethodAccessor1055.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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:121) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745) ... 61 more {noformat} I'm not sure if that exception even has an effect on anything, and I have an easy workaround, which is to use [:] instead of \: in my regex. The config I was trying to use was this, if you're wondering why I even had that kind of pattern in there: {noformat} [subpaths] (http|https|ssh)(\://.*)/src/(.*) = \1\2-subrepos/\3 {noformat}

    Jenkins JIRA | 6 months ago | Samuel Delisle
    javax.servlet.ServletException: java.lang.StringIndexOutOfBoundsException: String index out of range: 1
  2. 0
    samebug tip
    Thrown by String methods to indicate that an index is either negative or greater than the size of the string. For some methods such as the charAt method, this exception also is thrown when the index is equal to the size of the string.
  3. 0

    Adding hyperlink to Excel while using Jexcelapi JAVA library

    Stack Overflow | 5 years ago | user1205275
    java.lang.StringIndexOutOfBoundsException: String index out of range: 1
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    IndexOutOfBoundsException, no clear cause

    Stack Overflow | 2 years ago
    java.lang.StringIndexOutOfBoundsException: String index out of range: 1
  6. 0

    Java lang stringindexoutofboundsexception string index out of range 1 - Java Programming - KnowCoding.com

    knowcoding.com | 11 months ago
    java.lang.StringIndexOutOfBoundsException: String index out of range: 1

  1. tyson925 1 times, last 1 month ago
  2. Torasque 1 times, last 2 months ago
  3. Hronom 32257 times, last 2 months ago
  4. filpgame 6 times, last 2 months ago
  5. harshg 2 times, last 5 months ago
9 more registered users
18 unregistered visitors
Not finding the right solution?
Take a tour to get the most out of Samebug.

Tired of useless tips?

Automated exception search integrated into your IDE

Root Cause Analysis

  1. java.lang.StringIndexOutOfBoundsException

    String index out of range: 1

    at java.lang.String.charAt()
  2. Java RT
    String.charAt
    1. java.lang.String.charAt(Unknown Source)
    1 frame
  3. ini4j
    Ini.<init>
    1. org.ini4j.spi.EscapeTool.unescape(EscapeTool.java:111)
    2. org.ini4j.spi.AbstractParser.unescapeFilter(AbstractParser.java:109)
    3. org.ini4j.spi.AbstractParser.parseOptionLine(AbstractParser.java:90)
    4. org.ini4j.spi.IniParser.parse(IniParser.java:101)
    5. org.ini4j.spi.IniParser.parse(IniParser.java:62)
    6. org.ini4j.Ini.load(Ini.java:109)
    7. org.ini4j.Ini.<init>(Ini.java:50)
    7 frames
  4. hudson.plugins.mercurial
    MercurialInstallation$DescriptorImpl.doCheckConfig
    1. hudson.plugins.mercurial.MercurialInstallation$DescriptorImpl.doCheckConfig(MercurialInstallation.java:161)
    1 frame
  5. Java RT
    Method.invoke
    1. sun.reflect.GeneratedMethodAccessor1055.invoke(Unknown Source)
    2. sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    3. java.lang.reflect.Method.invoke(Unknown Source)
    3 frames
  6. Stapler
    Stapler.service
    1. org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
    2. org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
    3. org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
    4. org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
    5. org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    6. org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745)
    7. org.kohsuke.stapler.Stapler.invoke(Stapler.java:875)
    8. org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
    9. org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
    10. org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:745)
    11. org.kohsuke.stapler.Stapler.invoke(Stapler.java:875)
    12. org.kohsuke.stapler.Stapler.invoke(Stapler.java:648)
    13. org.kohsuke.stapler.Stapler.service(Stapler.java:237)
    13 frames
  7. JavaServlet
    HttpServlet.service
    1. javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    1 frame
  8. Jetty
    ServletHandler$CachedChain.doFilter
    1. org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    2. org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
    2 frames
  9. Hudson
    PluginServletFilter.doFilter
    1. hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
    2. hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
    2 frames
  10. Jetty
    ServletHandler$CachedChain.doFilter
    1. org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    1 frame
  11. Hudson
    CrumbFilter.doFilter
    1. hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
    1 frame
  12. Jetty
    ServletHandler$CachedChain.doFilter
    1. org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    1 frame
  13. Hudson
    ChainedServletFilter$1.doFilter
    1. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
    2. hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
    3. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    3 frames
  14. jenkins.security
    ExceptionTranslationFilter.doFilter
    1. jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
    1 frame
  15. Hudson
    ChainedServletFilter$1.doFilter
    1. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    1 frame
  16. Acegi Security Core
    AnonymousProcessingFilter.doFilter
    1. org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
    1 frame
  17. Hudson
    ChainedServletFilter$1.doFilter
    1. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    1 frame
  18. Acegi Security Core
    RememberMeProcessingFilter.doFilter
    1. org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
    1 frame
  19. Hudson
    ChainedServletFilter$1.doFilter
    1. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    1 frame
  20. Acegi Security Core
    AbstractProcessingFilter.doFilter
    1. org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
    1 frame
  21. Hudson
    ChainedServletFilter$1.doFilter
    1. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    1 frame
  22. jenkins.security
    BasicHeaderProcessor.doFilter
    1. jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
    1 frame
  23. Hudson
    ChainedServletFilter$1.doFilter
    1. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    1 frame
  24. Acegi Security Core
    HttpSessionContextIntegrationFilter.doFilter
    1. org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
    1 frame
  25. Hudson
    HudsonFilter.doFilter
    1. hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
    2. hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
    3. hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
    4. hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
    4 frames
  26. Jetty
    ServletHandler$CachedChain.doFilter
    1. org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    1 frame
  27. Stapler
    CompressionFilter.doFilter
    1. org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
    1 frame
  28. Jetty
    ServletHandler$CachedChain.doFilter
    1. org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
    1 frame
  29. Hudson
    CharacterEncodingFilter.doFilter
    1. hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
    1 frame
  30. Jetty
    AsyncHttpConnection.handle
    1. org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
    2. org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
    3. org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    4. org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
    5. org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    6. org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    7. org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    8. org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    9. org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    10. org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    11. org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    12. org.eclipse.jetty.server.Server.handle(Server.java:370)
    13. org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    14. org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
    15. org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
    16. org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
    17. org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    18. org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    18 frames
  31. GWT dev
    SelectChannelEndPoint$1.run
    1. org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    2. org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    2 frames
  32. winstone
    BoundedExecutorService$1.run
    1. winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
    1 frame
  33. Java RT
    Thread.run
    1. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    2. java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    3. java.lang.Thread.run(Unknown Source)
    3 frames