a2a57a6247e93612140baa899ddb3c462af8f12e
braney
  Wed Jan 15 23:37:27 2020 -0800
mark hashes that are coming in from trackDb cache so they don't get
freed

diff --git src/hg/lib/trackDbCache.c src/hg/lib/trackDbCache.c
index d2e9a0b..dd4046c 100644
--- src/hg/lib/trackDbCache.c
+++ src/hg/lib/trackDbCache.c
@@ -61,31 +61,31 @@
     hel->name = lmCloneString(lm, list->name);
     hel->val = lmCloneString(lm, (char *)list->val);  // we're assuming that the values are strings
     hel->hashVal = list->hashVal;
     }
 
 return newList;
 }
 
 struct hash *lmCloneHash(struct lm *lm, struct hash *hash)
 /* Clone a hash into local memory. */
 {
 struct hash *newHash = lmAlloc(lm, sizeof(struct hash));
 
 *newHash = *hash;
 newHash->lm = NULL;
-newHash->ownLm = FALSE;
+newHash->ownLm = TRUE;  // mark as having been read in from trackDb cache
 newHash->next = NULL;
 lmAllocArray(lm, newHash->table, hash->size);
 
 int ii;
 for(ii=0; ii < hash->size; ii++)
     if (hash->table[ii] != NULL)
         newHash->table[ii] = lmCloneHashElList(lm, hash->table[ii]);
 
 return newHash;
 }
 
 struct trackDb *lmCloneTdb(struct lm *lm, struct trackDb *tdb, struct trackDb *parent,  struct hash *superHash)
 /* clone a single tdb structure.  Will clone its children if it has any */
 {
 struct trackDb *newTdb = lmAlloc(lm, sizeof(struct trackDb));