875460a149f066406afaa5e038230342ac8948c4
kate
  Wed Mar 22 13:38:47 2017 -0700
Slightly more informative abort message when track data is formatted badly.

diff --git src/hg/lib/barChartBed.c src/hg/lib/barChartBed.c
index a71e98a..2ad58a9 100644
--- src/hg/lib/barChartBed.c
+++ src/hg/lib/barChartBed.c
@@ -56,31 +56,32 @@
  * from database.  Dispose of this with barChartBedFree(). */
 {
 struct barChartBed *ret;
 
 AllocVar(ret);
 ret->expCount = sqlUnsigned(row[6]);
 ret->chrom = cloneString(row[0]);
 ret->chromStart = sqlUnsigned(row[1]);
 ret->chromEnd = sqlUnsigned(row[2]);
 ret->name = cloneString(row[3]);
 ret->score = sqlUnsigned(row[4]);
 safecpy(ret->strand, sizeof(ret->strand), row[5]);
 {
 int sizeOne;
 sqlFloatDynamicArray(row[7], &ret->expScores, &sizeOne);
-assert(sizeOne == ret->expCount);
+if (sizeOne != ret->expCount)
+    errAbort("Bad record in barChart track: '%s' has missing category values", ret->name);
 }
 return ret;
 }
 
 struct barChartBed *barChartBedLoadAll(char *fileName) 
 /* Load all barChartBed from a whitespace-separated file.
  * Dispose of this with barChartBedFreeList(). */
 {
 struct barChartBed *list = NULL, *el;
 struct lineFile *lf = lineFileOpen(fileName, TRUE);
 char *row[8];
 
 while (lineFileRow(lf, row))
     {
     el = barChartBedLoad(row);