Opened 6 years ago

Closed 6 years ago

#2043 closed defect (fixed)

Uninstall Clipper: JSONDecodeError

Reported by: tic20@… Owned by: Conrad Huang
Priority: normal Milestone:
Component: Tool Shed Version:
Keywords: Cc: Scooter Morris
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.17134
ChimeraX Version: 0.9 (2019-06-06)
Description
Attempting to uninstall my Clipper the "official" way in order to investigate #2038 leads to the traceback below.

Log:
Startup Messages  
---  
warning | 'clip' is a prefix of an existing command 'clipper'  
  
UCSF ChimeraX version: 0.9 (2019-06-06)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> usage toolshed

Subcommands are:

  * toolshed cache
  * toolshed hide
  * toolshed install
  * toolshed list
  * toolshed reload
  * toolshed show
  * toolshed uninstall
  * toolshed url

  

> toolshed uninstall clipper

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 730, in __init__  
self._data = json.loads(data)  
File "C:\Program Files\ChimeraX\bin\lib\json\\__init__.py", line 348, in loads  
return _default_decoder.decode(s)  
File "C:\Program Files\ChimeraX\bin\lib\json\decoder.py", line 337, in decode  
obj, end = self.raw_decode(s, idx=_w(s, 0).end())  
File "C:\Program Files\ChimeraX\bin\lib\json\decoder.py", line 355, in
raw_decode  
raise JSONDecodeError("Expecting value", s, err.value) from None  
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 254, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2632, in run  
result = ci.function(session, **kw_args)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\toolshed.py", line 254, in toolshed_uninstall  
deps = bi.dependents(logger)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 667, in dependents  
for d in DistributionPath().get_distributions():  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\database.py",
line 213, in get_distributions  
self._generate_cache()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\database.py",
line 167, in _generate_cache  
for dist in self._yield_distributions():  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\database.py",
line 148, in _yield_distributions  
metadata = Metadata(fileobj=stream, scheme='legacy')  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 741, in __init__  
self.validate()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 958, in validate  
missing, warnings = self._legacy.check(True)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 522, in check  
self.set_metadata_version()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 289, in set_metadata_version  
self._fields['Metadata-Version'] = _best_version(self._fields)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 167, in _best_version  
raise MetadataConflictError('Unknown metadata set')  
distlib.metadata.MetadataConflictError: Unknown metadata set  
  
distlib.metadata.MetadataConflictError: Unknown metadata set  
  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 167, in _best_version  
raise MetadataConflictError('Unknown metadata set')  
  
See log for complete Python traceback.  
  

> toolshed list

List of installed bundles:  

-himerax-clipper (0.4): Clipper: Efficient handling of volumetric data and symmetry AddH (1.0): Add hydrogens AlignmentAlgorithms (1.0): Sequence alignment algorithms AlignmentHdrs (1.0): Alignment header support AlignmentMatrices (1.0): Sequence alignment similarity matrices Alignments (1.0): Sequence alignment support Atom-Search (1.0): 3D atom search Atomic (1.0): Atomic-structure functionality BILD (0.1): BILD file reader BasicActions (0.1): Basic actions for user-defined specifier names BlastProtein (0.1): Search PDB/NR using BLAST BondRot (1.0): Bond rotation support Bug-Reporter (1.0): Report bugs when an error occurs Bumps (1.0): Find protrusions in density maps ButtonPanel (1.0): Create custom user interface panels Cage-Builder (1.0): Build polygonal meshes for oligomeric molecular assemblies CellPack (1.0): Fetch cellPACK models from web ChemGroup (1.0): Detect chemically functional groups Clashes (1.0): Find clashes/contacts in structures Clipper (0.9.1): Clipper: Efficient handling of volumetric data and symmetry ColorGlobe (1.0): Show directional resolution colored sphere CommandLine (1.0): Command line support Connect-Structure (1.0): Add bonds to structures that lack them Contacts (1.0): Display chain contact maps Core (0.9): ChimeraX Core Package Crosslinks (1.0): Analyze crosslinks Crystal (1.0): Crystal symmetries Dicom (1.0): Read medical imaging and segmentations in DICOM format Dist-Monitor (1.0): Interactive distance display Dist-UI (1.0): Distance measurement user interface Dssp (1.0): Compute/assign secondary structure ExperimentalCommands (1.0): Experimental commands FileHistory (1.0): File History Panel Hbonds (1.0): Identify hydrogen bonds in and among structures Help (0.9a1): Show ChimeraX Help IHM (1.0): Integrative Hybrid Models file reader ISOLDE (1.0b2.dev1): ISOLDE: Interactive Structure Optimisation by Local Direct Exploration Label (1.0): Add text labels to graphics List-Info (0.1): Report attributes for selected atomic data Log (1.0): Log support MD-crds (1.0): Molecular dynamics support MLP (1.0): Molecular lipophilicity calculation MMTF (1.0): MMTF format read/write Map (1.0): Density maps MapData (1.0): Volume data file formats MapFilter (1.0): Operations on maps MapFit (1.0): Fit molecules into maps MapSeries (1.0): Volume series Markers (1.0): Place markers on density maps Mask (1.0): Mask a volume to a surface MatchMaker (1.0): Superimpose structures Meeting (1.0): Shared interactive VR sessions. ModelPanel (1.0): ChimeraX Model Panel ModelSeries (1.0): Display sequences of models one by one Modeller (1.0): Interface to Modeller Mol2 (1.0): Mol2 reader/writer Morph (1.0): Morph atomic structures MouseModes (1.0): Provide right button mouse mode tool Movie (1.0): Commands to record movies Nucleotides (0.1): Create nucleotide-specific displays PDB (1.0): PDB format read/write Preset-Mgr (1.0): Preset management Read-Pbonds (1.0): Read in pseudobonds from a file Registration (0.1): Register ChimeraX RemoteControl (1.0): Control ChimeraX from other apps ResidueFit (1.0): Display fit of residues to density map RestServer (0.1): Starts REST server to execute commands from network requests STL (1.0): STL file read/write Scheme-Mgr (1.0): HTTP scheme management SeqView (1.0): Sequence viewer Shell (1.0): Interactive Python shell Shortcuts (1.0): Button and keyboard shortcuts ShowAttr (1.0): Render/select by attribute SideView (1.0): Side view of scene SmoothLines (1.0): Smooth network of lines SpaceNavigator (1.0): Space Navigator device support Std-Commands (1.0): Standard commands Storm (1.0): STORM file reader Struts (1.0): struts for 3D printing Surface (1.0): Surface calculations SwapAA (1.0): Swap amino acid Test (1.0): simple regression test Texture (1.0): Apply images to surfaces Toolbar (0.1): Toolbar Tug (1.0): Tug on atoms with molecular dynamics UI (1.0): ChimeraX user interface VTK (1.0): Legacy VTK file reader ViewDockX (0.1): View docking results Vive (1.0): Virtual reality headset support WavefrontOBJ (1.0): Wavefront OBJ file read/write WebServices (1.0): Web service and HTTP request support Zone (1.0): Mouse mode to show atom and map zones gltf (1.0): Read/write glTF 3d scene files mmCIF (1.1): mmCIF format read/write uniprot (1.0): UniProt database support
  

> toolshed uninstall Clipper

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 730, in __init__  
self._data = json.loads(data)  
File "C:\Program Files\ChimeraX\bin\lib\json\\__init__.py", line 348, in loads  
return _default_decoder.decode(s)  
File "C:\Program Files\ChimeraX\bin\lib\json\decoder.py", line 337, in decode  
obj, end = self.raw_decode(s, idx=_w(s, 0).end())  
File "C:\Program Files\ChimeraX\bin\lib\json\decoder.py", line 355, in
raw_decode  
raise JSONDecodeError("Expecting value", s, err.value) from None  
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)  
  
During handling of the above exception, another exception occurred:  
  
Traceback (most recent call last):  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\cmd_line\tool.py", line 254, in execute  
cmd.run(cmd_text)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\cli.py", line 2632, in run  
result = ci.function(session, **kw_args)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\commands\toolshed.py", line 254, in toolshed_uninstall  
deps = bi.dependents(logger)  
File "C:\Program Files\ChimeraX\bin\lib\site-
packages\chimerax\core\toolshed\info.py", line 667, in dependents  
for d in DistributionPath().get_distributions():  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\database.py",
line 213, in get_distributions  
self._generate_cache()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\database.py",
line 167, in _generate_cache  
for dist in self._yield_distributions():  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\database.py",
line 148, in _yield_distributions  
metadata = Metadata(fileobj=stream, scheme='legacy')  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 741, in __init__  
self.validate()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 958, in validate  
missing, warnings = self._legacy.check(True)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 522, in check  
self.set_metadata_version()  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 289, in set_metadata_version  
self._fields['Metadata-Version'] = _best_version(self._fields)  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 167, in _best_version  
raise MetadataConflictError('Unknown metadata set')  
distlib.metadata.MetadataConflictError: Unknown metadata set  
  
distlib.metadata.MetadataConflictError: Unknown metadata set  
  
File "C:\Program Files\ChimeraX\bin\lib\site-packages\distlib\metadata.py",
line 167, in _best_version  
raise MetadataConflictError('Unknown metadata set')  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 398.11
OpenGL renderer: GeForce GTX 1070/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Change History (4)

comment:1 by pett, 6 years ago

Component: UnassignedTool Shed
Owner: set to Conrad Huang
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionUninstall Clipper: Unknown metadata set

comment:2 by pett, 6 years ago

Summary: Uninstall Clipper: Unknown metadata setUninstall Clipper: JSONDecodeError

comment:3 by pett, 6 years ago

Cc: Scooter Morris added

comment:4 by Conrad Huang, 6 years ago

Resolution: fixed
Status: assignedclosed

Hacked fix in 5c6c03148.

distlib, since 0.2.8, does not recognize "Obsoletes" as a legal metadata classifier. jurko 0.6 (SOAP package) claims to be Metadata-Version 2.1 but specifies Obsolete. Hack adds "Obsoletes" as a legal classifier in that context in distlib and "toolshed uninstall" happily continues.

Note: See TracTickets for help on using tickets.