7bc26524a7cd5a31d65b7a092f8ae0d835710efc
galt
  Mon Nov 7 16:30:52 2016 -0800
Fixes #18300. Added a missing popAbortHandler in cart.c. Trying to deal with early warnings in hgTables. In our current code, early warnings do not actually work -- instead they usually just produce a duplicate page header. But early aborts do work. So we have decided to convert the hgTables resource output exceeded warnings to errAbort.

diff --git src/hg/hgTables/wiggle.c src/hg/hgTables/wiggle.c
index bf8bc41..f2ac370 100644
--- src/hg/hgTables/wiggle.c
+++ src/hg/hgTables/wiggle.c
@@ -675,31 +675,31 @@
 	outCount = mergedWigOutRegion(table, conn, region, curMaxOut,
 				      wigOutType);
     else if (startsWithWord("bedGraph", track->type))
 	outCount = bedGraphOutRegion(table, conn, region, curMaxOut,
 				     wigOutType);
     else if (startsWithWord("bigWig", track->type))
         outCount = bigWigOutRegion(table, conn, region, curMaxOut, wigOutType);
     else
 	outCount = wigOutRegion(table, conn, region, curMaxOut,
 				wigOutType, NULL, 0);
     curOut += outCount;
     if (curOut >= maxOut)
         break;
     }
 if (curOut >= maxOut)
-    warn("Reached output limit of %d data values, please make region smaller,\n\tor set a higher output line limit with the filter settings.", curOut);
+    errAbort("Reached output limit of %d data values, please make region smaller,\n\tor set a higher output line limit with the filter settings.", curOut);
 }
 
 
 /***********   PUBLIC ROUTINES  *********************************/
 
 struct dataVector *bedGraphDataVector(char *table,
 	struct sqlConnection *conn, struct region *region)
 /* Read in bedGraph as dataVector and return it.  Filtering, subtrack merge
  * and intersection are handled. */
 {
 struct dataVector *dv = NULL;
 
 if (anySubtrackMerge(database, table))
     dv = mergedWigDataVector(table, conn, region);
 else