Open
Description
Describe the bug
Running OG 1.7.7 in Docker (and same in 1.7.8 verified just now), one of my git repos under a project fails to render any file that I click on with the following dump:
There was an error!
Walk failure.
org.eclipse.jgit.errors.RevWalkException: Walk failure.
at org.eclipse.jgit.revwalk.RevWalk.nextForIterator(RevWalk.java:1380)
at org.eclipse.jgit.revwalk.RevWalk.iterator(RevWalk.java:1402)
at org.opengrok.indexer.history.GitRepository.getHistory(GitRepository.java:520)
at org.opengrok.indexer.history.GitRepository.getHistory(GitRepository.java:461)
at org.opengrok.indexer.history.GitRepository.getHistory(GitRepository.java:456)
at org.opengrok.indexer.history.FileHistoryCache.get(FileHistoryCache.java:608)
at org.opengrok.indexer.history.HistoryGuru.getHistory(HistoryGuru.java:264)
at org.opengrok.web.PageConfig.getLastRevFromHistory(PageConfig.java:1296)
at org.opengrok.web.PageConfig.getLatestRevision(PageConfig.java:1288)
at org.apache.jsp.list_jsp._jspService(list_jsp.java:286)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:467)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:379)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:327)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.opengrok.web.CookieFilter.doFilter(CookieFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.opengrok.web.AuthorizationFilter.doFilter(AuthorizationFilter.java:95)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.opengrok.web.StatisticsFilter.doFilter(StatisticsFilter.java:67)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing commit d803f74934a46848b448b71420dbe21a9cc39a67
at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:137)
at org.eclipse.jgit.revwalk.RevWalk.getCachedBytes(RevWalk.java:961)
at org.eclipse.jgit.revwalk.RevCommit.parseHeaders(RevCommit.java:126)
at org.eclipse.jgit.revwalk.TreeRevFilter.include(TreeRevFilter.java:113)
at org.eclipse.jgit.revwalk.PendingGenerator.next(PendingGenerator.java:108)
at org.eclipse.jgit.revwalk.BlockRevQueue.<init>(BlockRevQueue.java:40)
at org.eclipse.jgit.revwalk.FIFORevQueue.<init>(FIFORevQueue.java:37)
at org.eclipse.jgit.revwalk.StartGenerator.next(StartGenerator.java:133)
at org.eclipse.jgit.revwalk.RevWalk.next(RevWalk.java:443)
at org.eclipse.jgit.revwalk.RevWalk.nextForIterator(RevWalk.java:1378)
... 45 more
I don't see the referenced missing commit in the project at all (via git show ), but I also don't see any obvious historical issue running local git log commands, etc, in that git project. This problem opengrok project has about a dozen git projects under it and two of the git repos have this error (unique missing commit hash in the two separate projects of course, but same error signature). A separate similarly indexed project that happens to point at another branch in the same git repo is fine.