#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