6739a16bc7e41e2316b6b015bf8f93ff4a2e3c5f
kent
Fri Oct 8 08:33:46 2010 -0700
Adding a bunch of debugging stuff.
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index 9ad6800..f5cf9b9 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -2754,69 +2754,82 @@
struct sqlConnection *remoteTrackConnection(struct track *tg)
/* Get a connection to remote database as specified in remoteSql settings... */
{
if (!tg->isRemoteSql)
{
internalErr();
return NULL;
}
else
{
return sqlConnectRemote(tg->remoteSqlHost, tg->remoteSqlUser, tg->remoteSqlPassword,
tg->remoteSqlDatabase);
}
}
+boolean uglyOne = FALSE;
+
void addTdbListToTrackList(struct trackDb *tdbList, char *trackNameFilter,
struct track **pTrackList)
/* Convert a list of trackDb's to tracks, and append these to trackList. */
{
struct trackDb *tdb, *next;
struct track *track;
TrackHandler handler;
+if (uglyOne) uglyf("ok1
\n");
tdbSortPrioritiesFromCart(cart, &tdbList);
+if (uglyOne) uglyf("ok2
\n");
for (tdb = tdbList; tdb != NULL; tdb = next)
{
+if (uglyOne) uglyf("ok3.1 %s
\n", tdb->track);
next = tdb->next;
if(trackNameFilter != NULL && strcmp(trackNameFilter, tdb->track))
// suppress loading & display of all tracks except for the one passed in via trackNameFilter
continue;
+if (uglyOne) uglyf("ok3.2 %s
\n", tdb->track);
track = trackFromTrackDb(tdb);
+if (uglyOne) uglyf("ok3.3 %s, %d subtracks
\n", tdb->track, slCount(tdb->subtracks));
track->hasUi = TRUE;
if (slCount(tdb->subtracks) != 0)
{
tdbSortPrioritiesFromCart(cart, &(tdb->subtracks));
if (trackDbLocalSetting(tdb, "compositeTrack"))
makeCompositeTrack(track, tdb);
else if (trackDbLocalSetting(tdb, "container"))
makeContainerTrack(track, tdb);
}
else
{
+ if (uglyOne) uglyf("about to look up handler on %s
\n", tdb->table);
handler = lookupTrackHandler(tdb->table);
+ if (uglyOne) uglyf("handler=%p
\n", handler);
if (handler != NULL)
handler(track);
}
+if (uglyOne) uglyf("ok3.4 %s
\n", tdb->track);
if (cgiVarExists("hgGenomeClick"))
makeHgGenomeTrackVisible(track);
+if (uglyOne) uglyf("ok3.5 %s
\n", tdb->track);
if (track->loadItems == NULL)
warn("No load handler for %s; possible missing trackDb `type' or `subTrack' attribute", tdb->track);
else if (track->drawItems == NULL)
warn("No draw handler for %s", tdb->track);
else
slAddHead(pTrackList, track);
+if (uglyOne) uglyf("ok3.6 %s
\n", tdb->track);
}
+if (uglyOne) uglyf("ok4
\n");
}
void loadFromTrackDb(struct track **pTrackList)
/* Load tracks from database, consulting handler list. */
{
char *trackNameFilter = cartOptionalString(cart, "hgt.trackNameFilter");
struct trackDb *tdbList;
if(trackNameFilter == NULL)
tdbList = hTrackDb(database, chromName);
else
tdbList = hTrackDbForTrack(database, trackNameFilter);
addTdbListToTrackList(tdbList, trackNameFilter, pTrackList);
}
static int getScoreFilter(char *trackName)
@@ -3412,53 +3425,61 @@
tg = newCustomTrack(ct);
slAddHead(pTrackList, tg);
}
}
void addTracksFromDataHub(char *hubUrl, struct track **pTrackList)
/* Load up stuff from data hub and append to list. The hubUrl points to
* a trackDb.ra format file. */
{
/* Squirrel away hub directory for later. */
char hubDir[PATH_LEN];
splitPath(hubUrl, hubDir, NULL, NULL);
/* Load trackDb.ra file and make it into proper trackDb tree */
struct trackDb *tdb, *tdbList = trackDbFromRa(hubUrl);
+uglyf("Got %d tracks from %s
\n", slCount(tdbList), hubUrl);
for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
{
trackDbFieldsFromSettings(tdb);
trackDbPolish(tdb);
}
+uglyf("About to link up generations
\n");
trackDbLinkUpGenerations(tdbList);
+uglyf("About to addTdbListToTrackList
\n");
+uglyOne = TRUE;
addTdbListToTrackList(tdbList, NULL, pTrackList);
+uglyf("Used to crash by here
\n");
}
void loadDataHubs(struct track **pTrackList)
/* Load up stuff from data hubs and append to list. */
{
char *dataHubs = cloneString(cartUsualString(cart, "dataHubs", NULL));
+uglyf("
dataHubs=%s\n
\n", dataHubs);
if (dataHubs == NULL)
return;
int hubCount = chopByWhite(dataHubs, NULL, 10);
char *hubArrays[hubCount];
chopByWhite(dataHubs, hubArrays, hubCount);
+uglyf("hubCount=%d, hubArrays[0]=%s\n
\n", hubCount, hubArrays[0]);
int i;
for (i = 0; i\n");
}
boolean restrictionEnzymesOk()
/* Check to see if it's OK to do restriction enzymes. */
{
return (hTableExists("hgFixed", "cutters") &&
hTableExists("hgFixed", "rebaseRefs") &&
hTableExists("hgFixed", "rebaseCompanies"));
}
void fr2ScaffoldEnsemblLink(char *archive)
/* print out Ensembl link to appropriate scaffold there */
{
struct sqlConnection *conn = hAllocConn(database);
struct sqlResult *sr = NULL;
@@ -4114,32 +4135,32 @@
struct track *track, *trackList = NULL;
registerTrackHandlers();
/* Load regular tracks, blatted tracks, and custom tracks.
* Best to load custom last. */
loadFromTrackDb(&trackList);
if (pcrResultParseCart(database, cart, NULL, NULL, NULL))
slSafeAddHead(&trackList, pcrResultTg());
if (userSeqString != NULL) slSafeAddHead(&trackList, userPslTg());
slSafeAddHead(&trackList, oligoMatchTg());
if (restrictionEnzymesOk())
{
slSafeAddHead(&trackList, cuttersTg());
}
if (wikiTrackEnabled(database, NULL))
addWikiTrack(&trackList);
-#ifdef SOON
loadDataHubs(&trackList);
+#ifdef SOON
#endif /* SOON */
loadCustomTracks(&trackList);
groupTracks(&trackList, pGroupList, vis);
setSearchedTrackToPackOrFull(trackList);
if (cgiOptionalString( "hideTracks"))
changeTrackVis(groupList, NULL, tvHide);
/* Get visibility values if any from ui. */
for (track = trackList; track != NULL; track = track->next)
{
char *s = cartOptionalString(cart, track->track);
if (cgiOptionalString("hideTracks"))
{
s = cgiOptionalString(track->track);
if (s != NULL && (hTvFromString(s) != track->tdb->visibility))