Skip to content

NullPointerException when browsing repo with empty or non-existing master branch #823

@gitblit

Description

@gitblit

Originally reported on Google Code with ID 527

It seems Gitblit chokes when a repository it hosts either has no master branch, or a
master branch with no commits. The repository has other branches with commits, but
these commits cannot be viewed without Gitblit throwing a NullPointerException.

What steps will reproduce the problem?
1. Set up Gitblit GO (add SSH key for admin user)
2. Create new repository "example.git" via Gitblit web interface
3. On workstation run "git init example.git"
4. cd example.git
5. git checkout -b develop
6. touch foo.txt
7. git add foo.txt
8. git commit -m"Add empty foo.txt"
9. git remote add gitblit ssh://[email protected]:29418/example.git
10. git push gitblit develop
11. Go to https://gitblit.vm:8443/summary/example.git
12. Click on the commit message "Add empty foo.txt"
13. Observe "Internal error"

What version of the product are you using? On what operating system?

Gitblit GO 1.6.2 on an Ubuntu 12.04 Vagrant VM

Please provide any additional information below.

Stacktrace:

2014-11-05 21:10:00 [ERROR] Can't instantiate page using constructor public com.gitblit.wicket.pages.CommitPage(org.apache.wicket.PageParameters)
and argument r = "example.git" h = "refs/heads/develop"
org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor
public com.gitblit.wicket.pages.CommitPage(org.apache.wicket.PageParameters) and argument
r = "example.git" h = "refs/heads/
develop"
        at org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:212)
        at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:89)
        at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.newPage(BookmarkablePageRequestTarget.java:305)
        at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.getPage(BookmarkablePageRequestTarget.java:320)
        at org.apache.wicket.request.target.component.BookmarkablePageRequestTarget.processEvents(BookmarkablePageRequestTarget.java:234)
        at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
        at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1279)
        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1358)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1465)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
        at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:486)
        at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:319)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
        at com.gitblit.servlet.EnforceAuthenticationFilter.doFilter(EnforceAuthenticationFilter.java:87)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
        at com.gitblit.servlet.ProxyFilter$1.doFilter(ProxyFilter.java:74)
        at com.gitblit.servlet.ProxyFilter.doFilter(ProxyFilter.java:77)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
        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:1059)
        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:311)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
        at org.apache.wicket.session.DefaultPageFactory.createPage(DefaultPageFactory.java:188)
        ... 34 more
Caused by: java.lang.NullPointerException
        at org.eclipse.jgit.lib.ObjectIdOwnerMap.get(ObjectIdOwnerMap.java:131)
        at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:837)
        at org.eclipse.jgit.revwalk.RevWalk.parseCommit(RevWalk.java:752)
        at com.syntevo.bugtraq.BugtraqConfig.getBaseConfig(BugtraqConfig.java:170)
        at com.syntevo.bugtraq.BugtraqConfig.read(BugtraqConfig.java:63)
        at com.gitblit.utils.BugtraqProcessor.processTextRegex(BugtraqProcessor.java:151)
        at com.gitblit.utils.BugtraqProcessor.processPlainCommitMessage(BugtraqProcessor.java:89)
        at com.gitblit.utils.BugtraqProcessor.processCommitMessage(BugtraqProcessor.java:73)
        at com.gitblit.wicket.pages.RepositoryPage.addFullText(RepositoryPage.java:563)
        at com.gitblit.wicket.pages.CommitPage.<init>(CommitPage.java:122)
        ... 39 more

Reported by daff2k on 2014-11-05 20:18:25

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions