Opened 5 years ago
Last modified 5 years ago
#4547 assigned defect
Duplicate manager initialization
Reported by: | Tony Schaefer | Owned by: | Greg Couch |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Tool Shed | Version: | |
Keywords: | Cc: | pett | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Windows-10-10.0.19041 ChimeraX Version: 1.3.dev202104192245 (2021-04-19 22:45:47 UTC) Description Gave "toolshed install seqcrow" command. Confusing messsages are coming from SEQCROW bundle. Log: UCSF ChimeraX version: 1.3.dev202104192245 (2021-04-19) © 2016-2021 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > toolshed install seqcrow Successfully installed SEQCROW-0.25.2 Installed SEQCROW (0.25.2) resumed SEQCROW queue adding Gaussian format adding ORCA format adding Psi4 format adding Gaussian format adding ORCA format adding Psi4 format adding Gaussian format local job type Gaussian from SEQCROW supplanted that from SEQCROW adding ORCA format local job type ORCA from SEQCROW supplanted that from SEQCROW adding Psi4 format local job type Psi4 from SEQCROW supplanted that from SEQCROW adding Gaussian format file format Gaussian from SEQCROW supplanted that from SEQCROW adding ORCA format file format ORCA from SEQCROW supplanted that from SEQCROW adding Psi4 format file format Psi4 from SEQCROW supplanted that from SEQCROW > fuseRing missing required "rings" argument OpenGL version: 3.3.0 NVIDIA 461.72 OpenGL renderer: GeForce GTX 970/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: MSI Model: MS-7885 OS: Microsoft Windows 10 Home (Build 19041) Memory: 34,258,157,568 MaxProcessMemory: 137,438,953,344 CPU: 12 Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz OSLanguage: en-US Locale: ('en_US', 'cp1252') PyQt5 5.15.2, Qt 5.15.2 Installed Packages: alabaster: 0.7.12 appdirs: 1.4.4 Babel: 2.9.0 backcall: 0.2.0 blockdiag: 2.0.1 certifi: 2020.12.5 cftime: 1.4.1 chardet: 3.0.4 ChimeraX-AddCharge: 1.1 ChimeraX-AddH: 2.1.6 ChimeraX-AlignmentAlgorithms: 2.0 ChimeraX-AlignmentHdrs: 3.2 ChimeraX-AlignmentMatrices: 2.0 ChimeraX-Alignments: 2.1 ChimeraX-AmberInfo: 1.0 ChimeraX-Arrays: 1.0 ChimeraX-Atomic: 1.16 ChimeraX-AtomicLibrary: 3.1.2 ChimeraX-AtomSearch: 2.0 ChimeraX-AtomSearchLibrary: 1.0 ChimeraX-AxesPlanes: 2.0 ChimeraX-BasicActions: 1.1 ChimeraX-BILD: 1.0 ChimeraX-BlastProtein: 1.1 ChimeraX-BondRot: 2.0 ChimeraX-BugReporter: 1.0 ChimeraX-BuildStructure: 2.5.2 ChimeraX-Bumps: 1.0 ChimeraX-BundleBuilder: 1.1 ChimeraX-ButtonPanel: 1.0 ChimeraX-CageBuilder: 1.0 ChimeraX-CellPack: 1.0 ChimeraX-Centroids: 1.1 ChimeraX-ChemGroup: 2.0 ChimeraX-Clashes: 2.1 ChimeraX-ColorActions: 1.0 ChimeraX-ColorGlobe: 1.0 ChimeraX-ColorKey: 1.2.1 ChimeraX-CommandLine: 1.1.3 ChimeraX-ConnectStructure: 2.0 ChimeraX-Contacts: 1.0 ChimeraX-Core: 1.3.dev202104192245 ChimeraX-CoreFormats: 1.0 ChimeraX-coulombic: 1.2 ChimeraX-Crosslinks: 1.0 ChimeraX-Crystal: 1.0 ChimeraX-CrystalContacts: 1.0 ChimeraX-DataFormats: 1.1 ChimeraX-Dicom: 1.0 ChimeraX-DistMonitor: 1.1.1 ChimeraX-DistUI: 1.0 ChimeraX-Dssp: 2.0 ChimeraX-EMDB-SFF: 1.0 ChimeraX-ExperimentalCommands: 1.0 ChimeraX-FileHistory: 1.0 ChimeraX-FunctionKey: 1.0 ChimeraX-Geometry: 1.1 ChimeraX-gltf: 1.0 ChimeraX-Graphics: 1.0 ChimeraX-Hbonds: 2.1 ChimeraX-Help: 1.1 ChimeraX-HKCage: 1.3 ChimeraX-IHM: 1.0 ChimeraX-ImageFormats: 1.1 ChimeraX-IMOD: 1.0 ChimeraX-IO: 1.0.1 ChimeraX-ItemsInspection: 1.0 ChimeraX-Label: 1.0 ChimeraX-ListInfo: 1.1.1 ChimeraX-Log: 1.1.2 ChimeraX-LookingGlass: 1.1 ChimeraX-Maestro: 1.8.1 ChimeraX-Map: 1.0.2 ChimeraX-MapData: 2.0 ChimeraX-MapEraser: 1.0 ChimeraX-MapFilter: 2.0 ChimeraX-MapFit: 2.0 ChimeraX-MapSeries: 2.0 ChimeraX-Markers: 1.0 ChimeraX-Mask: 1.0 ChimeraX-MatchMaker: 1.2 ChimeraX-MDcrds: 2.2 ChimeraX-MedicalToolbar: 1.0.1 ChimeraX-Meeting: 1.0 ChimeraX-MLP: 1.1 ChimeraX-mmCIF: 2.3 ChimeraX-MMTF: 2.1 ChimeraX-Modeller: 1.0 ChimeraX-ModelPanel: 1.1 ChimeraX-ModelSeries: 1.0 ChimeraX-Mol2: 2.0 ChimeraX-Morph: 1.0 ChimeraX-MouseModes: 1.1 ChimeraX-Movie: 1.0 ChimeraX-Neuron: 1.0 ChimeraX-Nucleotides: 2.0 ChimeraX-OpenCommand: 1.5 ChimeraX-PDB: 2.4.1 ChimeraX-PDBBio: 1.0 ChimeraX-PDBLibrary: 1.0 ChimeraX-PDBMatrices: 1.0 ChimeraX-PickBlobs: 1.0 ChimeraX-Positions: 1.0 ChimeraX-PresetMgr: 1.0.1 ChimeraX-PubChem: 2.0.1 ChimeraX-ReadPbonds: 1.0 ChimeraX-Registration: 1.1 ChimeraX-RemoteControl: 1.0 ChimeraX-ResidueFit: 1.0 ChimeraX-RestServer: 1.1 ChimeraX-RNALayout: 1.0 ChimeraX-RotamerLibMgr: 2.0 ChimeraX-RotamerLibsDunbrack: 2.0 ChimeraX-RotamerLibsDynameomics: 2.0 ChimeraX-RotamerLibsRichardson: 2.0 ChimeraX-SaveCommand: 1.4 ChimeraX-SchemeMgr: 1.0 ChimeraX-SDF: 2.0 ChimeraX-Segger: 1.0 ChimeraX-Segment: 1.0 ChimeraX-SeqView: 2.3 ChimeraX-Shape: 1.0.1 ChimeraX-Shell: 1.0 ChimeraX-Shortcuts: 1.0 ChimeraX-ShowAttr: 1.0 ChimeraX-ShowSequences: 1.0 ChimeraX-SideView: 1.0 ChimeraX-Smiles: 2.0.1 ChimeraX-SmoothLines: 1.0 ChimeraX-SpaceNavigator: 1.0 ChimeraX-StdCommands: 1.4 ChimeraX-STL: 1.0 ChimeraX-Storm: 1.0 ChimeraX-Struts: 1.0 ChimeraX-Surface: 1.0 ChimeraX-SwapAA: 2.0 ChimeraX-SwapRes: 2.1 ChimeraX-TapeMeasure: 1.0 ChimeraX-Test: 1.0 ChimeraX-Toolbar: 1.0.1 ChimeraX-ToolshedUtils: 1.2 ChimeraX-Tug: 1.0 ChimeraX-UI: 1.8 ChimeraX-uniprot: 2.1 ChimeraX-UnitCell: 1.0 ChimeraX-ViewDockX: 1.0 ChimeraX-Vive: 1.1 ChimeraX-VolumeMenu: 1.0 ChimeraX-VTK: 1.0 ChimeraX-WavefrontOBJ: 1.0 ChimeraX-WebCam: 1.0 ChimeraX-WebServices: 1.0 ChimeraX-Zone: 1.0 colorama: 0.4.3 comtypes: 1.1.7 cxservices: 1.0 cycler: 0.10.0 Cython: 0.29.21 decorator: 5.0.7 distlib: 0.3.1 docutils: 0.16 filelock: 3.0.12 flake8: 3.9.1 funcparserlib: 0.3.6 grako: 3.16.5 h5py: 2.10.0 html2text: 2020.1.16 idna: 2.10 ihm: 0.17 imagecodecs: 2020.5.30 imagesize: 1.2.0 ipykernel: 5.3.4 ipython: 7.18.1 ipython-genutils: 0.2.0 jedi: 0.17.2 Jinja2: 2.11.2 jupyter-client: 6.1.7 jupyter-core: 4.7.1 kiwisolver: 1.3.1 line-profiler: 2.1.2 lxml: 4.6.2 lz4: 3.1.0 MarkupSafe: 1.1.1 matplotlib: 3.3.2 mccabe: 0.6.1 msgpack: 1.0.0 netCDF4: 1.5.4 networkx: 2.5 numexpr: 2.7.3 numpy: 1.19.2 numpydoc: 1.1.0 openvr: 1.14.1501 packaging: 20.9 ParmEd: 3.2.0 parso: 0.7.1 pickleshare: 0.7.5 Pillow: 7.2.0 pip: 21.0.1 pkginfo: 1.5.0.1 prompt-toolkit: 3.0.18 psutil: 5.7.2 pycodestyle: 2.7.0 pycollada: 0.7.1 pydicom: 2.0.0 pyflakes: 2.3.1 Pygments: 2.7.1 PyOpenGL: 3.1.5 PyOpenGL-accelerate: 3.1.5 pyparsing: 2.4.7 PyQt5: 5.15.2 PyQt5-sip: 12.8.1 PyQtWebEngine: 5.15.2 python-dateutil: 2.8.1 pytz: 2021.1 pywin32: 228 pyzmq: 22.0.3 qtconsole: 4.7.7 QtPy: 1.9.0 RandomWords: 0.3.0 requests: 2.24.0 scipy: 1.5.2 Send2Trash: 1.5.0 SEQCROW: 0.25.2 setuptools: 50.3.2 sfftk-rw: 0.6.7.dev1 six: 1.15.0 snowballstemmer: 2.1.0 sortedcontainers: 2.2.2 Sphinx: 3.2.1 sphinxcontrib-applehelp: 1.0.2 sphinxcontrib-blockdiag: 2.0.0 sphinxcontrib-devhelp: 1.0.2 sphinxcontrib-htmlhelp: 1.0.3 sphinxcontrib-jsmath: 1.0.1 sphinxcontrib-qthelp: 1.0.3 sphinxcontrib-serializinghtml: 1.1.4 suds-jurko: 0.6 tables: 3.6.1 tifffile: 2020.9.3 tinyarray: 1.2.3 tornado: 6.1 traitlets: 5.0.5 urllib3: 1.25.11 wcwidth: 0.2.5 webcolors: 1.11.1 wheel: 0.36.0 wheel-filename: 1.3.0 WMI: 1.5.1
Change History (6)
comment:1 by , 5 years ago
Cc: | added |
---|---|
Component: | Unassigned → Third Party |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Spurious? messages from SEQCROW during installation |
comment:3 by , 5 years ago
So you're saying that your ProviderManagers are having their add_provider methods called twice when they should be called once? If so, I can look into it...
--Eric
comment:4 by , 5 years ago
There are two separate managers that are giving the same adding format message. So they're not being called twice, it's just the message is shown twice.
The file format Psi4 from SEQCROW supplanted that from SEQCROW
message is also confusing. Didn't track that down.
The resumed SEQCROW queue
is probably because it doesn't distinguish between starting it the first time and subsequent times.
follow-up: 5 comment:5 by , 5 years ago
I'll have to look into the queue issue some more. There are two managers (JobManager prints "local job type..." and QMInputManager prints "file format...") and I think add_provider is called twice for both of them - whether that's my fault or not, I'm not sure. I know it's called twice because if it was only called once, the Psi4 (or whichever) file format would only get added once and thus would never be supplanted. I only see these messages when I reinstall SEQCROW, so either it's only called twice when the bundle is installed, or it's always called twice but I only see it after reinstalling because the logger has finished setting up. It might be happening because I have two providers with the same name for different managers. JobManager and QMInputManager have different Psi4, Gaussian, and ORCA providers - see https://github.com/QChASM/SEQCROW/blob/2d16e68693153efc95d289e5e109b06c0d042a44/bundle_info.xml#L140. I'd think they would be kept separate because they have different managers, so that probably isn't it. Just spit balling. The QMInputManager (manages file formats) is a bit simpler than the JobManager (queues and runs jobs for QM software, tracks finished jobs). Code is here: https://github.com/QChASM/SEQCROW/blob/dev/src/managers/qm_input_manager.py As you can see, all the add_provider method does is put the bundle info in a dictionary with the provider name as the key. If there's already an entry in the dictionary with that key, it prints the "file format X from Y supplanted that from Z" message. The message from the JobManager is the same, except it starts with "local job type...". I don't make any explicit calls to add_provider, but maybe there's something I'm doing that I don't realize calls add_provider. ________________________________ From: ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu> Sent: Thursday, April 22, 2021 5:43 PM Cc: gregc@cgl.ucsf.edu <gregc@cgl.ucsf.edu>; pett@cgl.ucsf.edu <pett@cgl.ucsf.edu>; Anthony James Schaefer <tony.schaefer@uga.edu> Subject: Re: [ChimeraX] #4547: Spurious? messages from SEQCROW during installation [EXTERNAL SENDER - PROCEED CAUTIOUSLY] #4547: Spurious? messages from SEQCROW during installation ----------------------------------+--------------------------- Reporter: Greg Couch | Owner: Tony Schaefer Type: defect | Status: assigned Priority: normal | Milestone: Component: Third Party | Version: Resolution: | Keywords: Blocked By: | Blocking: Notify when closed: | Platform: all Project: ChimeraX | ----------------------------------+--------------------------- Comment (by Greg Couch): There are two separate managers that are giving the same adding format message. So they're not being called twice, it's just the message is shown twice. The {{{file format Psi4 from SEQCROW supplanted that from SEQCROW}}} message is also confusing. Didn't track that down. The {{{resumed SEQCROW queue}}} is probably because it doesn't distinguish between starting it the first time and subsequent times. -- Ticket URL: <https://plato.cgl.ucsf.edu/trac/ChimeraX/ticket/4547#comment:4> ChimeraX <http://www.rbvi.ucsf.edu/chimerax/> ChimeraX Issue Tracker
comment:6 by , 5 years ago
Component: | Third Party → Tool Shed |
---|---|
Owner: | changed from | to
Reporter: | changed from | to
Summary: | Spurious? messages from SEQCROW during installation → Duplicate manager initialization |
The duplicate manager initialization is coming from toolshed_utils._install_bundle(). That code can be removed because managers are automatically initialized with their providers in the ProviderManager constructor.