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