| Issue 3599: | Unified diff screen is broken on stable-2.11 release for anonymous user | |
| 1 person starred this issue and may be notified of changes. | Back to list |
Sign in to add a comment
|
***************************************************************** ***** ***** ***** !!!! THIS BUG TRACKER IS FOR GERRIT CODE REVIEW !!!! ***** ***** ***** ***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, CYANOGENMOD, ***** ***** INTERNAL ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.***** ***** ***** ***** THOSE ISSUES BELONG IN DIFFERENT ISSUE TRACKERS ***** ***** ***** ***************************************************************** a Affected Version: stable-2.11 (v.2.11.2) What steps will reproduce the problem? 1. Open https://git.eclipse.org/r/#/c/57583/2/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/WindowCursor.java as anonymous user 2. Click on unified diff icon in upper right corner What is the expected output? unified screen is opened What do you see instead? 500 internal server error Please provide any additional information below. See also corresponding issue in eclipse issue tracker: [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=479618 The culrpit seems to be the unconditional cast in RevisionResource.java called from Submit.java: @Override public UiAction.Description getDescription(RevisionResource resource) { PatchSet.Id current = resource.getChange().currentPatchSetId(); String topic = resource.getChange().getTopic(); boolean visible = !resource.getPatchSet().isDraft() && resource.getChange().getStatus().isOpen() && resource.getPatchSet().getId().equals(current) && resource.getControl().canSubmit(); ReviewDb db = dbProvider.get(); ChangeData cd = changeDataFactory.create(db, resource.getControl()); 280 ==> if (problemsForSubmittingChanges(Arrays.asList(cd), resource.getUser()) != null) { visible = false; } And in RevisionResource.java IdentifiedUser getUser() { 87 ==> return (IdentifiedUser) getControl().getCurrentUser(); } Here is the complete stack trace: [2015-10-13 05:24:27,928] WARN /r : Error in patchSetDetail java.lang.ClassCastException: com.google.gerrit.server.AnonymousUser incompatible with com.google.gerrit.server.IdentifiedUser at com.google.gerrit.server.change.RevisionResource.getUser(RevisionResource.java:87) at com.google.gerrit.server.change.Submit.getDescription(Submit.java:280) at com.google.gerrit.server.change.Submit.getDescription(Submit.java:89) at com.google.gerrit.server.extensions.webui.UiActions$4.apply(UiActions.java:118) at com.google.gerrit.server.extensions.webui.UiActions$4.apply(UiActions.java:88) at com.google.common.collect.Iterators$8.transform(Iterators.java:799) at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48) at com.google.common.collect.Iterators$7.computeNext(Iterators.java:651) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at com.google.common.collect.Iterators$7.computeNext(Iterators.java:650) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at com.google.common.collect.Iterators.addAll(Iterators.java:361) at com.google.common.collect.Lists.newArrayList(Lists.java:160) at com.google.common.collect.Lists.newArrayList(Lists.java:144) at com.google.gerrit.server.extensions.webui.UiActions.sorted(UiActions.java:54) at com.google.gerrit.httpd.rpc.changedetail.PatchSetDetailFactory.call(PatchSetDetailFactory.java:219) at com.google.gerrit.httpd.rpc.changedetail.PatchSetDetailFactory.call(PatchSetDetailFactory.java:72) at com.google.gerrit.httpd.rpc.Handler.to(Handler.java:65) at com.google.gerrit.httpd.rpc.changedetail.ChangeDetailServiceImpl.patchSetDetail2(ChangeDetailServiceImpl.java:42) at com.google.gerrit.httpd.rpc.changedetail.ChangeDetailServiceImpl.patchSetDetail(ChangeDetailServiceImpl.java:36) at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91) at com.google.gwtjsonrpc.server.JsonServlet.doService(JsonServlet.java:381) at com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:267) at com.google.gerrit.httpd.rpc.GerritJsonServlet.service(GerritJsonServlet.java:120) at javax.servlet.http.HttpServlet.service(HttpServlet.java:725) at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:279) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:269) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:180) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:117) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gerrit.httpd.RequireSslFilter.doFilter(RequireSslFilter.java:68) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:64) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:57) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130) at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:795)
Oct 13, 2015
Project Member
#1
David.Os...@gmail.com
Cc:
sbel...@google.com
Oct 13, 2015
This is a duplicate of issue 3531 .
Oct 13, 2015
(No comment was entered for this change.)
Status:
Duplicate
Mergedinto: 3531 |
||||||||||||
| ► Sign in to add a comment | |||||||||||||