b027ebc0e47be9b569aa4deca8179dcb24c00118
chmalee
  Thu Jun 3 13:26:35 2021 -0700
Error out early in hub trackDb processing if a composite track has a container multiWig child, refs #15650

diff --git src/hg/lib/trackDbCustom.c src/hg/lib/trackDbCustom.c
index f5617bb..30613d3 100644
--- src/hg/lib/trackDbCustom.c
+++ src/hg/lib/trackDbCustom.c
@@ -1022,30 +1022,35 @@
         slAddHead(&superlessList, tdb);
     }
 
 /* Do subtrack hierarchy - filling in parent and subtracks fields. */
 for (tdb = superlessList; tdb != NULL; tdb = next)
     {
     next = tdb->next;
     char *subtrackSetting = trackDbLocalSetting(tdb, "parent");
     if (subtrackSetting != NULL
     && !tdbIsSuperTrackChild(tdb)) // superChildren cannot be in both subtracks list AND tdbList
         {
 	char *parentName = cloneFirstWord(subtrackSetting);
 	struct trackDb *parent = hashFindVal(trackHash, parentName);
 	if (parent != NULL)
         {
+        if (trackDbLocalSetting(tdb, "container"))
+            {
+            errAbort("Composite track '%s' cannot have child track '%s',"
+                " which is a container  multiWig.", parentName, tdb->track);
+            }
         slAddHead(&parent->subtracks, tdb); // composite/multiWig children are ONLY subtracks
         tdb->parent = parent;
         }
 	else
 	    {
 	    errAbort("Parent track %s of child %s doesn't exist", parentName, tdb->track);
 	    }
 	freez(&parentName);
 	}
     else
         {
 	slAddHead(&forest, tdb);
 	}
     }