Opened 4 years ago

Closed 4 years ago

#4583 closed defect (fixed)

wrapped C/C++ object of type QScreen has been deleted

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

Description

The following bug report has been submitted:
Platform:        macOS-10.16-x86_64-i386-64bit
ChimeraX Version: 1.2 (2021-04-27 05:33:30 UTC)
Description
(Describe the actions that caused this problem to occur here)

Log:
UCSF ChimeraX version: 1.2 (2021-04-27)  
© 2016-2021 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/walter/Desktop/Object3.pdb

Summary of feedback from opening /Users/walter/Desktop/Object3.pdb  
---  
warnings | Ignored bad PDB record found on line 1  
REMARK YASARA *************************************************************  
  
Ignored bad PDB record found on line 2  
REMARK YASARA * *  
  
Ignored bad PDB record found on line 3  
REMARK YASARA * Y A S A R A *  
  
Ignored bad PDB record found on line 4  
REMARK YASARA * *  
  
Ignored bad PDB record found on line 5  
REMARK YASARA * Yet Another Scientific Artificial Reality Application *  
  
14 messages similar to the above omitted  
  
Chain information for Object3.pdb #1  
---  
Chain | Description  
A | No description available  
B | No description available  
  

> show cartoons

> style stick

Changed 365 atom styles  

> style sphere

Changed 365 atom styles  

> style ball

Changed 365 atom styles  

> select

365 atoms, 374 bonds, 44 residues, 1 model selected  

> style sel sphere

Changed 365 atom styles  

> style sel sphere

Changed 365 atom styles  

> hide sel cartoons

> show sel cartoons

> show sel atoms

> hide sel atoms

> set bgColor white

> lighting full

> lighting soft

> lighting simple

> mlp sel

Map values for surface "Object3.pdb_A SES surface": minimum -26.45, mean
-4.005, maximum 20.8  
Map values for surface "Object3.pdb_B SES surface": minimum -20.83, mean
0.485, maximum 22.15  
To also show corresponding color key, enter the above mlp command and add key
true  

> color bfactor sel

365 atoms, 44 residues, 2 surfaces, atom bfactor range 46.3 to 283  

> coulombic sel

Using Amber 20 recommended default charges and atom types for standard
residues  
Coulombic values for Object3.pdb_A SES surface #1.1: minimum, -16.51, mean
0.04, maximum 11.56  
Coulombic values for Object3.pdb_B SES surface #1.2: minimum, -7.89, mean
2.16, maximum 13.38  
To also show corresponding color key, enter the above coulombic command and
add key true  

> coulombic sel

Coulombic values for Object3.pdb_A SES surface #1.1: minimum, -16.51, mean
0.04, maximum 11.56  
Coulombic values for Object3.pdb_B SES surface #1.2: minimum, -7.89, mean
2.16, maximum 13.38  
To also show corresponding color key, enter the above coulombic command and
add key true  

> mlp sel

Map values for surface "Object3.pdb_A SES surface": minimum -26.45, mean
-4.005, maximum 20.8  
Map values for surface "Object3.pdb_B SES surface": minimum -20.83, mean
0.485, maximum 22.15  
To also show corresponding color key, enter the above mlp command and add key
true  

> coulombic sel

Coulombic values for Object3.pdb_A SES surface #1.1: minimum, -16.51, mean
0.04, maximum 11.56  
Coulombic values for Object3.pdb_B SES surface #1.2: minimum, -7.89, mean
2.16, maximum 13.38  
To also show corresponding color key, enter the above coulombic command and
add key true  

> rainbow sel

> color sel bychain

> color sel byhetero

> show sel cartoons

> show sel cartoons

> show sel atoms

> hide sel atoms

> style sel stick

Changed 365 atom styles  

> style sel sphere

Changed 365 atom styles  

> style sel ball

Changed 365 atom styles  

> style sel sphere

Changed 365 atom styles  

> style sel stick

Changed 365 atom styles  

> rainbow sel

Alignment identifier is 1/A  
Alignment identifier is 1/B  
Destroying pre-existing alignment with identifier 1/A  
Alignment identifier is 1/A  
Destroying pre-existing alignment with identifier 1/B  
Alignment identifier is 1/B  

> interfaces sel & ~solvent

1 buried areas: A B 485  

> lighting flat

> lighting shadows true intensity 0.5

> lighting flat

> lighting shadows true intensity 0.5

> lighting simple

> lighting shadows true

> lighting shadows false

> graphics silhouettes false

> lighting soft

> hide sel surfaces

> color sel bychain

> lighting soft

> lighting full

> lighting flat

> lighting simple

> lighting shadows true

> lighting flat

> lighting shadows true intensity 0.5

> graphics silhouettes false

> set bgColor black

> set bgColor gray

> set bgColor white

> ui tool show "Side View"

> open "/Users/walter/Dropbox/Nanoretinal/Documents/Martin
> Sperrle/kalign-I20210430-173325-0892-28755752-p2m.clustalw"

Summary of feedback from opening
/Users/walter/Dropbox/Nanoretinal/Documents/Martin
Sperrle/kalign-I20210430-173325-0892-28755752-p2m.clustalw  
---  
notes | Alignment identifier is
kalign-I20210430-173325-0892-28755752-p2m.clustalw  
Associated Object3.pdb chain A to SEQ_ID_06 with 0 mismatches  
Associated Object3.pdb chain B to SEQ_ID_06 with 0 mismatches  
Showing conservation header ("seq_conservation" residue attribute) for
alignment kalign-I20210430-173325-0892-28755752-p2m.clustalw  
  
Opened 8 sequences from kalign-I20210430-173325-0892-28755752-p2m.clustalw  

> preset "overall look" publication

Preset expands to these ChimeraX commands:

    
    
    set bg white
    graphics silhouettes t

  

> preset "overall look" interactive

Preset expands to these ChimeraX commands:

    
    
    ~set bg
    graphics silhouettes f

  

> preset "molecular surfaces" "ghostly white"

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    surface
    color white targ s trans 80

  

> preset "molecular surfaces" "atomic coloring (transparent)"

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    surface
    color fromatoms targ s trans 70

  

> preset "molecular surfaces" "chain id coloring (opaque)"

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    surface
    color bychain targ s trans 0

  

> preset cartoons/nucleotides licorice/ovals

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    show nucleic
    hide protein|solvent|H
    surf hide
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    cartoon
    cartoon style modeh def arrows t arrowshelix f arrowscale 2 wid 2 thick 0.4 sides 12 div 20
    cartoon style ~(nucleic|strand) x round
    cartoon style (nucleic|strand) x rect
    cartoon style protein modeh default arrows f x round width 1 thick 1
    cartoon style nucleic x round width 1.6 thick 1.6
    nucleotides tube/slab shape ellipsoid

  

> preset "initial styles" "space-filling (chain colors)"

Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> preset "initial styles" "space-filling (single color)"

Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> preset "molecular surfaces" "atomic coloring (transparent)"

Changed 365 atom styles  
Preset expands to these ChimeraX commands:

    
    
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    surface
    color fromatoms targ s trans 70

  

> preset "initial styles" cartoon

Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> preset "initial styles" "original look"

Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> preset cartoons/nucleotides ribbons/slabs

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    show nucleic
    hide protein|solvent|H
    surf hide
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    cartoon
    cartoon style modeh def arrows t arrowshelix f arrowscale 2 wid 2 thick 0.4 sides 12 div 20
    cartoon style ~(nucleic|strand) x round
    cartoon style (nucleic|strand) x rect
    nucleotides tube/slab shape box

  

> preset cartoons/nucleotides cylinders/stubs

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    show nucleic
    hide protein|solvent|H
    surf hide
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    cartoon
    cartoon style modeh def arrows t arrowshelix f arrowscale 2 wid 2 thick 0.4 sides 12 div 20
    cartoon style ~(nucleic|strand) x round
    cartoon style (nucleic|strand) x rect
    cartoon style protein modeh tube rad 2 sides 24 thick 0.6
    cartoon style nucleic x round width 1.6 thick 1.6
    nucleotides stubs

  

> preset cartoons/nucleotides licorice/ovals

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    show nucleic
    hide protein|solvent|H
    surf hide
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    cartoon
    cartoon style modeh def arrows t arrowshelix f arrowscale 2 wid 2 thick 0.4 sides 12 div 20
    cartoon style ~(nucleic|strand) x round
    cartoon style (nucleic|strand) x rect
    cartoon style protein modeh default arrows f x round width 1 thick 1
    cartoon style nucleic x round width 1.6 thick 1.6
    nucleotides tube/slab shape ellipsoid

  

> preset cartoons/nucleotides ribbons/slabs

Changed 0 atom styles  
Preset expands to these ChimeraX commands:

    
    
    show nucleic
    hide protein|solvent|H
    surf hide
    style (protein|nucleic|solvent) & @@draw_mode=0 stick
    cartoon
    cartoon style modeh def arrows t arrowshelix f arrowscale 2 wid 2 thick 0.4 sides 12 div 20
    cartoon style ~(nucleic|strand) x round
    cartoon style (nucleic|strand) x rect
    nucleotides tube/slab shape box

  

> preset "overall look" publication

Preset expands to these ChimeraX commands:

    
    
    set bg white
    graphics silhouettes t

  

> preset "overall look" interactive

Preset expands to these ChimeraX commands:

    
    
    ~set bg
    graphics silhouettes f

  

> preset "initial styles" "space-filling (single color)"

Preset implemented in Python; no expansion to individual ChimeraX commands
available.  

> close session

Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 932, in <lambda>  
close_action.triggered.connect(lambda *, s=self, sess=session:
s.file_close_cb(sess))  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 652, in file_close_cb  
run(session, 'close session')  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/commands/run.py", line 36, in run  
results = command.run(text, log=log, return_json=return_json)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/commands/cli.py", line 2852, in run  
result = ci.function(session, **kw_args)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/std_commands/close.py", line 60, in close_session  
session.reset()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/session.py", line 529, in reset  
sm.reset_state(container, self)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/manager.py", line 252, in reset_state  
alignment._destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/alignment.py", line 603, in _destroy  
self._notify_observers(self.NOTE_DESTROYED, None)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/alignment.py", line 652, in _notify_observers  
recipient.alignment_notification(note_name, note_data)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seq-view/tool.py", line 474, in alignment_notification  
self.delete()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seq-view/tool.py", line 512, in delete  
ToolInstance.delete(self)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/tools.py", line 154, in delete  
self.session.ui.remove_tool(self)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 345, in remove_tool  
self.main_window.remove_tool(tool_instance)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 725, in remove_tool  
tw._destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 2049, in _destroy  
self.__toolkit.destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 2189, in destroy  
sbar.destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/statusbar.py", line 51, in destroy  
v.delete()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 438, in delete  
self.make_current()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 478, in make_current  
return self._opengl_context.make_current()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 99, in make_current  
qc = self._initialize_context()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 125, in _initialize_context  
qc.setScreen(self._screen)  
RuntimeError: wrapped C/C++ object of type QScreen has been deleted  
  
RuntimeError: wrapped C/C++ object of type QScreen has been deleted  
  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 125, in _initialize_context  
qc.setScreen(self._screen)  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/alignment.py", line 635, in _mmap_mod_cb  
self.disassociate(self._sseq_to_chain[match_map.struct_seq], demotion=True)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/alignment.py", line 392, in disassociate  
self.session.alignments.destroy_alignment(self)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/manager.py", line 108, in destroy_alignment  
alignment._destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/alignment.py", line 603, in _destroy  
self._notify_observers(self.NOTE_DESTROYED, None)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seqalign/alignment.py", line 652, in _notify_observers  
recipient.alignment_notification(note_name, note_data)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seq-view/tool.py", line 474, in alignment_notification  
self.delete()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/seq-view/tool.py", line 512, in delete  
ToolInstance.delete(self)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/core/tools.py", line 154, in delete  
self.session.ui.remove_tool(self)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 345, in remove_tool  
self.main_window.remove_tool(tool_instance)  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 725, in remove_tool  
tw._destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 2049, in _destroy  
self.__toolkit.destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/gui.py", line 2189, in destroy  
sbar.destroy()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/ui/statusbar.py", line 51, in destroy  
v.delete()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 438, in delete  
self.make_current()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 478, in make_current  
return self._opengl_context.make_current()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 99, in make_current  
qc = self._initialize_context()  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 125, in _initialize_context  
qc.setScreen(self._screen)  
RuntimeError: wrapped C/C++ object of type QScreen has been deleted  
  
Error processing trigger "modified":  
RuntimeError: wrapped C/C++ object of type QScreen has been deleted  
  
File
"/Applications/ChimeraX-1.2.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-
packages/chimerax/graphics/opengl.py", line 125, in _initialize_context  
qc.setScreen(self._screen)  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 Metal - 71.5.9
OpenGL renderer: Apple M1
OpenGL vendor: AppleHardware:

    Hardware Overview:

      Model Name: MacBook Air
      Model Identifier: MacBookAir10,1
      Processor Name: Unknown
      Processor Speed: 2.4 GHz
      Number of Processors: 1
      Total Number of Cores: 8
      L2 Cache (per Core): 4 MB
      Memory: 16 GB

Software:

    System Software Overview:

      System Version: macOS 11.3 (20E232)
      Kernel Version: Darwin 20.4.0
      Time since boot: 2 days 8:20

Graphics/Displays:

    Apple M1:

      Chipset Model: Apple M1
      Type: GPU
      Bus: Built-In
      Total Number of Cores: 8
      Vendor: Apple (0x106b)
      Metal Family: Supported, Metal GPUFamily Apple 7
      Displays:
        Color LCD:
          Resolution: 2880 x 1800
          UI Looks like: 1440 x 900 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal

Locale: (None, 'UTF-8')
PyQt5 5.15.2, Qt 5.15.2
Installed Packages:
    alabaster: 0.7.12
    appdirs: 1.4.4
    appnope: 0.1.2
    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.0
    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.13.3
    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.2
    ChimeraX-CoreFormats: 1.0
    ChimeraX-coulombic: 1.1.1
    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-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.1
    ChimeraX-ModelPanel: 1.0.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.1
    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.3.1
    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.7.3
    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
    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
    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
    pexpect: 4.8.0
    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
    ptyprocess: 0.7.0
    pycollada: 0.7.1
    pydicom: 2.0.0
    Pygments: 2.7.1
    PyOpenGL: 3.1.5
    PyOpenGL-accelerate: 3.1.5
    pyparsing: 2.4.7
    PyQt5-commercial: 5.15.2
    PyQt5-sip: 12.8.1
    PyQtWebEngine-commercial: 5.15.2
    python-dateutil: 2.8.1
    pytz: 2021.1
    pyzmq: 22.0.3
    qtconsole: 4.7.7
    QtPy: 1.9.0
    RandomWords: 0.3.0
    requests: 2.24.0
    scipy: 1.5.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

Change History (4)

comment:1 by Eric Pettersen, 4 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionwrapped C/C++ object of type QScreen has been deleted

Happening during a make_current being called from the destructor of an in-window status bar

comment:2 by Tom Goddard, 4 years ago

Deleting a status bar tried to create a QOpenGLContext using a QScreen C++ object that had been deleted. Possibly the user had an external screen and it was removed, and later the tool was closed. It is strange and not so good that the QOpenGLContext for the status bar is being created when the statusbar is being deleted. That is because nothing was drawn to the status line so the opengl context was never created and the destructor is dumb and calls make_current() before deleting the Python context wrapper and that ends up trying to create the context. I should fix that. But that is not the bug. The bug is that the the context creation can use a QScreen that no longer exists. It is strange that the QOpenGLContext constructor takes a QScreen. It also takes a QWindow and that window is on some screen and can be moved between screens. So requiring the screen be specified seems like it would cause an inconsistency if the window is not actually on the screen specified. Need to study the QOpenGLContext documentation (and possibly source code) to see what it is using the QScreen for.

comment:3 by Tom Goddard, 4 years ago

The QOpenGLContext constructor optionally takes a QWindow but my code does not supply that argument. It does not take a QScreen -- that is set with QOpenGLContext.setScreen() and is used by the QOpenGLContext.create() call together with the pixel format to make the context. The code should certainly use the QWindow.screen() if available -- it won't be available of QWindow has not yet been mapped, that is when QScreen would be needed.

comment:4 by Tom Goddard, 4 years ago

Resolution: fixed
Status: assignedclosed

Fixed.

Creating context now uses the screen the window is on if the window has been mapped. If the window has not been mapped and the primary screen when the statusbar was created has been deleted we could still get this error. Also made deleting the Render instance not create a QOpenGLContext if it was not already created. Also made the statusbar delete the Render instance before the opengl context -- that was another bug.

Note: See TracTickets for help on using tickets.