69a23e3d6507ff4d95c8bd99f97615e1159a0c17
braney
  Fri Apr 17 09:56:19 2026 -0700
hgc: don't try to MySQL-connect to a GenArk source assembly in quickLift paths

When a track has a quickLiftDb pointing to a GenArk accession (e.g.
GCA_018466835.2), hgc crashed clicking on an item because
genericClickHandlerPlus called hAllocConnTrack() on a db name that only
exists as a hub assembly, not a MySQL database. The existing guard only
skipped trackHubDatabase() entries (hubs registered in hubAssemblyHash),
which doesn't include on-demand GenArk assemblies referenced by a
quickLift chain. Extend the guard with isGenArk(), and apply the same
fix in getTrackHtml() to avoid an "cannot find trackDb tables" warning
on the subsequent description-HTML lookup. refs #37388

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index 24de476b771..05d2c4ba7bd 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -4972,31 +4972,31 @@
 int start = cartInt(cart, "o");
 int end = cartInt(cart, "t");
 struct sqlConnection *conn = NULL;
 char *imagePath = trackDbSetting(tdb, ITEM_IMAGE_PATH);
 char *container = trackDbSetting(tdb, "container");
 
 char *liftDb = cloneString(trackDbSetting(tdb, "quickLiftDb"));
 
 if (liftDb)
     {
     if (isCustomTrack(trackHubSkipHubName(tdb->track)))
         {
         liftDb = CUSTOM_TRASH;
         tdb->table = trackDbSetting(tdb, "dbTableName");
         }
-    if (!trackHubDatabase(liftDb))
+    if (!trackHubDatabase(liftDb) && !isGenArk(liftDb))
         conn = hAllocConnTrack(liftDb, tdb);
     }
 else if (!trackHubDatabase(database))
     conn = hAllocConnTrack(database, tdb);
 if (itemForUrl == NULL)
     itemForUrl = item;
 dupe = cloneString(tdb->type);
 wordCount = chopLine(dupe, words);
 headerItem = cloneString(item);
 type = words[0];
 
 /* Suppress printing item name in page header, as it is not informative for these types of
  * tracks... */
 if (container == NULL && wordCount > 0)
     {