#15376 closed defect (fixed)
Bundle 'ChimeraX-OpenCommand' custom initialization failed
| Reported by: | Owned by: | Eric Pettersen | |
|---|---|---|---|
| Priority: | normal | Milestone: | 1.8 |
| Component: | Input/Output | Version: | |
| Keywords: | Cc: | Greg Couch | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: macOS-13.6.6-x86_64-i386-64bit
ChimeraX Version: 1.8rc202406032355 (2024-06-03 23:55:07 UTC)
Description
Just started current 1.8 release candidate and clicked on a PDB file in the recent file history thumbnails and it gave this error.
Log:
Startup Errors
---
error | Bundle 'ChimeraX-OpenCommand' custom initialization failed
warning | Traceback (most recent call last):
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/open_command/manager.py", line 113, in add_provider
data_format = self.session.data_formats[format_name]
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/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
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/toolshed/info.py", line 387, in init_manager
return api._api_caller.init_manager(api, session, self, name, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/toolshed/__init__.py", line 1302, in init_manager
return cls._get_func(api, "init_manager")(session, bi, name, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/open_command/__init__.py", line 135, in init_manager
session.open_command = manager.OpenManager(session, name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/open_command/manager.py", line 64, in __init__
super().__init__(name)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/toolshed/__init__.py", line 996, in __init__
ts._init_single_manager(self)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/toolshed/__init__.py", line 875, in
_init_single_manager
mgr.add_provider(pbi, pvdr, **kw)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/open_command/manager.py", line 116, 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'
UCSF ChimeraX version: 1.8rc202406032355 (2024-06-03)
© 2016-2024 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open 7evo format mmcif fromDatabase pdb
Traceback (most recent call last):
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/ui/widgets/htmlview.py", line 320, in interceptRequest
self._callback(info)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/ui/widgets/htmlview.py", line 93, in _intercept
return interceptor(request_info, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/ui/widgets/htmlview.py", line 353, in intercept
chimerax_intercept(*args, view=view, session=session)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/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
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/ui/gui.py", line 415, in thread_safe
func(*args, **kw)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/ui/widgets/htmlview.py", line 446, in defer
cxcmd(session, topic)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/ui/widgets/htmlview.py", line 464, in cxcmd
run(session, cmd)
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/run.py", line 49, in run
results = command.run(text, log=log, return_json=return_json)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/core/commands/cli.py", line 3213, in run
result = ci.function(session, **kw_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/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
"/Users/goddard/Desktop/ChimeraX-1.8-rc2024.06.03.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/open_command/cmd.py", line 79, in cmd_open
mgr = session.open_command
^^^^^^^^^^^^^^^^^^^^
See log for complete Python traceback.
OpenGL version: 4.1 ATI-4.14.1
OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.
Python: 3.11.4
Locale: UTF-8
Qt version: PyQt6 6.6.1, Qt 6.6.1
Qt runtime version: 6.6.3
Qt platform: cocoa
Hardware:
Hardware Overview:
Model Name: iMac
Model Identifier: iMac18,3
Processor Name: Quad-Core Intel Core i7
Processor Speed: 4.2 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 8 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
System Firmware Version: 526.0.0.0.0
OS Loader Version: 577.140.2~22
SMC Version (system): 2.41f2
Software:
System Software Overview:
System Version: macOS 13.6.6 (22G630)
Kernel Version: Darwin 22.6.0
Time since boot: 46 days, 2 hours, 6 minutes
Graphics/Displays:
Radeon Pro 580:
Chipset Model: Radeon Pro 580
Type: GPU
Bus: PCIe
PCIe Lane Width: x16
VRAM (Total): 8 GB
Vendor: AMD (0x1002)
Device ID: 0x67df
Revision ID: 0x00c0
ROM Revision: 113-D000AA-931
VBIOS Version: 113-D0001A1X-025
EFI Driver Version: 01.00.931
Metal Support: Metal 2
Displays:
iMac:
Display Type: Built-In Retina LCD
Resolution: Retina 5K (5120 x 2880)
Framebuffer Depth: 30-Bit Color (ARGB2101010)
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: Yes
Connection Type: Internal
Installed Packages:
alabaster: 0.7.16
appdirs: 1.4.4
appnope: 0.1.4
asttokens: 2.4.1
Babel: 2.15.0
beautifulsoup4: 4.12.3
blockdiag: 3.0.0
blosc2: 2.0.0
build: 1.2.1
certifi: 2023.11.17
cftime: 1.6.3
charset-normalizer: 3.3.2
ChimeraX-AddCharge: 1.5.17
ChimeraX-AddH: 2.2.6
ChimeraX-AlignmentAlgorithms: 2.0.2
ChimeraX-AlignmentHdrs: 3.5
ChimeraX-AlignmentMatrices: 2.1
ChimeraX-Alignments: 2.12.7
ChimeraX-AlphaFold: 1.0
ChimeraX-AltlocExplorer: 1.1.1
ChimeraX-AmberInfo: 1.0
ChimeraX-Arrays: 1.1
ChimeraX-Atomic: 1.57
ChimeraX-AtomicLibrary: 14.0.5
ChimeraX-AtomSearch: 2.0.1
ChimeraX-AxesPlanes: 2.4
ChimeraX-BasicActions: 1.1.2
ChimeraX-BILD: 1.0
ChimeraX-BlastProtein: 2.4.6
ChimeraX-BondRot: 2.0.4
ChimeraX-BugReporter: 1.0.1
ChimeraX-BuildStructure: 2.12.1
ChimeraX-Bumps: 1.0
ChimeraX-BundleBuilder: 1.2.7
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.5
ChimeraX-ColorGlobe: 1.0
ChimeraX-ColorKey: 1.5.6
ChimeraX-CommandLine: 1.2.5
ChimeraX-ConnectStructure: 2.0.1
ChimeraX-Contacts: 1.0.1
ChimeraX-Core: 1.8rc202406032355
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.4
ChimeraX-DiffPlot: 1.0
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.10
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.1
ChimeraX-MedicalToolbar: 1.0.3
ChimeraX-Meeting: 1.0.1
ChimeraX-MLP: 1.1.1
ChimeraX-mmCIF: 2.14.1
ChimeraX-MMTF: 2.2
ChimeraX-Modeller: 1.5.16
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.2
ChimeraX-NMRSTAR: 1.0.2
ChimeraX-NRRD: 1.2
ChimeraX-Nucleotides: 2.0.3
ChimeraX-OpenCommand: 1.13.4
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.2
ChimeraX-ReadPbonds: 1.0.1
ChimeraX-Registration: 1.1.2
ChimeraX-RemoteControl: 1.0
ChimeraX-RenderByAttr: 1.4.1
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: 3.0.15
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.5
ChimeraX-STL: 1.0.1
ChimeraX-Storm: 1.0
ChimeraX-StructMeasure: 1.2.1
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.39.1
ChimeraX-uniprot: 2.3
ChimeraX-UnitCell: 1.0.1
ChimeraX-ViewDockX: 1.4.3
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.4
ChimeraX-Zone: 1.0.1
colorama: 0.4.6
comm: 0.2.2
contourpy: 1.2.1
cxservices: 1.2.2
cycler: 0.12.1
Cython: 3.0.10
debugpy: 1.8.1
decorator: 5.1.1
docutils: 0.20.1
executing: 2.0.1
filelock: 3.13.4
fonttools: 4.53.0
funcparserlib: 2.0.0a0
glfw: 2.7.0
grako: 3.16.5
h5py: 3.11.0
html2text: 2024.2.26
idna: 3.7
ihm: 1.0
imagecodecs: 2024.1.1
imagesize: 1.4.1
ipykernel: 6.29.2
ipython: 8.21.0
ipywidgets: 8.1.3
jedi: 0.19.1
jinja2: 3.1.4
jupyter-client: 8.6.0
jupyter-core: 5.7.2
jupyterlab-widgets: 3.0.11
kiwisolver: 1.4.5
line-profiler: 4.1.2
lxml: 5.2.1
lz4: 4.3.3
MarkupSafe: 2.1.5
matplotlib: 3.8.4
matplotlib-inline: 0.1.7
msgpack: 1.0.8
nest-asyncio: 1.6.0
netCDF4: 1.6.5
networkx: 3.3
nibabel: 5.2.0
nptyping: 2.5.0
numexpr: 2.10.0
numpy: 1.26.4
openvr: 1.26.701
packaging: 23.2
ParmEd: 4.2.2
parso: 0.8.4
pep517: 0.13.1
pexpect: 4.9.0
pillow: 10.3.0
pip: 24.0
pkginfo: 1.10.0
platformdirs: 4.2.2
prompt-toolkit: 3.0.45
psutil: 5.9.8
ptyprocess: 0.7.0
pure-eval: 0.2.2
py-cpuinfo: 9.0.0
pycollada: 0.8
pydicom: 2.4.4
pygments: 2.17.2
pynmrstar: 3.3.4
pynrrd: 1.0.0
PyOpenGL: 3.1.7
PyOpenGL-accelerate: 3.1.7
pyopenxr: 1.0.3401
pyparsing: 3.1.2
pyproject-hooks: 1.1.0
PyQt6-commercial: 6.6.1
PyQt6-Qt6: 6.6.3
PyQt6-sip: 13.6.0
PyQt6-WebEngine-commercial: 6.6.0
PyQt6-WebEngine-Qt6: 6.6.3
python-dateutil: 2.9.0.post0
pytz: 2024.1
pyzmq: 26.0.3
qtconsole: 5.5.1
QtPy: 2.4.1
RandomWords: 0.4.0
requests: 2.31.0
scipy: 1.13.0
setuptools: 69.5.1
setuptools-scm: 8.0.4
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.1
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.3
tables: 3.8.0
tcia-utils: 1.5.1
tifffile: 2024.1.30
tinyarray: 1.2.4
tornado: 6.4
traitlets: 5.14.2
typing-extensions: 4.12.1
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.11
Attachments (1)
Change History (14)
comment:2 by , 18 months ago
| Component: | Unassigned → Input/Output |
|---|---|
| Milestone: | → 1.8 |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Bundle 'ChimeraX-OpenCommand' custom initialization failed |
comment:3 by , 18 months ago
ChimeraX 1.9 June 4 daily build did not give this error on the same Intel Mac but also said "available bundle cache has not been initialized yet" which may be what is different. This is probably the first time a ChimeraX 1.9 was run on this Intel Mac.
comment:4 by , 18 months ago
| Status: | assigned → accepted |
|---|
comment:5 by , 18 months ago
| Cc: | added |
|---|
Is this reproducible? I just tried the current release candidate on my Intel Mac at home, both with and without removing the toolshed cache beforehand, and it worked every time. I'm imagining it could be a very rare race condition between the toolshed cache initializing and the manager/providers being executed, which is why I ask if it's reproducible.
comment:6 by , 18 months ago
Yes, it reproduces every time. I tried it about 10 times yesterday and just now today. Seems very likely it has something to do with installed user bundles or preferences.
comment:7 by , 18 months ago
This is on popper our build machine on my N453 desk. In fact there are no 1.8 user installed bundles. Let me move the setting directory and see if it starts correctly.
comment:8 by , 18 months ago
I also tried with todays June 4 candidate and get the same startup error.
comment:9 by , 18 months ago
Even moving ~/Library/Application Support/ChimeraX it still starts with the error. Maybe it is finding something on the build machine that confuses it.
comment:10 by , 18 months ago
I moved ~/Library/Caches/ChimeraX and then it starts correctly. So apparently the error has to do with the Toolshed cache. I'll attach that cache directory so you can debug.
by , 18 months ago
| Attachment: | chimerax_cache.zip added |
|---|
~/Library/Caches/ChimeraX folder that causes this error.
comment:11 by , 18 months ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |
I can see that your bundle_info.cache differ in size from mine:
(yours) -rw-r--r--@ 1 pett staff 192585 Jun 5 13:54 bundle_info.cache
(mine) -rw-r--r-- 1 pett staff 202696 Jun 5 13:44 bundle_info.cache
But using it works without error since it seems to immediately get updated to the "correct" size. I am simply going to downgrade to a warning, since there is also the possibility that (for instance) a bad version of Clipper gets uploaded to the Toolshed briefly that fails to declare MTZ, which would also cause the error (for everyone).
I don't know why the cache file on popper does not update on its own. Probably one of us should investigate tomorrow. Awkward that it's on your desk.
comment:12 by , 18 months ago
After the startup error, no files (PDB, mmCIF, maps, ...) can be opened because the open command didn't initialize. So if you downgrade to a warning, also need to make sure the initialization completes correctly so all the non-MTZ formats work.
Maybe the custom init failure somehow prevents the toolshed cache update?
I am often away from my desk if you want to use popper. Tomorrow I will meet at Dyche's lab 2 - 3 pm, and will go to talk 12-1 pm, and will probably be outside after 3 for lunch.
comment:13 by , 18 months ago
Unfortunately, it turns out I had only downgraded to a warning in one of two places that I needed to. I've updated the second location and we'll see if that works better on Monday.