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) {