Opened 18 months ago

Last modified 18 months ago

#14977 accepted defect

Toolshed updates: IndexError: tuple index out of range

Reported by: goddard@… Owned by: Greg Couch
Priority: normal Milestone:
Component: Tool Shed Version:
Keywords: Cc: Eric Pettersen
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        macOS-14.4.1-arm64-arm-64bit
ChimeraX Version: 1.7.1 (2024-01-23 01:58:08 UTC)
Description
Not sure what happened here.  I just started ChimeraX and a few seconds later it spontaneously produced this error while I was in the process of typing an open command in the command-line.

Log:
Startup Messages  
---  
warning | Replacing fetcher for 'pdb_nmr' and format NMRSTAR from NMRSTAR
bundle with that from NMRSTAR bundle  
  
UCSF ChimeraX version: 1.7.1 (2024-01-23)  
© 2016-2023 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  
Traceback (most recent call last):  
File
"/Users/goddard/Desktop/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/ui/gui.py", line 719, in customEvent  
func(*args, **kw)  
File
"/Users/goddard/Desktop/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/toolshed_utils/tool.py", line 29, in show  
return UpdateTool(session, "Update Bundles", dialog_type)  
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  
File
"/Users/goddard/Desktop/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/toolshed_utils/tool.py", line 125, in __init__  
self._fill_updates()  
File
"/Users/goddard/Desktop/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/toolshed_utils/tool.py", line 194, in _fill_updates  
([], installed_version, available.synopsis, available.categories[0]))  
~~~~~~~~~~~~~~~~~~~~^^^  
IndexError: tuple index out of range  
  
IndexError: tuple index out of range  
  
File
"/Users/goddard/Desktop/ChimeraX-1.7.1.app/Contents/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-
packages/chimerax/toolshed_utils/tool.py", line 194, in _fill_updates  
([], installed_version, available.synopsis, available.categories[0]))  
~~~~~~~~~~~~~~~~~~~~^^^  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 Metal - 88
OpenGL renderer: Apple M2 Ultra
OpenGL vendor: Apple

Python: 3.11.2
Locale: UTF-8
Qt version: PyQt6 6.3.1, Qt 6.3.1
Qt runtime version: 6.3.2
Qt platform: cocoa
Hardware:

    Hardware Overview:

      Model Name: Mac Studio
      Model Identifier: Mac14,14
      Model Number: Z1800003VLL/A
      Chip: Apple M2 Ultra
      Total Number of Cores: 24 (16 performance and 8 efficiency)
      Memory: 64 GB
      System Firmware Version: 10151.101.3
      OS Loader Version: 10151.101.3

Software:

    System Software Overview:

      System Version: macOS 14.4.1 (23E224)
      Kernel Version: Darwin 23.4.0
      Time since boot: 2 hours, 32 minutes

Graphics/Displays:

    Apple M2 Ultra:

      Chipset Model: Apple M2 Ultra
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 60
      Vendor: Apple (0x106b)
      Metal Support: Metal 3
      Displays:
        PHL 278B1:
          Resolution: 3840 x 2160 (2160p/4K UHD 1 - Ultra High Definition)
          UI Looks like: 1920 x 1080 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Rotation: Supported


Installed Packages:
    aiobotocore: 2.12.2
    aiohttp: 3.9.3
    aioitertools: 0.11.0
    aiosignal: 1.3.1
    alabaster: 0.7.16
    alphashape: 1.3.1
    appdirs: 1.4.4
    appnope: 0.1.3
    asciitree: 0.3.3
    asttokens: 2.4.1
    attrs: 23.2.0
    Babel: 2.14.0
    backcall: 0.2.0
    beautifulsoup4: 4.11.2
    blockdiag: 3.0.0
    blosc2: 2.0.0
    botocore: 1.34.51
    build: 0.10.0
    certifi: 2022.12.7
    cffi: 1.16.0
    cftime: 1.6.3
    charset-normalizer: 3.3.2
    ChimeraX-AddCharge: 1.5.13
    ChimeraX-AddH: 2.2.5
    ChimeraX-AlignmentAlgorithms: 2.0.1
    ChimeraX-AlignmentHdrs: 3.4.1
    ChimeraX-AlignmentMatrices: 2.1
    ChimeraX-Alignments: 2.12.2
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.1.1
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.1
    ChimeraX-Atomic: 1.49.1
    ChimeraX-AtomicLibrary: 12.1.5
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.3.2
    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.10.5
    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.3.2
    ChimeraX-ChangeChains: 1.1
    ChimeraX-CheckWaters: 1.3.2
    ChimeraX-ChemGroup: 2.0.1
    ChimeraX-Clashes: 2.2.4
    ChimeraX-Clipper: 0.22.3
    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.7.1
    ChimeraX-CoreFormats: 1.2
    ChimeraX-coulombic: 1.4.2
    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
    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-ISOLDE: 1.7
    ChimeraX-ItemsInspection: 1.0.1
    ChimeraX-IUPAC: 1.0
    ChimeraX-Label: 1.1.8
    ChimeraX-ListInfo: 1.2.2
    ChimeraX-Log: 1.1.6
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.9.1
    ChimeraX-Map: 1.1.4
    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.2
    ChimeraX-MCopy: 1.0
    ChimeraX-MDcrds: 2.6.1
    ChimeraX-MedicalToolbar: 1.0.2
    ChimeraX-Meeting: 1.0.1
    ChimeraX-MLP: 1.1.1
    ChimeraX-mmCIF: 2.12.1
    ChimeraX-MMTF: 2.2
    ChimeraX-Modeller: 1.5.14
    ChimeraX-ModelPanel: 1.4
    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-NIHPresets: 1.1.15
    ChimeraX-NRRD: 1.1
    ChimeraX-Nucleotides: 2.0.3
    ChimeraX-OME-Zarr: 0.5.2
    ChimeraX-OpenCommand: 1.13.1
    ChimeraX-PDB: 2.7.3
    ChimeraX-PDBBio: 1.0.1
    ChimeraX-PDBLibrary: 1.0.4
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PhenixUI: 1.2.0
    ChimeraX-PickBlobs: 1.0.1
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1.2
    ChimeraX-RemoteControl: 1.0
    ChimeraX-RenderByAttr: 1.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-SelInspector: 1.0
    ChimeraX-SeqView: 2.11
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0.1
    ChimeraX-Shortcuts: 1.1.1
    ChimeraX-ShowSequences: 1.0.2
    ChimeraX-SideView: 1.0.1
    ChimeraX-Smiles: 2.1.2
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.12.4
    ChimeraX-STL: 1.0.1
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.1.2
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0.1
    ChimeraX-SwapAA: 2.0.1
    ChimeraX-SwapRes: 2.2.2
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-TaskManager: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-TetraScapeCommand: 0.1
    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.33.3
    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
    click: 8.1.7
    click-log: 0.4.0
    cloudpickle: 3.0.0
    colorama: 0.4.6
    comm: 0.2.1
    contourpy: 1.2.0
    cryptography: 42.0.5
    cxservices: 1.2.2
    cycler: 0.12.1
    Cython: 0.29.33
    dask: 2024.4.1
    debugpy: 1.8.0
    decorator: 5.1.1
    distributed: 2024.4.1
    docutils: 0.19
    executing: 2.0.1
    fasteners: 0.19
    filelock: 3.9.0
    fonttools: 4.47.2
    frozenlist: 1.4.1
    fsspec: 2024.3.1
    funcparserlib: 2.0.0a0
    glfw: 2.6.4
    grako: 3.16.5
    h5py: 3.10.0
    html2text: 2020.1.16
    idna: 3.6
    ihm: 0.38
    imagecodecs: 2023.9.18
    imageio: 2.34.0
    imagesize: 1.4.1
    importlib-metadata: 7.1.0
    ipykernel: 6.23.2
    ipython: 8.14.0
    ipython-genutils: 0.2.0
    ipywidgets: 8.1.1
    jedi: 0.18.2
    Jinja2: 3.1.2
    jmespath: 1.0.1
    jupyter-client: 8.2.0
    jupyter-core: 5.7.1
    jupyterlab-widgets: 3.0.9
    kiwisolver: 1.4.5
    lazy-loader: 0.4
    line-profiler: 4.0.2
    locket: 1.0.0
    lxml: 4.9.2
    lz4: 4.3.2
    MarkupSafe: 2.1.4
    matplotlib: 3.7.2
    matplotlib-inline: 0.1.6
    msgpack: 1.0.4
    multidict: 6.0.5
    nest-asyncio: 1.6.0
    netCDF4: 1.6.2
    networkx: 3.1
    nibabel: 5.0.1
    nptyping: 2.5.0
    numcodecs: 0.12.1
    numexpr: 2.8.8
    numpy: 1.25.1
    ome-zarr: 0.8.3
    openvr: 1.23.701
    packaging: 21.3
    ParmEd: 3.4.3
    parso: 0.8.3
    partd: 1.4.1
    pep517: 0.13.0
    pexpect: 4.9.0
    pickleshare: 0.7.5
    pillow: 10.2.0
    pip: 23.0
    pkginfo: 1.9.6
    platformdirs: 4.1.0
    prompt-toolkit: 3.0.43
    psutil: 5.9.5
    ptyprocess: 0.7.0
    pure-eval: 0.2.2
    py-cpuinfo: 9.0.0
    pycollada: 0.7.2
    pycparser: 2.22
    pydicom: 2.3.0
    Pygments: 2.16.1
    pynmrstar: 3.3.2
    pynrrd: 1.0.0
    PyOpenGL: 3.1.7
    PyOpenGL-accelerate: 3.1.7
    pyopenxr: 1.0.2801
    pyparsing: 3.0.9
    pyproject-hooks: 1.0.0
    PyQt6-commercial: 6.3.1
    PyQt6-Qt6: 6.3.2
    PyQt6-sip: 13.4.0
    PyQt6-WebEngine-commercial: 6.3.1
    PyQt6-WebEngine-Qt6: 6.3.2
    pyspnego: 0.10.2
    python-dateutil: 2.8.2
    pytz: 2023.3.post1
    PyYAML: 6.0.1
    pyzmq: 25.1.2
    qtconsole: 5.4.3
    QtPy: 2.4.1
    RandomWords: 0.4.0
    requests: 2.31.0
    Rtree: 1.1.0
    s3fs: 2024.3.1
    scikit-image: 0.22.0
    scipy: 1.11.1
    setuptools: 67.4.0
    setuptools-scm: 7.0.5
    sfftk-rw: 0.7.3
    shapely: 2.0.2
    six: 1.16.0
    smbprotocol: 1.13.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    soupsieve: 2.5
    sphinx: 6.1.3
    sphinx-autodoc-typehints: 1.22
    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.5.0
    tables: 3.8.0
    tblib: 3.0.0
    tcia-utils: 1.5.1
    tifffile: 2023.7.18
    tinyarray: 1.2.4
    tomli: 2.0.1
    toolz: 0.12.1
    tornado: 6.4
    traitlets: 5.9.0
    trimesh: 4.0.10
    typing-extensions: 4.9.0
    tzdata: 2023.4
    urllib3: 2.0.7
    wcwidth: 0.2.13
    webcolors: 1.12
    wheel: 0.38.4
    wheel-filename: 1.4.1
    widgetsnbextension: 4.0.9
    wrapt: 1.16.0
    yarl: 1.9.4
    zarr: 2.17.2
    zict: 3.0.0
    zipp: 3.18.1

Change History (8)

comment:1 by Tom Goddard, 18 months ago

Cc: Eric Pettersen added
Component: UnassignedTool Shed
Owner: set to Greg Couch
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionToolshed updates: IndexError: tuple index out of range

comment:2 by Greg Couch, 18 months ago

Status: assignedaccepted

Reproduced with "toolshed update all" in ChimeraX 1.7. Works in 1.8 daily build.

comment:3 by Greg Couch, 18 months ago

Actually, but is in 1.8 daily too. The bug is that the category for the OME_Zarr bundle is missing. Not sure why yet.

comment:4 by Greg Couch, 18 months ago

The OME-Zarr bundle info is missing the categories for the bundle. So in the bundle_info.xml file, it doesn't have any categories listed for the bundle. And so when ChimeraX asks for a list of the available bundles, the bundle comes without any categories. It's a bug that the toolshed accepted the submission. But the workaround will be to place the bundle in General category.

comment:5 by Tom Goddard, 18 months ago

If you want Utz Ermel to update the OMEZarr bundle to add a category, he is very responsive. This may help ChimeraX 1.7 users if you intend to put your fix in ChimeraX. But if the fix is on the server side then Utz doesn't need to do anything.

comment:6 by Greg Couch, 18 months ago

I should be able to fix this server side.

comment:7 by Greg Couch, 18 months ago

New copick bundle has the same problem.

Fixed the immediate problem with:

. activate.sh
./manage.py dbshell
MariaDB [cxtoolshed]> select id from apps_app where name = 'chimeraxomezarr';
MariaDB [cxtoolshed]> select id from apps_release where app_id = 534;
MariaDB [cxtoolshed]> insert into apps_releasemetadata (release_id, type, name, `key`, `value`) values (1148, "bundle", "ChimeraX_OME_Zarr", "categories", "Volume Data");

And changed ChimeraX daily build to assume bundles are in the General category if no categories are present.

Long term solution is to reject uploads of bundles without categories. That will fix the problem for older versions of ChimeraX tool.

Last edited 18 months ago by Greg Couch (previous) (diff)

comment:8 by Zach Pearson, 18 months ago

Related: the fix to #15048 makes it a build error to omit a category for TOML bundles

Note: See TracTickets for help on using tickets.