[kepler-dev] [Bug 5576] New: memory leak in ptolemy.data.expr.CachedMethod

bugzilla-daemon at ecoinformatics.org bugzilla-daemon at ecoinformatics.org
Fri Feb 17 15:19:44 PST 2012


http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5576

             Bug #: 5576
           Summary: memory leak in ptolemy.data.expr.CachedMethod
    Classification: Unclassified
           Product: Kepler
           Version: trunk
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: general
        AssignedTo: barseghian at nceas.ucsb.edu
        ReportedBy: crawl at sdsc.edu
         QAContact: kepler-dev at kepler-project.org


There is a memory leak in CachedMethod where the same method is inserted
multiple times into the static hash table _cachedMethods. You can see this by
running the attached model created by Jianwu. The model has an Expression
actor, which uses trim(), isEmpty(), split(), and map(). The model iterates
1000 times, and afterwards jmap reports there are 1004 CachedMethods in the
heap:

jmap -histo:live 6959 | grep CachedMethod
  38:          1004          40160  ptolemy.data.expr.CachedMethod


Most of these CachedMethods are for map(). The problem is that each
CachedMethod for map() has a different hash code. The hash code for a
CachedMethod is computed by using the method's argument types and map()'s first
argument is a FunctionType. The hash code for FunctionType is based on the hash
code for FieldTypeTerm, which is unique for each instance since it does not
override Object.hashCode().

-- 
Configure bugmail: http://bugzilla.ecoinformatics.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA Contact for the bug.


More information about the Kepler-dev mailing list