Opened 19 months ago
Closed 17 months ago
#14862 closed defect (fixed)
KeyError: "No known data format 'mtz'"
| Reported by: | Owned by: | Eric Pettersen | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Tool Shed | Version: | |
| Keywords: | Cc: | chimera-programmers, Tristan Croll | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Windows-10-10.0.22631
ChimeraX Version: 1.8.dev202403290055 (2024-03-29 00:55:10 UTC)
Description
(Describe the actions that caused this problem to occur here)
Log:
Startup Errors
---
error | Bundle 'ChimeraX-OpenCommand' custom initialization failed
warning | Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\manager.py", line 112, in add_provider
data_format = self.session.data_formats[format_name]
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\data_formats\manager.py", line 205, in __getitem__
raise KeyError("No known data format '%s'" % key)
KeyError: "No known data format 'mtz'"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\info.py", line 387, in init_manager
return api._api_caller.init_manager(api, session, self, name, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 1298, in init_manager
return cls._get_func(api, "init_manager")(session, bi, name, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\\__init__.py", line 135, in init_manager
session.open_command = manager.OpenManager(session, name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\manager.py", line 64, in __init__
super().__init__(name)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 992, in __init__
ts._init_single_manager(self)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\toolshed\\__init__.py", line 871, in
_init_single_manager
mgr.add_provider(pbi, pvdr, **kw)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\manager.py", line 114, in add_provider
raise ValueError("Database-fetch provider '%s' in bundle %s specified"
ValueError: Database-fetch provider 'redo' in bundle Map specified unknown
data format 'mtz'
note | available bundle cache has not been initialized yet
UCSF ChimeraX version: 1.8.dev202403290055 (2024-03-29)
© 2016-2024 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open "C:\Users\Matt\Downloads\Bat vs Human Class I with b2m .cxs" format
> session
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 320, in interceptRequest
self._callback(info)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 93, in _intercept
return interceptor(request_info, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 353, in intercept
chimerax_intercept(*args, view=view, session=session)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 455, in chimerax_intercept
session.ui.thread_safe(defer, session, qurl.url(no_formatting), from_dir)
File "C:\Program Files\ChimeraX\bin\Lib\site-packages\chimerax\ui\gui.py",
line 388, in thread_safe
func(*args, **kw)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 446, in defer
cxcmd(session, topic)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 464, in cxcmd
run(session, cmd)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 49, in run
results = command.run(text, log=log, return_json=return_json)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2904, in run
result = ci.function(session, **kw_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 79, in cmd_open
mgr = session.open_command
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Session' object has no attribute 'open_command'
AttributeError: 'Session' object has no attribute 'open_command'
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 79, in cmd_open
mgr = session.open_command
^^^^^^^^^^^^^^^^^^^^
See log for complete Python traceback.
> open "C:\Users\Matt\Downloads\Bat vs Human Class I with b2m .cxs" format
> session
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 320, in interceptRequest
self._callback(info)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 93, in _intercept
return interceptor(request_info, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 353, in intercept
chimerax_intercept(*args, view=view, session=session)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 455, in chimerax_intercept
session.ui.thread_safe(defer, session, qurl.url(no_formatting), from_dir)
File "C:\Program Files\ChimeraX\bin\Lib\site-packages\chimerax\ui\gui.py",
line 388, in thread_safe
func(*args, **kw)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 446, in defer
cxcmd(session, topic)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\ui\widgets\htmlview.py", line 464, in cxcmd
run(session, cmd)
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 49, in run
results = command.run(text, log=log, return_json=return_json)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2904, in run
result = ci.function(session, **kw_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 79, in cmd_open
mgr = session.open_command
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Session' object has no attribute 'open_command'
AttributeError: 'Session' object has no attribute 'open_command'
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 79, in cmd_open
mgr = session.open_command
^^^^^^^^^^^^^^^^^^^^
See log for complete Python traceback.
> open "C:/Users/Matt/Downloads/Bat vs Human Class I with b2m .cxs"
Traceback (most recent call last):
File "C:\Program Files\ChimeraX\bin\Lib\site-packages\chimerax\ui\gui.py",
line 662, in dropEvent
_open_dropped_file(self.session, p)
File "C:\Program Files\ChimeraX\bin\Lib\site-packages\chimerax\ui\gui.py",
line 2027, in _open_dropped_file
run(session, 'open %s' % FileNameArg.unparse(path))
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\run.py", line 49, in run
results = command.run(text, log=log, return_json=return_json)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\core\commands\cli.py", line 2904, in run
result = ci.function(session, **kw_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 79, in cmd_open
mgr = session.open_command
^^^^^^^^^^^^^^^^^^^^
AttributeError: 'Session' object has no attribute 'open_command'
AttributeError: 'Session' object has no attribute 'open_command'
File "C:\Program Files\ChimeraX\bin\Lib\site-
packages\chimerax\open_command\cmd.py", line 79, in cmd_open
mgr = session.open_command
^^^^^^^^^^^^^^^^^^^^
See log for complete Python traceback.
OpenGL version: 3.3.0 - Build 31.0.101.5333
OpenGL renderer: Intel(R) Arc(TM) A770 Graphics
OpenGL vendor: Intel
Python: 3.11.4
Locale: en_US.cp1252
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.2
Qt platform: windows
Manufacturer: ASUS
Model: System Product Name
OS: Microsoft Windows 11 Education (Build 22631)
Memory: 34,262,872,064
MaxProcessMemory: 137,438,953,344
CPU: 16 AMD Ryzen 7 5700X 8-Core Processor
OSLanguage: en-US
Installed Packages:
alabaster: 0.7.16
appdirs: 1.4.4
asttokens: 2.4.1
Babel: 2.14.0
beautifulsoup4: 4.12.3
blockdiag: 3.0.0
blosc2: 2.5.1
build: 1.1.1
certifi: 2024.2.2
cftime: 1.6.3
charset-normalizer: 3.3.2
ChimeraX-AddCharge: 1.5.16
ChimeraX-AddH: 2.2.5
ChimeraX-AlignmentAlgorithms: 2.0.1
ChimeraX-AlignmentHdrs: 3.4.3
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.12.5
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.1.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.56
ChimeraX-AtomicLibrary: 14.0.3
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.1.2
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.12.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2.2
ChimeraX-ButtonPanel: 1.0.1
ChimeraX-CageBuilder: 1.0.1
ChimeraX-CellPack: 1.0
ChimeraX-Centroids: 1.4
ChimeraX-ChangeChains: 1.1
ChimeraX-CheckWaters: 1.4
ChimeraX-ChemGroup: 2.0.1
ChimeraX-Clashes: 2.2.4
ChimeraX-ColorActions: 1.0.3
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.5
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.8.dev202403290055
ChimeraX-CoreFormats: 1.2
ChimeraX-coulombic: 1.4.3
ChimeraX-Crosslinks: 1.0
ChimeraX-Crystal: 1.0
ChimeraX-CrystalContacts: 1.0.1
ChimeraX-DataFormats: 1.2.3
ChimeraX-Dicom: 1.2
ChimeraX-DistMonitor: 1.4.2
ChimeraX-DockPrep: 1.1.3
ChimeraX-Dssp: 2.0
ChimeraX-EMDB-SFF: 1.0
ChimeraX-ESMFold: 1.0
ChimeraX-FileHistory: 1.0.1
ChimeraX-FunctionKey: 1.0.1
ChimeraX-Geometry: 1.3
ChimeraX-gltf: 1.0
ChimeraX-Graphics: 1.1.1
ChimeraX-Hbonds: 2.4
ChimeraX-Help: 1.2.2
ChimeraX-HKCage: 1.3
ChimeraX-IHM: 1.1
ChimeraX-ImageFormats: 1.2
ChimeraX-IMOD: 1.0
ChimeraX-IO: 1.0.1
ChimeraX-ItemsInspection: 1.0.1
ChimeraX-IUPAC: 1.0
ChimeraX-Label: 1.1.9
ChimeraX-ListInfo: 1.2.2
ChimeraX-Log: 1.1.6
ChimeraX-LookingGlass: 1.1
ChimeraX-Maestro: 1.9.1
ChimeraX-Map: 1.2
ChimeraX-MapData: 2.0
ChimeraX-MapEraser: 1.0.1
ChimeraX-MapFilter: 2.0.1
ChimeraX-MapFit: 2.0
ChimeraX-MapSeries: 2.1.1
ChimeraX-Markers: 1.0.1
ChimeraX-Mask: 1.0.2
ChimeraX-MatchMaker: 2.1.3
ChimeraX-MCopy: 1.0
ChimeraX-MDcrds: 2.7
ChimeraX-MedicalToolbar: 1.0.2
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.14
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.15
ChimeraX-ModelPanel: 1.5
ChimeraX-ModelSeries: 1.0.1
ChimeraX-Mol2: 2.0.3
ChimeraX-Mole: 1.0
ChimeraX-Morph: 1.0.2
ChimeraX-MouseModes: 1.2
ChimeraX-Movie: 1.0
ChimeraX-Neuron: 1.0
ChimeraX-Nifti: 1.1
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.1
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.13.3
ChimeraX-PDB: 2.7.5
ChimeraX-PDBBio: 1.0.1
ChimeraX-PDBLibrary: 1.0.4
ChimeraX-PDBMatrices: 1.0
ChimeraX-PickBlobs: 1.0.1
ChimeraX-Positions: 1.0
ChimeraX-PresetMgr: 1.1.1
ChimeraX-PubChem: 2.1
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.3
ChimeraX-RenumberResidues: 1.1
ChimeraX-ResidueFit: 1.0.1
ChimeraX-RestServer: 1.2
ChimeraX-RNALayout: 1.0
ChimeraX-RotamerLibMgr: 4.0
ChimeraX-RotamerLibsDunbrack: 2.0
ChimeraX-RotamerLibsDynameomics: 2.0
ChimeraX-RotamerLibsRichardson: 2.0
ChimeraX-SaveCommand: 1.5.1
ChimeraX-SchemeMgr: 1.0
ChimeraX-SDF: 2.0.2
ChimeraX-Segger: 1.0
ChimeraX-Segment: 1.0.1
ChimeraX-Segmentations: 1.0
ChimeraX-SelInspector: 1.0
ChimeraX-SeqView: 2.11.2
ChimeraX-Shape: 1.0.1
ChimeraX-Shell: 1.0.1
ChimeraX-Shortcuts: 1.1.1
ChimeraX-ShowSequences: 1.0.3
ChimeraX-SideView: 1.0.1
ChimeraX-Smiles: 2.1.2
ChimeraX-SmoothLines: 1.0
ChimeraX-SpaceNavigator: 1.0
ChimeraX-StdCommands: 1.16.3
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.2
ChimeraX-Struts: 1.0.1
ChimeraX-Surface: 1.0.1
ChimeraX-SwapAA: 2.0.1
ChimeraX-SwapRes: 2.5
ChimeraX-TapeMeasure: 1.0
ChimeraX-TaskManager: 1.0
ChimeraX-Test: 1.0
ChimeraX-Toolbar: 1.1.2
ChimeraX-ToolshedUtils: 1.2.4
ChimeraX-Topography: 1.0
ChimeraX-ToQuest: 1.0
ChimeraX-Tug: 1.0.1
ChimeraX-UI: 1.37.1
ChimeraX-uniprot: 2.3
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.3.2
ChimeraX-VIPERdb: 1.0
ChimeraX-Vive: 1.1
ChimeraX-VolumeMenu: 1.0.1
ChimeraX-vrml: 1.0
ChimeraX-VTK: 1.0
ChimeraX-WavefrontOBJ: 1.0
ChimeraX-WebCam: 1.0.2
ChimeraX-WebServices: 1.1.3
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.2.2
comtypes: 1.3.1
contourpy: 1.2.0
cxservices: 1.2.2
cycler: 0.12.1
Cython: 3.0.9
debugpy: 1.8.1
decorator: 5.1.1
docutils: 0.20.1
executing: 2.0.1
filelock: 3.13.1
fonttools: 4.50.0
funcparserlib: 2.0.0a0
glfw: 2.7.0
grako: 3.16.5
h5py: 3.10.0
html2text: 2024.2.26
idna: 3.6
ihm: 0.43
imagecodecs: 2024.1.1
imagesize: 1.4.1
ipykernel: 6.29.2
ipython: 8.21.0
ipywidgets: 8.1.2
jedi: 0.19.1
Jinja2: 3.1.3
jupyter-client: 8.6.0
jupyter-core: 5.7.2
jupyterlab-widgets: 3.0.10
kiwisolver: 1.4.5
line-profiler: 4.1.2
lxml: 5.1.0
lz4: 4.3.3
MarkupSafe: 2.1.5
matplotlib: 3.8.3
matplotlib-inline: 0.1.6
msgpack: 1.0.8
ndindex: 1.8
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.2.1
nibabel: 5.0.1
nptyping: 2.5.0
numexpr: 2.9.0
numpy: 1.26.4
openvr: 1.26.701
packaging: 24.0
ParmEd: 4.2.2
parso: 0.8.3
pep517: 0.13.1
pillow: 10.2.0
pip: 24.0
pkginfo: 1.10.0
platformdirs: 4.2.0
prompt-toolkit: 3.0.43
psutil: 5.9.8
pure-eval: 0.2.2
py-cpuinfo: 9.0.0
pycollada: 0.8
pydicom: 2.3.0
pygments: 2.17.2
pynmrstar: 3.3.4
pynrrd: 1.0.0
PyOpenGL: 3.1.7
PyOpenGL-accelerate: 3.1.7
pyopenxr: 1.0.3302
pyparsing: 3.1.2
pyproject-hooks: 1.0.0
PyQt6-commercial: 6.6.1
PyQt6-Qt6: 6.6.2
PyQt6-sip: 13.6.0
PyQt6-WebEngine-commercial: 6.6.0
PyQt6-WebEngine-Qt6: 6.6.2
python-dateutil: 2.9.0.post0
pytz: 2024.1
pywin32: 306
pyzmq: 25.1.2
qtconsole: 5.5.1
QtPy: 2.4.1
RandomWords: 0.4.0
requests: 2.31.0
scipy: 1.12.0
setuptools: 69.2.0
sfftk-rw: 0.8.1
six: 1.16.0
snowballstemmer: 2.2.0
sortedcontainers: 2.4.0
soupsieve: 2.5
sphinx: 7.2.6
sphinx-autodoc-typehints: 2.0.0
sphinxcontrib-applehelp: 1.0.8
sphinxcontrib-blockdiag: 3.0.0
sphinxcontrib-devhelp: 1.0.6
sphinxcontrib-htmlhelp: 2.0.5
sphinxcontrib-jsmath: 1.0.1
sphinxcontrib-qthelp: 1.0.7
sphinxcontrib-serializinghtml: 1.1.10
stack-data: 0.6.3
superqt: 0.6.1
tables: 3.9.2
tcia-utils: 1.5.1
tifffile: 2024.1.30
tinyarray: 1.2.4
tornado: 6.4
traitlets: 5.14.1
typing-extensions: 4.10.0
tzdata: 2024.1
urllib3: 2.2.1
wcwidth: 0.2.13
webcolors: 1.13
wheel: 0.43.0
wheel-filename: 1.4.1
widgetsnbextension: 4.0.10
WMI: 1.5.1
Change History (11)
comment:1 by , 19 months ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Tool Shed |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → accepted |
| Summary: | ChimeraX bug report submission → KeyError: "No known data format 'mtz'" |
comment:2 by , 19 months ago
comment:3 by , 19 months ago
| Cc: | added |
|---|
comment:5 by , 19 months ago
I guess option (5) is just to leave it as a log message -- you won't be able to fetch REDO maps until you start ChimeraX with an existing toolshed cache.
comment:6 by , 19 months ago
Does this downgrading the error to just log a message fix the Mac Intel build which fails making the Info.plist file? If not, it would be nice to fix the Mac Intel build now possibly by removing PDB-Redo fetch until we have an adequate solution.
comment:8 by , 19 months ago
And option (6)(!) is to moved the MTZ format declaration from the Clipper bundle to the map bundle (leaving the actual opener in Clipper).
follow-up: 10 comment:9 by , 19 months ago
Does the toolshed's API not support queries like SELECT * FROM BUNDLES WHERE PROVIDED_FILETYPES="mtz"? That would be a lightning fast query even if it was synchronous.
Perhaps we could put the toolshed cache the Webservices and have an endpoint called by something like toolshed_bundle_for_filetype()
This would be kind of like what Greg was suggesting except every ChimeraX would be up to date forever.
comment:10 by , 19 months ago
These are both good possibilities if this kind of issue occurs more, so that it's worth the implementation effort. My plan right now for the MTZ thing is to ask the chimerax.core Toolshed instance if its cache is initialized (need a new API call for that) and if it isn't, don't even put anything in the log about the missing format, but if it is initialized then issue a warning (since the missing format is an actual problem).
Replying to Zach Pearson:
Does the toolshed's API not support queries like SELECT * FROM BUNDLES WHERE PROVIDED_FILETYPES="mtz"? That would be a lightning fast query even if it was synchronous.
Perhaps we could put the toolshed cache the Webservices and have an endpoint called by something like
toolshed_bundle_for_filetype()
This would be kind of like what Greg was suggesting except every ChimeraX would be up to date forever.
comment:11 by , 17 months ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
Here's the first known occurrence of the MTZ problem "in the wild". I am going to downgrade to a logged warning for now, so that builds work and new users don't get bitten.
We need to discuss the issue at a programmer's meeting. The possible solutions that occur to me are:
1) Toolshed fetch is synchronous if the cache is missing, asynchronous otherwise.
2) Move the PDB-REDO MTZ fetch to a small bundle on the toolshed. Users would have to get that bundle _and_ the Clipper bundle to get the fetch to work, and the fetch would not show up in the Fetch By ID panel if the toolshed cache was not initialized.
3) Ask Tristan to add the fetch code to the Clipper bundle. Still would not show up in Fetch By ID if toolshed cache was missing.
4) Some kind of complex code that remembers these kinds of failures and reexamines them when the toolshed cache initialization completes.