Opened 8 years ago
Closed 7 years ago
#966 closed defect (fixed)
'make app-install' hangs when ToolShed website is down
| Reported by: | Owned by: | Conrad Huang | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Tool Shed | Version: | |
| Keywords: | Cc: | chimera-programmers | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
Posting via email since it seems the webserver is down. Turns out this plays havoc with bundle installation by `make app-install` - and more generally causes a very long hang when exiting ChimeraX. It appears the culprit is toolshed.AvailableBundleCache.load() - its urlopen() request doesn't specify a timeout, then it defaults to the global default timeout, which from what I've read is set to None (so technically it should *never* time out, although it appears to anyway after a few minutes). Anyway, on ChimeraX exit everything hangs waiting for its thread to join. Simple solution would be to change line 30 of `toolshed/available.py` to
{{{
with urlopen(url, timeout=some_reasonable_value) as f:
}}}
where some_reasonable_value = 5 (seconds) or so.
Change History (4)
comment:1 by , 8 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Tool Shed |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
comment:2 by , 8 years ago
| Status: | assigned → feedback |
|---|
follow-up: 3 comment:3 by , 8 years ago
This was ISOLDE. It depends on another Toolshed bundle (Clipper), so maybe that’s the issue. The Clipper plugin *was* already installed at the time. Not sure if it’s relevant, but when starting ChimeraX in GUI mode it seems to check in with the ToolShed every time (when server is down, I get the message “Updating list of installed bundles failed”). Tristan Croll Research Fellow Cambridge Institute for Medical Research University of Cambridge CB2 0XY
comment:4 by , 7 years ago
| Resolution: | → fixed |
|---|---|
| Status: | feedback → closed |
The preferred way to build and installed bundles is now:
ChimeraX.exe --nogui --safemode --exit --cmd "devel install (etc) exit true"
The --exit flag tells ChimeraX to exit after the command AND do not contact the toolshed. The --safemode flag tells ChimeraX not to initialize tools, and is mostly useful when installing a bundle that uses custom initialization already.
Note:
See TracTickets
for help on using tickets.
Which package was behaving this way? ChimeraX should not be trying to reach the toolshed when installing packages unless there is an unsatisfied dependency. We typically do not have this problem because few bundles have dependencies, and those that do have the base dependencies installed first through Makefile rules.