Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#7200 closed defect (can't reproduce)

QMainWindowLayout::tabPosition called with out-of-bounds value '0'

Reported by: chimerax-bug-report@… Owned by: Eric Pettersen
Priority: normal Milestone:
Component: Window Toolkit Version:
Keywords: Cc: Tom Goddard
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Windows-10-10.0.19043
ChimeraX Version: 1.4 (2022-06-03 23:39:42 UTC)
Description
(Describe the actions that caused this problem to occur here)

Log:
Startup Messages  
---  
warning | Your computer has Intel graphics driver 7262 with a known bug that
causes all Qt user interface panels to be blank. ChimeraX can partially fix
this but may make some panel titlebars and edges black. Hopefully newer Intel
graphics drivers will fix this.  
  
UCSF ChimeraX version: 1.4 (2022-06-03)  
© 2016-2022 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open 2 TMV

'2' has no suffix  

> open 2TMV

Summary of feedback from opening 2TMV fetched from pdb  
---  
note | Fetching compressed mmCIF 2tmv from
http://files.rcsb.org/download/2tmv.cif  
  
2tmv title:  
Visualization of protein-nucleic acid interactions In A virus. Refined
structure of intact tobacco mosaic virus At 2.9 angstroms resolution by X-ray
fiber diffraction [more info...]  
  
Chain information for 2tmv #1  
---  
Chain | Description | UniProt  
P | TMV coat protein | COAT_TMV  
R | RNA (5'-R(P*GP*ap*A)-3') |  
  
Non-standard residues in 2tmv #1  
---  
CA — calcium ion  
  
2tmv mmCIF Assemblies  
---  
1| representative helical assembly  
2| helical asymmetric unit  
3| helical asymmetric unit, std helical frame  
  

> sym #1 assembly 2

> view

> sym #1 assembly 1

> view

> sym #1 assembly 3

> view

> sym #1 assembly 3

> view

> sym #1 assembly 1

> view

> select /P:1-154

7272 atoms, 7416 bonds, 924 residues, 6 models selected  

> select /R:1-3

402 atoms, 450 bonds, 18 residues, 6 models selected  

> close

> set bgColor white

> open 1za7

Summary of feedback from opening 1za7 fetched from pdb  
---  
note | Fetching compressed mmCIF 1za7 from
http://files.rcsb.org/download/1za7.cif  
  
1za7 title:  
The crystal structure of salt stable cowpea cholorotic mottle virus at 2.7
angstroms resolution. [more info...]  
  
Chain information for 1za7 #1  
---  
Chain | Description | UniProt  
A B C | Coat protein | COAT_CCMV  
  
1za7 mmCIF Assemblies  
---  
1| complete icosahedral assembly  
2| icosahedral asymmetric unit  
3| icosahedral pentamer  
4| icosahedral 23 hexamer  
5| icosahedral asymmetric unit, std point frame  
6| crystal asymmetric unit, crystal frame  
  

> sym #1 assembly 1

> view

> show #2 surfaces

> hide #!2 models

> show #!2 models

> open 1ny7

Summary of feedback from opening 1ny7 fetched from pdb  
---  
note | Fetching compressed mmCIF 1ny7 from
http://files.rcsb.org/download/1ny7.cif  
  
1ny7 title:  
Cowpea mosaic virus (CPMV) [more info...]  
  
Chain information for 1ny7 #3  
---  
Chain | Description | UniProt  
1 | cowpea mosaic virus, small (S) subunit | VGNM_CPMV  
2 | cowpea mosaic virus, large (L) subunit | VGNM_CPMV  
  
1ny7 mmCIF Assemblies  
---  
1| complete icosahedral assembly  
2| icosahedral asymmetric unit  
3| icosahedral pentamer  
4| icosahedral 23 hexamer  
5| icosahedral asymmetric unit, std point frame  
6| crystal asymmetric unit, crystal frame  
  

> sym #3 assembly 1

> view

> select add #4

4407 atoms, 4458 bonds, 622 residues, 1 model selected  

> ui windowfill toggle

[Repeated 1 time(s)]

> move x 1000 models #4

> move x -300 models #4

> move x -70 models #4

[Repeated 1 time(s)]

> show sel surfaces

> color #4.1 white transparency 0

> color #4.1 mediumslateblue transparency 0

> color #4.2 darkseagreen transparency 0

> open 1qj7

Summary of feedback from opening 1qj7 fetched from pdb  
---  
notes | Fetching compressed mmCIF 1qj7 from
http://files.rcsb.org/download/1qj7.cif  
Fetching CCD GR1 from http://ligand-expo.rcsb.org/reports/G/GR1/GR1.cif  
Fetching CCD TYS from http://ligand-expo.rcsb.org/reports/T/TYS/TYS.cif  
  
1qj7 title:  
Novel Covalent Active Site Thrombin Inhibitors [more info...]  
  
Chain information for 1qj7 #5  
---  
Chain | Description | UniProt  
A | thrombin | THRB_HUMAN  
B | thrombin | THRB_HUMAN  
I | hirugen | ITHA_HIRME  
  
Non-standard residues in 1qj7 #5  
---  
GR1 — 6-carbamimidoyl-2-[5-(3-diethylcarbamoyl-phenyl)-2-hydroxy-
indan-1-yl]-hexanoic acid (GR179849)  
  

> close #5

> open 1qjz

Summary of feedback from opening 1qjz fetched from pdb  
---  
note | Fetching compressed mmCIF 1qjz from
http://files.rcsb.org/download/1qjz.cif  
  
1qjz title:  
Three Dimensional Structure of Physalis Mottle Virus : Implications for the
Viral Assembly [more info...]  
  
Chain information for 1qjz #5  
---  
Chain | Description | UniProt  
A B C | coat protein | COAT_PHMV  
  
1qjz mmCIF Assemblies  
---  
1| complete icosahedral assembly  
2| icosahedral asymmetric unit  
3| icosahedral pentamer  
4| icosahedral 23 hexamer  
5| icosahedral asymmetric unit, std point frame  
  

> sym #5 assembly 1

> view

> select up

4407 atoms, 4458 bonds, 622 residues, 3 models selected  

> select up

24372 atoms, 24526 bonds, 3568 residues, 8 models selected  

> move x 1000 models #6

> move x -70 models #6

> show sel & #6#!2,4 surfaces

> select subtract #4

19965 atoms, 20068 bonds, 2946 residues, 13 models selected  

> hide #!4 models

> close #3

> close #4

> move x -300 models #6

> save ReviewFigure format tiff width 1200

> preset "overall look" "publication 1 (silhouettes)"

Using preset: Overall Look / Publication 1 (Silhouettes)  
Preset expands to these ChimeraX commands:

    
    
    set bg white
    graphics silhouettes t
    lighting depthCue f

  

> graphics silhouettes false

> graphics silhouettes true

> graphics silhouettes false

> save ReviewFigure format tiff width 1200

> cd "C:/Users/Bon DTE Lab/Google Drive/Grad School/MS2 Viral Capsids/PDB
> Files"

Current working directory is: C:\Users\Bon DTE Lab\Google Drive\Grad
School\MS2 Viral Capsids\PDB Files  

> save ReviewFigure format tiff width 1200 height 692 transparentBackground
> true

QMainWindowLayout::tabPosition called with out-of-bounds value '0'  

Traceback (most recent call last):  
File "C:\Program Files\ChimeraX 1.4\bin\lib\site-packages\chimerax\ui\gui.py",
line 2283, in <lambda>  
dw.closeEvent = lambda e, *, tw=tool_window, mw=mw: mw.close_request(tw, e)  
File "C:\Program Files\ChimeraX 1.4\bin\lib\site-packages\chimerax\ui\gui.py",
line 668, in close_request  
all_windows = self.tool_instance_to_windows[tool_instance]  
KeyError: None  
  
KeyError: None  
  
File "C:\Program Files\ChimeraX 1.4\bin\lib\site-packages\chimerax\ui\gui.py",
line 668, in close_request  
all_windows = self.tool_instance_to_windows[tool_instance]  
  
See log for complete Python traceback.  
  

QMainWindowLayout::tabPosition called with out-of-bounds value '0'  




OpenGL version: 3.3.0 - Build 26.20.100.7262
OpenGL renderer: Intel(R) UHD Graphics 630
OpenGL vendor: Intel

Python: 3.9.11
Locale: en_US.cp1252
Qt version: PyQt6 6.3.0, Qt 6.3.0
Qt runtime version: 6.3.0
Qt platform: windows

Manufacturer: Acer
Model: Aspire TC-865
OS: Microsoft Windows 10 Home (Build 19043)
Memory: 17,061,081,088
MaxProcessMemory: 137,438,953,344
CPU: 6 Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
OSLanguage: en-US

Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    Babel: 2.10.1
    backcall: 0.2.0
    blockdiag: 3.0.0
    certifi: 2022.5.18.1
    cftime: 1.6.0
    charset-normalizer: 2.0.12
    ChimeraX-AddCharge: 1.2.3
    ChimeraX-AddH: 2.1.11
    ChimeraX-AlignmentAlgorithms: 2.0
    ChimeraX-AlignmentHdrs: 3.2.1
    ChimeraX-AlignmentMatrices: 2.0
    ChimeraX-Alignments: 2.4.3
    ChimeraX-AlphaFold: 1.0
    ChimeraX-AltlocExplorer: 1.0.2
    ChimeraX-AmberInfo: 1.0
    ChimeraX-Arrays: 1.0
    ChimeraX-Atomic: 1.39.1
    ChimeraX-AtomicLibrary: 7.0
    ChimeraX-AtomSearch: 2.0.1
    ChimeraX-AxesPlanes: 2.1
    ChimeraX-BasicActions: 1.1
    ChimeraX-BILD: 1.0
    ChimeraX-BlastProtein: 2.1.1
    ChimeraX-BondRot: 2.0
    ChimeraX-BugReporter: 1.0
    ChimeraX-BuildStructure: 2.7
    ChimeraX-Bumps: 1.0
    ChimeraX-BundleBuilder: 1.1
    ChimeraX-ButtonPanel: 1.0
    ChimeraX-CageBuilder: 1.0
    ChimeraX-CellPack: 1.0
    ChimeraX-Centroids: 1.2
    ChimeraX-ChemGroup: 2.0
    ChimeraX-Clashes: 2.2.4
    ChimeraX-ColorActions: 1.0
    ChimeraX-ColorGlobe: 1.0
    ChimeraX-ColorKey: 1.5.1
    ChimeraX-CommandLine: 1.2.3
    ChimeraX-ConnectStructure: 2.0.1
    ChimeraX-Contacts: 1.0
    ChimeraX-Core: 1.4
    ChimeraX-CoreFormats: 1.1
    ChimeraX-coulombic: 1.3.2
    ChimeraX-Crosslinks: 1.0
    ChimeraX-Crystal: 1.0
    ChimeraX-CrystalContacts: 1.0
    ChimeraX-DataFormats: 1.2.2
    ChimeraX-Dicom: 1.1
    ChimeraX-DistMonitor: 1.1.5
    ChimeraX-Dssp: 2.0
    ChimeraX-EMDB-SFF: 1.0
    ChimeraX-ExperimentalCommands: 1.0
    ChimeraX-FileHistory: 1.0
    ChimeraX-FunctionKey: 1.0
    ChimeraX-Geometry: 1.2
    ChimeraX-gltf: 1.0
    ChimeraX-Graphics: 1.1
    ChimeraX-Hbonds: 2.1.2
    ChimeraX-Help: 1.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
    ChimeraX-Label: 1.1.1
    ChimeraX-ListInfo: 1.1.1
    ChimeraX-Log: 1.1.5
    ChimeraX-LookingGlass: 1.1
    ChimeraX-Maestro: 1.8.1
    ChimeraX-Map: 1.1
    ChimeraX-MapData: 2.0
    ChimeraX-MapEraser: 1.0
    ChimeraX-MapFilter: 2.0
    ChimeraX-MapFit: 2.0
    ChimeraX-MapSeries: 2.1
    ChimeraX-Markers: 1.0
    ChimeraX-Mask: 1.0
    ChimeraX-MatchMaker: 2.0.6
    ChimeraX-MDcrds: 2.6
    ChimeraX-MedicalToolbar: 1.0.1
    ChimeraX-Meeting: 1.0
    ChimeraX-MLP: 1.1
    ChimeraX-mmCIF: 2.7
    ChimeraX-MMTF: 2.1
    ChimeraX-Modeller: 1.5.5
    ChimeraX-ModelPanel: 1.3.2
    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.2
    ChimeraX-OpenCommand: 1.9
    ChimeraX-PDB: 2.6.6
    ChimeraX-PDBBio: 1.0
    ChimeraX-PDBLibrary: 1.0.2
    ChimeraX-PDBMatrices: 1.0
    ChimeraX-PickBlobs: 1.0
    ChimeraX-Positions: 1.0
    ChimeraX-PresetMgr: 1.1
    ChimeraX-PubChem: 2.1
    ChimeraX-ReadPbonds: 1.0.1
    ChimeraX-Registration: 1.1
    ChimeraX-RemoteControl: 1.0
    ChimeraX-ResidueFit: 1.0
    ChimeraX-RestServer: 1.1
    ChimeraX-RNALayout: 1.0
    ChimeraX-RotamerLibMgr: 2.0.1
    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
    ChimeraX-Segger: 1.0
    ChimeraX-Segment: 1.0
    ChimeraX-SelInspector: 1.0
    ChimeraX-SeqView: 2.6
    ChimeraX-Shape: 1.0.1
    ChimeraX-Shell: 1.0
    ChimeraX-Shortcuts: 1.1
    ChimeraX-ShowAttr: 1.0
    ChimeraX-ShowSequences: 1.0
    ChimeraX-SideView: 1.0
    ChimeraX-Smiles: 2.1
    ChimeraX-SmoothLines: 1.0
    ChimeraX-SpaceNavigator: 1.0
    ChimeraX-StdCommands: 1.8
    ChimeraX-STL: 1.0
    ChimeraX-Storm: 1.0
    ChimeraX-StructMeasure: 1.0.1
    ChimeraX-Struts: 1.0.1
    ChimeraX-Surface: 1.0
    ChimeraX-SwapAA: 2.0
    ChimeraX-SwapRes: 2.1.1
    ChimeraX-TapeMeasure: 1.0
    ChimeraX-Test: 1.0
    ChimeraX-Toolbar: 1.1.1
    ChimeraX-ToolshedUtils: 1.2.1
    ChimeraX-Tug: 1.0
    ChimeraX-UI: 1.18.3
    ChimeraX-uniprot: 2.2
    ChimeraX-UnitCell: 1.0
    ChimeraX-ViewDockX: 1.1.2
    ChimeraX-VIPERdb: 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.1.0
    ChimeraX-Zone: 1.0
    colorama: 0.4.4
    comtypes: 1.1.10
    cxservices: 1.2
    cycler: 0.11.0
    Cython: 0.29.26
    debugpy: 1.6.0
    decorator: 5.1.1
    docutils: 0.17.1
    entrypoints: 0.4
    filelock: 3.4.2
    fonttools: 4.33.3
    funcparserlib: 1.0.0
    grako: 3.16.5
    h5py: 3.7.0
    html2text: 2020.1.16
    idna: 3.3
    ihm: 0.27
    imagecodecs: 2021.11.20
    imagesize: 1.3.0
    ipykernel: 6.6.1
    ipython: 7.31.1
    ipython-genutils: 0.2.0
    jedi: 0.18.1
    Jinja2: 3.0.3
    jupyter-client: 7.1.0
    jupyter-core: 4.10.0
    kiwisolver: 1.4.2
    line-profiler: 3.4.0
    lxml: 4.7.1
    lz4: 3.1.10
    MarkupSafe: 2.1.1
    matplotlib: 3.5.1
    matplotlib-inline: 0.1.3
    msgpack: 1.0.3
    nest-asyncio: 1.5.5
    netCDF4: 1.5.8
    networkx: 2.6.3
    numexpr: 2.8.1
    numpy: 1.22.1
    openvr: 1.16.802
    packaging: 21.3
    ParmEd: 3.4.3
    parso: 0.8.3
    pickleshare: 0.7.5
    Pillow: 9.0.1
    pip: 21.3.1
    pkginfo: 1.8.2
    prompt-toolkit: 3.0.29
    psutil: 5.9.0
    pycollada: 0.7.2
    pydicom: 2.2.2
    Pygments: 2.11.2
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 3.0.9
    PyQt6-commercial: 6.3.0
    PyQt6-Qt6: 6.3.0
    PyQt6-sip: 13.3.1
    PyQt6-WebEngine-commercial: 6.3.0
    PyQt6-WebEngine-Qt6: 6.3.0
    python-dateutil: 2.8.2
    pytz: 2022.1
    pywin32: 303
    pyzmq: 23.1.0
    qtconsole: 5.3.0
    QtPy: 2.1.0
    RandomWords: 0.3.0
    requests: 2.27.1
    scipy: 1.7.3
    setuptools: 59.8.0
    sfftk-rw: 0.7.2
    six: 1.16.0
    snowballstemmer: 2.2.0
    sortedcontainers: 2.4.0
    Sphinx: 4.3.2
    sphinx-autodoc-typehints: 1.15.2
    sphinxcontrib-applehelp: 1.0.2
    sphinxcontrib-blockdiag: 3.0.0
    sphinxcontrib-devhelp: 1.0.2
    sphinxcontrib-htmlhelp: 2.0.0
    sphinxcontrib-jsmath: 1.0.1
    sphinxcontrib-qthelp: 1.0.3
    sphinxcontrib-serializinghtml: 1.1.5
    suds-community: 1.0.0
    tables: 3.7.0
    tifffile: 2021.11.2
    tinyarray: 1.2.4
    tornado: 6.1
    traitlets: 5.1.1
    urllib3: 1.26.9
    wcwidth: 0.2.5
    webcolors: 1.11.1
    wheel: 0.37.1
    wheel-filename: 1.3.0
    WMI: 1.5.1

Change History (10)

comment:1 by Eric Pettersen, 3 years ago

Cc: Tom Goddard added
Component: UnassignedWindow Toolkit
Owner: set to Eric Pettersen
Platform: all
Project: ChimeraX
Status: newaccepted
Summary: ChimeraX bug report submissionQMainWindowLayout::tabPosition called with out-of-bounds value '0'

comment:2 by Eric Pettersen, 3 years ago

Resolution: can't reproduce
Status: acceptedclosed

'0' means NoDockWidgetArea, which makes no sense to use with tabPosition(). Our code does not call tabPosition(), so this is somehow internal to Qt.

comment:3 by Tom Goddard, 3 years ago

Was the tabPosition error the cause of the ChimeraX key error?

File "C:\Program Files\ChimeraX 1.4\bin\lib\site-packages\chimerax\ui\gui.py",
line 668, in close_request  
all_windows = self.tool_instance_to_windows[tool_instance]  
KeyError: None  

comment:4 by Eric Pettersen, 3 years ago

My take on this is that it's not a good use of our time to investigate an error that occurs after a Qt internal error that probably leaves widget/window data in an inconsistent state.

in reply to:  5 ; comment:5 by Tom Goddard, 3 years ago

Yeah, I would not investigate it.  I might do a search in the Qt bug database.  I was just confused by closing it as "limitation" and thought if I read your ticket comments I would find out what the limitation is.  So I was just suggesting closing it as "can't reproduce".

in reply to:  6 ; comment:6 by Eric Pettersen, 3 years ago

You are getting your tickets mixed up.  This one was closed as "can't reproduce".  The fork one was closed as a limitation.

--Eric


comment:7 by Tom Goddard, 3 years ago

You are right I was mixed up.

comment:8 by Tom Goddard, 3 years ago

But the error was the tool_window.tool_instance was None in our MainWindow.close_request() call which seems like that should never happen. That means the ToolWindow._destroy() method had already been called. There are various places that call that. Seems like a bug in our code. If the close_request() call can be made when the tool_window.tool_instance is None then close_request() should check for that.

Looks like there have been 61 reports of KeyError in this code going way, way back, mostly assigned to Greg. Although the key is usually not None. Five of them are from the last 5 months. Seems like this code needs some help.

comment:9 by Eric Pettersen, 3 years ago

None of the ones from this year have None as the key. Having None as the key seems very possible to me if Qt has screwed up and left a window on the screen that should have been closed.

close_request() only gets called from a window's closeEvent method. That method should only get called once (for windows that actually destroy, rather than just hide). The question is whether the screwup is in Qt or in our code. close_request() getting called twice is definitely a bug in _some_ code somewhere, so I lean against masking it by checking for None in close_request().

in reply to:  10 ; comment:10 by Tom Goddard, 3 years ago

Sounds reasonable.
Note: See TracTickets for help on using tickets.