We couldn't load all Actvitity tabs. Refresh the page to try again.
If the problem persists, contact your Jira admin.
IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.
Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-67342

Closing IndexSearcher acquired from IssueIndexManager can result in SIGSEGV

      Summary

      If IndexSearcher.close() is called it might result in closing the underneath reader and causing JVM crash with SIGSEGV under heavy load.

      Expected Results

      Method getCountOfIssuesInIndex() will not close issueSearcher

      Actual Results

      Method getCountOfIssuesInIndex() closes issueSearcher
      You may see the following exception:

      com.atlassian.jira.index.DelayCloseable$AlreadyClosedException: java.io.IOException
      at com.atlassian.jira.index.DelayCloseable$Helper.close(DelayCloseable.java:77)
      at com.atlassian.jira.index.DelayCloseSearcher.close(DelayCloseSearcher.java:57)
      at com.atlassian.jira.issue.index.SearcherCache.closeSearcher(SearcherCache.java:79)
      at com.atlassian.jira.issue.index.SearcherCache.closeSearchers(SearcherCache.java:60)
      at com.atlassian.jira.issue.index.DefaultIndexManager.flushThreadLocalSearchers(DefaultIndexManager.java:1020)
      at com.atlassian.jira.util.searchers.ThreadLocalSearcherCache.resetSearchers(ThreadLocalSearcherCache.java:31)
      ... 20 filtered
      at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
      ... 26 filtered
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:748)
      Caused by: java.io.IOException
      at com.atlassian.jira.index.DelayCloseable$AlreadyClosedException.<init>(DelayCloseable.java:37)
      ... 57 more
      

      Notes

      • Under heavy load on Jira and execution of getCountOfIssuesInIndex() may close index that is still being read by another thread and as a result cause  SIGSEGV like this:
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGSEGV (0xb) at pc=0x00007f66338faaea, pid=66449, tid=0x00007f4dd99f1700
        #
        # JRE version: Java(TM) SE Runtime Environment (8.0_151-b12) (build 1.8.0_151-b12)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.151-b12 mixed mode linux-amd64 )
        # Problematic frame:
        # J 8554 C2 org.apache.lucene.store.MMapDirectory$MMapIndexInput.readByte()B (81 bytes) @ 0x00007f66338faaea [0x00007f66338faaa0+0x4a]
        
      • Another example of SIGSEGV:
        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGSEGV (0xb) at pc=0x00007fb0f16fa390, pid=63009, tid=0x00007f9fb94d2700
        #
        # JRE version: Java(TM) SE Runtime Environment (8.0_152-b16) (build 1.8.0_152-b16)
        # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.152-b16 mixed mode linux-amd64 )
        # Problematic frame:
        # v ~StubRoutines::jbyte_disjoint_arraycopy
        
        Stack: [0x00007fc9d9dc6000,0x00007fc9d9ec7000], sp=0x00007fc9d9ebfff0, free space=999k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        v ~StubRoutines::jbyte_disjoint_arraycopy
        J 109528 C2 org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal([BII)V (55 bytes) @ 0x00007fdc036f1882 [0x00007fdc036f14a0+0x3e2]
        J 23635 C2 org.apache.lucene.store.BufferedIndexInput.readByte()B (32 bytes) @ 0x00007fdbfb5b24b4 [0x00007fdbfb5b2400+0xb4]
        J 31429 C2 org.apache.lucene.store.DataInput.readVInt()I (132 bytes) @ 0x00007fdbff486510 [0x00007fdbff4864e0+0x30]
        

      Workaround

      Don't close IndexSearcher returned by IssueIndexManager if you can.

            Loading...
            IMPORTANT: JAC is a Public system and anyone on the internet will be able to view the data in the created JAC tickets. Please don’t include Customer or Sensitive data in the JAC ticket.
            Uploaded image for project: 'Jira Data Center'
            1. Jira Data Center
            2. JRASERVER-67342

            Closing IndexSearcher acquired from IssueIndexManager can result in SIGSEGV

                Summary

                If IndexSearcher.close() is called it might result in closing the underneath reader and causing JVM crash with SIGSEGV under heavy load.

                Expected Results

                Method getCountOfIssuesInIndex() will not close issueSearcher

                Actual Results

                Method getCountOfIssuesInIndex() closes issueSearcher
                You may see the following exception:

                com.atlassian.jira.index.DelayCloseable$AlreadyClosedException: java.io.IOException
                at com.atlassian.jira.index.DelayCloseable$Helper.close(DelayCloseable.java:77)
                at com.atlassian.jira.index.DelayCloseSearcher.close(DelayCloseSearcher.java:57)
                at com.atlassian.jira.issue.index.SearcherCache.closeSearcher(SearcherCache.java:79)
                at com.atlassian.jira.issue.index.SearcherCache.closeSearchers(SearcherCache.java:60)
                at com.atlassian.jira.issue.index.DefaultIndexManager.flushThreadLocalSearchers(DefaultIndexManager.java:1020)
                at com.atlassian.jira.util.searchers.ThreadLocalSearcherCache.resetSearchers(ThreadLocalSearcherCache.java:31)
                ... 20 filtered
                at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
                ... 26 filtered
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.lang.Thread.run(Thread.java:748)
                Caused by: java.io.IOException
                at com.atlassian.jira.index.DelayCloseable$AlreadyClosedException.<init>(DelayCloseable.java:37)
                ... 57 more
                

                Notes

                • Under heavy load on Jira and execution of getCountOfIssuesInIndex() may close index that is still being read by another thread and as a result cause  SIGSEGV like this:
                  # A fatal error has been detected by the Java Runtime Environment:
                  #
                  # SIGSEGV (0xb) at pc=0x00007f66338faaea, pid=66449, tid=0x00007f4dd99f1700
                  #
                  # JRE version: Java(TM) SE Runtime Environment (8.0_151-b12) (build 1.8.0_151-b12)
                  # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.151-b12 mixed mode linux-amd64 )
                  # Problematic frame:
                  # J 8554 C2 org.apache.lucene.store.MMapDirectory$MMapIndexInput.readByte()B (81 bytes) @ 0x00007f66338faaea [0x00007f66338faaa0+0x4a]
                  
                • Another example of SIGSEGV:
                  # A fatal error has been detected by the Java Runtime Environment:
                  #
                  # SIGSEGV (0xb) at pc=0x00007fb0f16fa390, pid=63009, tid=0x00007f9fb94d2700
                  #
                  # JRE version: Java(TM) SE Runtime Environment (8.0_152-b16) (build 1.8.0_152-b16)
                  # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.152-b16 mixed mode linux-amd64 )
                  # Problematic frame:
                  # v ~StubRoutines::jbyte_disjoint_arraycopy
                  
                  Stack: [0x00007fc9d9dc6000,0x00007fc9d9ec7000], sp=0x00007fc9d9ebfff0, free space=999k
                  Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
                  v ~StubRoutines::jbyte_disjoint_arraycopy
                  J 109528 C2 org.apache.lucene.index.CompoundFileReader$CSIndexInput.readInternal([BII)V (55 bytes) @ 0x00007fdc036f1882 [0x00007fdc036f14a0+0x3e2]
                  J 23635 C2 org.apache.lucene.store.BufferedIndexInput.readByte()B (32 bytes) @ 0x00007fdbfb5b24b4 [0x00007fdbfb5b2400+0xb4]
                  J 31429 C2 org.apache.lucene.store.DataInput.readVInt()I (132 bytes) @ 0x00007fdbff486510 [0x00007fdbff4864e0+0x30]
                  

                Workaround

                Don't close IndexSearcher returned by IssueIndexManager if you can.

                        Unassigned Unassigned
                        pczuj Przemyslaw Czuj
                        Votes:
                        1 Vote for this issue
                        Watchers:
                        10 Start watching this issue

                          Created:
                          Updated:
                          Resolved:

                            Unassigned Unassigned
                            pczuj Przemyslaw Czuj
                            Affected customers:
                            1 This affects my team
                            Watchers:
                            10 Start watching this issue

                              Created:
                              Updated:
                              Resolved: