c6b4a4bd0e3024efed0f59f21dc01b5aa3c351f1 braney Sat Sep 5 09:22:30 2026 -0700 docent: pin two Closed tickets whose symptom is still live, as xfail Both were measured on genome-test (v503) on 2026-09-05, both are Closed and out on the RR, and both are pinned rather than deleted so the suite reports it when they start passing. Same treatment as rm36540. rm38272 is NOT a second copy of rm37388. That script covers hgc, where the fix landed and works. This one follows the same lifted track's own settings link, and hgTrackUi still does what #37388 described: Couldn't set connection database to GCA_018466835.2 mySQL error 1049: Unknown database 'GCA_018466835.2' #37388's fix was per-CGI. 921a40c472e guarded the one call in hgc (hgc.c:4984, !trackHubDatabase(liftDb) && !isGenArk(liftDb) before hAllocConnTrack) and the branch in getTrackHtml. hgTrackUi has a path of its own that was never guarded: specificUi() (hgTrackUi.c:3432) reassigns db to the quickLiftDb setting and hands it to cfgByCfgType(), labelCfgUi() and extraUiLinks(), which connect to it. Where the page stops fits -- specificUi() is called at :4202, after the "Remove from QuickLift" link at :4118, and that link is the last thing the 451-character page contains. It reproduces from scratch with no saved session and no hub of ours, and it is live on genome.ucsc.edu, hgwbeta and genome-test alike: open GenArk GCA_018466835.2 at CM089257.1:80,200,000-80,360,000, leave the default tracks alone, QuickLift to hg38, click the gear on RefSeq mRNAs. Filed as #38272. The script uses braney/crash1 instead because that is the cheap way to the same state and rm37388 already depends on that session. rm37389 asserts the track description block that is still absent from a quickLifted hgc page whose source is a GenArk. Four things were checked rather than assumed and none of them explains it away: GCA_018466835.2 is in the genark table, the hub declares its xenoRefGene html file, that file is served 200 from hgdownload, and the fix (5aed2d465f1) is still in hg/lib/hui.c. hgc prints no warning of its own, which points at getHtmlFromSelfOrParent (hgc.c:3715) never calling getTrackHtml, since it only does so `if (liftDb && ...)`. Not chased further. This is a different path from the hgTrackUi one above, not the same bug seen twice. The verification session on the ticket does not settle it either: the only lifted track with clickable items at its position is a bigWig, whose hgc page has no description section in any build. refs #38252 diff --git src/hg/utils/docent/tests/regress/rm37389.xfail.docent.yaml src/hg/utils/docent/tests/regress/rm37389.xfail.docent.yaml new file mode 100644 index 00000000000..29e96cd2f68 --- /dev/null +++ src/hg/utils/docent/tests/regress/rm37389.xfail.docent.yaml @@ -0,0 +1,60 @@ +# #37389 -- the track description was missing from a quickLifted hgc page when the source +# assembly is a GenArk hub. +# +# THIS IS AN XFAIL, and it is a REGRESSION ON MASTER, not a fix that never worked. That +# distinction was got wrong twice before it was measured properly, so here is what was +# measured, on 2026-09-05, from scratch and with no session at all: +# +# genome.ucsc.edu (v502) lifted page HAS the description +# hgwbeta (v503) lifted page HAS the description +# genome-test (master) lifted page does NOT +# +# So #37389's fix (5aed2d465f1, v498) works, and something that landed on master after +# v503_branch was cut broke it again. It has not reached users. +# +# It is specific to the GenArk branch of getTrackHtml. A plain db-to-db quickLift keeps its +# description on genome-test: hg19 refGene lifted to hg38 still prints one. +# +# What has been ruled out, each by measurement rather than by reading: +# +# * hui.c is byte identical between v503_base and origin/master, so getTrackHtml itself +# did not change. Something it calls did. +# * htmlSanitize(), which #38126 added to trackHubAddOneDescription in this window, is +# not eating it. Run over this hub's own xenoRefGene.html it returns 3674 bytes from +# 3354 with the text intact. +# * the fixture is fine: GCA_018466835.2 is in the genark table, the hub declares +# `html html/GCA_018466835.2_HG02257_mat_hprc_f2.xenoRefGene`, and that file is served +# 200 from hgdownload. +# * getTrackHtml IS reached. printTrackHtml() (hgc.c:3745) takes liftDb straight from the +# quickLiftDb setting, which is certainly present here since it is the string in +# #38272's error. +# +# BISECTED, and fixed. The breaking commit is 1258d7f65e7 ("trackHub: keep a description a +# track inherited from its parent", refs #38126): it made trackHubAddOneDescription return +# early rather than assign a failed fetch, so tdb->html keeps a non-NULL value and hgc's +# `if (liftDb && (tdb->html == NULL))` at hgc.c:3722 never fires. Filed as #38275 and fixed +# on master in 4be6477ebcb by asking isEmpty() instead. This script should start passing +# once that build reaches genome-test, and `make test` will report the xfail as a failure -- +# which is the signal to delete the .xfail and this comment. +# +# The script asserts the FIXED behavior, the same as every other script here, and is marked +# .xfail so the suite stays green. If it starts passing, `make test` reports that as a +# failure, which is the signal to delete the .xfail and this comment. +target: genome-test +db: hg38 +reset: true +fast: true +steps: + - loadSession: {user: braney, name: crash1} + - expect: {noText: "Could not find session"} + + - click: {track: xenoRefGene, item: "NM_126741.2"} + + # The page itself is fine -- that is #37388, which is fixed and has its own script. What + # is missing is only the description block. + - expect: {noText: "Couldn't set connection database", text: "Item: NM_126741.2"} + + # The assertion this script exists for. "RefSeq mRNAs mapped to this assembly" is the + # longLabel and is on the page already, so the check is on the section heading that + # printTrackHtml writes and on a phrase from the hub's own description file. + - expect: {text: "Description"}