-
Bug
-
Resolution: Unresolved
-
Major
-
None
Use case -> Using GitHub Committer Authorization Strategy as a non admin authenticated user whose github org is listed in "Participant in Organization".
Attempting to create a multibranch pipeline succeeds initially, however upon redirect to the /configuration page, user receives the following stack trace:
Jun 27, 2018 7:47:39 PM hudson.ExpressionFactory2$JexlExpression evaluate
WARNING: Caught exception evaluating: it.items in /job/platform-kubernetes/. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
{{ at sun.reflect.GeneratedMethodAccessor640.invoke(Unknown Source)}}
{{ at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)}}
{{ at java.lang.reflect.Method.invoke(Method.java:498)}}
{{ at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)}}
{{ at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)}}
{{ at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)}}
{{ at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)}}
{{ at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)}}
{{ at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)}}
{{ at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)}}
{{ at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)}}
{{ at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)}}
{{ at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)}}
{{ at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)}}
{{ at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)}}
{{ at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)}}
{{ at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)}}
{{ at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)}}
{{ at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)}}
{{ at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)}}
{{ at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)}}
{{ at org.kohsuke.stapler.jelly.CompressTag.doTag(CompressTag.java:44)}}
{{ at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)}}
{{ at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)}}
{{ at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)}}
{{ at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)}}
{{ at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)}}
{{ at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:140)}}
{{ at org.kohsuke.stapler.IndexViewDispatcher.dispatch(IndexViewDispatcher.java:30)}}
{{ at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)}}
{{ at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)}}
{{ at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:782)}}
{{ at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)}}
{{ at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:248)}}
{{ at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)}}
{{ at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:715)}}
{{ at org.kohsuke.stapler.Stapler.invoke(Stapler.java:845)}}
{{ at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)}}
{{ at org.kohsuke.stapler.Stapler.service(Stapler.java:238)}}
{{ at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)}}
{{ at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)}}
{{ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)}}
{{ at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)}}
{{ at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:225)}}
{{ at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)}}
{{ at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)}}
{{ at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)}}
{{ at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)}}
{{ at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)}}
{{ at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)}}
{{ at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)}}
{{ at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)}}
{{ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)}}
{{ at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)}}
{{ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)}}
{{ 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:90)}}
{{ at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)}}
{{ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)}}
{{ at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)}}
{{ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)}}
{{ at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)}}
{{ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)}}
{{ at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)}}
{{ at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)}}
{{ at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)}}
{{ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)}}
{{ at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)}}
{{ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)}}
{{ at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)}}
{{ at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)}}
{{ at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)}}
{{ at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)}}
{{ at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)}}
{{ at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)}}
{{ at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)}}
{{ at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)}}
{{ at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)}}
{{ at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)}}
{{ at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)}}
{{ at org.eclipse.jetty.server.Server.handle(Server.java:564)}}
{{ at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)}}
{{ at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)}}
{{ at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)}}
{{ at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)}}
{{ at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)}}
{{ at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)}}
{{ at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)}}
{{ at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)}}
{{ at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199)}}
{{ at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)}}
{{ at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)}}
{{ at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)}}
{{ at java.lang.Thread.run(Thread.java:748)}}
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
{{ at java.util.ArrayList.rangeCheck(ArrayList.java:657)}}
{{ at java.util.ArrayList.get(ArrayList.java:433)}}
{{ at org.jenkinsci.plugins.GithubRequireOrganizationMembershipACL.getRepositoryName(GithubRequireOrganizationMembershipACL.java:289)}}
{{ at org.jenkinsci.plugins.GithubRequireOrganizationMembershipACL.hasRepositoryPermission(GithubRequireOrganizationMembershipACL.java:256)}}
{{ at org.jenkinsci.plugins.GithubRequireOrganizationMembershipACL.hasPermission(GithubRequireOrganizationMembershipACL.java:99)}}
{{ at hudson.security.ACL.hasPermission(ACL.java:87)}}
{{ at hudson.security.AccessControlled.hasPermission(AccessControlled.java:54)}}
{{ at com.cloudbees.hudson.plugins.folder.AbstractFolder.getItems(AbstractFolder.java:1014)}}
{{ at hudson.model.AllView.getItems(AllView.java:105)}}
{{ ... 125 more}}
Users with admin permissions have no such issue, however normal users should absolutely have the ability to create new multibranch jobs