Slow / failing CVS access causes hangs when viewing issues

XMLWordPrintable

    • Type: Bug
    • Resolution: Duplicate
    • Priority: Medium
    • None
    • Affects Version/s: 3.0.3, 3.1
    • Component/s: None
    • 3

      The symptom of this problem is that the browser 'hangs' when accessing an issue URL like http://jira.<company>.com/browse/<issue>/. JIRA successfully serves other pages (eg. the dashboard), and the issue page if the URL is changed to http://jira.<company>.com/browse/<issue>?page=comments. Restarting JIRA does not help, but the problem may resolve itself if left for a long time.

      One cause of this is when a) the user is (unknowingly) requesting the 'All' tab (eg. from an email link), and b) the server's network connection to the CVS server is slow or broken. In this situation, JIRA triggers a CVS update and parse, in order to serve the CVS tab contents to the first user. The parse then hangs trying to read the CVS log:

      "ApplicationServerThread" prio=1 tid=0x084cb180 nid=0x2c82 waiting on condition [8537b000..8537d87c]
      at java.lang.Thread.sleep(Native Method)
      at org.netbeans.lib.cvsclient.util.LoggedDataInputStream.readLine(Unknown Source)
      at org.netbeans.lib.cvsclient.response.MessageResponse.process(Unknown Source)
      at org.netbeans.lib.cvsclient.Client.handleResponse(Unknown Source)
      at org.netbeans.lib.cvsclient.Client.processRequests(Unknown Source)
      at org.netbeans.lib.cvsclient.command.log.RlogCommand.postExpansionExecute(Unknown Source)
      at org.netbeans.lib.cvsclient.command.log.RlogCommand.execute(Unknown Source)
      at org.netbeans.lib.cvsclient.Client.executeCommand(Unknown Source)
      at com.atlassian.jira.vcs.cvsimpl.CvsRepositoryUtilImpl.updateCvs(CvsRepositoryUtilImpl.java:308)
      at com.atlassian.jira.vcs.cvsimpl.CvsRepository.updateCvs(CvsRepository.java:204)

      • locked <0x8ad4cd10> (a com.atlassian.jira.vcs.cvsimpl.CvsRepository)
        at com.atlassian.jira.vcs.cvsimpl.CvsRepository.updateRepository(CvsRepository.java:296)
      • locked <0x8ad4cd10> (a com.atlassian.jira.vcs.cvsimpl.CvsRepository)
        at com.atlassian.jira.vcs.cvsimpl.CvsRepository.getCommitsForIssue(CvsRepository.java:236)
      • locked <0x8ad4cd10> (a com.atlassian.jira.vcs.cvsimpl.CvsRepository)
        at com.atlassian.jira.issue.managers.DefaultActionManager.getCommits(DefaultActionManager.java:122)
        at com.atlassian.jira.issue.managers.DefaultActionManager.getAllActions(DefaultActionManager.java:358)
        at com.atlassian.jira.issue.managers.DefaultActionManager.getActions(DefaultActionManager.java:311)
        at com.atlassian.jira.web.action.issue.ViewIssue.getActions(ViewIssue.java:410)

      Subsequent requests to view pages also hang, except they are waiting for the first thread to leave its synchronized() block around the CVS update:

      "ApplicationServerThread" prio=1 tid=0x0857fed8 nid=0x2c82 waiting for monitor entry [84cfb000..84cfd87c]
      at com.atlassian.jira.vcs.cvsimpl.CvsRepository.getCommitsForIssue(CvsRepository.java:234)

      • waiting to lock <0x8ad4cd10> (a com.atlassian.jira.vcs.cvsimpl.CvsRepository)
        at com.atlassian.jira.issue.managers.DefaultActionManager.getCommits(DefaultActionManager.java:122)
        at com.atlassian.jira.issue.managers.DefaultActionManager.getAllActions(DefaultActionManager.java:358)
        at com.atlassian.jira.issue.managers.DefaultActionManager.getActions(DefaultActionManager.java:311)
        at com.atlassian.jira.web.action.issue.ViewIssue.getActions(ViewIssue.java:410)

              Assignee:
              Unassigned
              Reporter:
              Jeff Turner
              Votes:
              4 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: