Derby
  1. Derby
  2. DERBY-5730

DataDictionaryImpl leaks references to itself via SYSFUN_AD

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.9.1.0
    • Fix Version/s: 10.8.3.3, 10.9.1.0
    • Component/s: Services
    • Labels:
      None
    • Bug behavior facts:
      Crash

      Description

      DataDictionaryImpl contains a static field called SYSFUN_AD, which holds an array of AliasDescriptor objects for the functions in the SYSFUN schema. This array is lazily populated as the functions are called, and it is shared between all DataDictionaryImpl instances on the system.

      The AliasDescriptors contain references to the DataDictionaryImpl that created them, so SYSFUN_AD may end up referencing indirectly to a number of different DataDictionaryImpl instances, depending on where the respective SYSFUN functions are called the first time. Once an AliasDescriptor has been added to SYSFUN_AD, it stays there until the DataDictionaryImpl class is unloaded (in most cases, until the JVM terminates). This means the array may hold references to DataDictionaryImpl instances that belong to database instances that have been shut down, and that the memory held by those database instances never becomes eligible for garbage collection.

      1. d5730-1a.diff
        9 kB
        Knut Anders Hatlen
      2. DERBY5730_backport_patch1_diff.txt
        2 kB
        Mamta A. Satoor
      3. Sysfun.java
        4 kB
        Knut Anders Hatlen
      4. SysfunPerftest.java
        0.9 kB
        Knut Anders Hatlen

        Issue Links

          Activity

          Kathey Marsden made changes -
          Fix Version/s 10.8.3.1 [ 12323475 ]
          Mamta A. Satoor made changes -
          Link This issue relates to DERBY-6289 [ DERBY-6289 ]
          Mamta A. Satoor made changes -
          Attachment DERBY5730_backport_patch1_diff.txt [ 12592443 ]
          Gavin made changes -
          Workflow jira [ 12664623 ] Default workflow, editable Closed status [ 12797011 ]
          Knut Anders Hatlen made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Knut Anders Hatlen made changes -
          Link This issue breaks DERBY-5753 [ DERBY-5753 ]
          Knut Anders Hatlen made changes -
          Status In Progress [ 3 ] Resolved [ 5 ]
          Issue & fix info Patch Available [ 10102 ]
          Fix Version/s 10.9.0.0 [ 12316344 ]
          Resolution Fixed [ 1 ]
          Knut Anders Hatlen made changes -
          Attachment SysfunPerftest.java [ 12525836 ]
          Knut Anders Hatlen made changes -
          Issue & fix info Patch Available [ 10102 ]
          Knut Anders Hatlen made changes -
          Attachment d5730-1a.diff [ 12525589 ]
          Knut Anders Hatlen made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          Knut Anders Hatlen made changes -
          Assignee Knut Anders Hatlen [ knutanders ]
          Knut Anders Hatlen made changes -
          Bug behavior facts Crash [ 10365 ]
          Knut Anders Hatlen made changes -
          Field Original Value New Value
          Attachment Sysfun.java [ 12524832 ]
          Knut Anders Hatlen created issue -

            People

            • Assignee:
              Knut Anders Hatlen
              Reporter:
              Knut Anders Hatlen
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development