Skip to content

use the repo tool to sync repository leads to inability to create history #3622

Open
@jwehler

Description

@jwehler

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions