#3420 closed defect (fixed)
Session restore error, 2d labels None
| Reported by: | Owned by: | Tom Goddard | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Sessions | Version: | |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted:
Platform: Darwin-19.5.0-x86_64-i386-64bit
ChimeraX Version: 1.1.dev202006181622 (2020-06-18 16:22:37 UTC)
Description
Opening prc.cxs from ChimeraX example images web page.
Log:
UCSF ChimeraX version: 1.1.dev202006181622 (2020-06-18)
© 2016-2020 Regents of the University of California. All rights reserved.
How to cite UCSF ChimeraX
> open /Users/goddard/Downloads/prc.cxs
restore_snapshot for "Labels" returned None
Unable to restore session, resetting.
Traceback (most recent call last):
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 670, in restore
self.add_state_manager(name, data)
File
"/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py", line 512, in add_state_manager
raise ValueError('container "%s" of type "%s" does not have snapshot methods
and does not have clear method' % (tag, str(type(container))))
ValueError: container "_2d_labels" of type "<class 'NoneType'>" does not have
snapshot methods and does not have clear method
opened ChimeraX session
OpenGL version: 4.1 ATI-3.9.15
OpenGL renderer: AMD Radeon Pro Vega 20 OpenGL Engine
OpenGL vendor: ATI Technologies Inc.Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro15,3
Processor Name: 8-Core Intel Core i9
Processor Speed: 2.4 GHz
Number of Processors: 1
Total Number of Cores: 8
L2 Cache (per Core): 256 KB
L3 Cache: 16 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
Boot ROM Version: 1037.120.87.0.0 (iBridge: 17.16.15300.0.0,0)
Software:
System Software Overview:
System Version: macOS 10.15.5 (19F101)
Kernel Version: Darwin 19.5.0
Time since boot: 9 days 4:45
Graphics/Displays:
Intel UHD Graphics 630:
Chipset Model: Intel UHD Graphics 630
Type: GPU
Bus: Built-In
VRAM (Dynamic, Max): 1536 MB
Vendor: Intel
Device ID: 0x3e9b
Revision ID: 0x0002
Automatic Graphics Switching: Supported
gMux Version: 5.0.0
Metal: Supported, feature set macOS GPUFamily2 v1
Radeon Pro Vega 20:
Chipset Model: Radeon Pro Vega 20
Type: GPU
Bus: PCIe
PCIe Lane Width: x8
VRAM (Total): 4 GB
Vendor: AMD (0x1002)
Device ID: 0x69af
Revision ID: 0x00c0
ROM Revision: 113-D2060I-087
VBIOS Version: 113-D20601MA0T-016
Option ROM Version: 113-D20601MA0T-016
EFI Driver Version: 01.01.087
Automatic Graphics Switching: Supported
gMux Version: 5.0.0
Metal: Supported, feature set macOS GPUFamily2 v1
Displays:
Color LCD:
Display Type: Built-In Retina LCD
Resolution: 2880 x 1800 Retina
Framebuffer Depth: 24-Bit Color (ARGB8888)
Main Display: Yes
Mirror: Off
Online: Yes
Automatically Adjust Brightness: No
Connection Type: Internal
PyQt version: 5.12.3
Compiled Qt version: 5.12.4
Runtime Qt version: 5.12.8
File attachment: prc.cxs
Attachments (1)
Change History (4)
by , 5 years ago
comment:1 by , 5 years ago
| Component: | Unassigned → Sessions |
|---|---|
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Session restore error, 2d labels None |
comment:2 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Fixed.
Session restore of state managers did not protect against restored objects that were None. Somehow that can happen with old sessions with 2d labels.
comment:3 by , 5 years ago
The restored Labels object was None because the session was created before there was a labels model. On restore it should create a labels model but the code has no way of knowing what model id to use that won't conflict with other models. So it defers creating that model until the session restore is finished. Probably it could do something better like create the Labels model but not add it to open models until the end. But it doesn't seem worth fixing for such old sessions (more than a year old), given that they already restore correctly, albeit with a warning.
Added by email2trac