Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#3420 closed defect (fixed)

Session restore error, 2d labels None

Reported by: goddard@… 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

prc.cxs

Attachments (1)

prc.cxs (1.8 MB ) - added by goddard@… 5 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (4)

by goddard@…, 5 years ago

Attachment: prc.cxs added

Added by email2trac

comment:1 by Tom Goddard, 5 years ago

Component: UnassignedSessions
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionSession restore error, 2d labels None

comment:2 by Tom Goddard, 5 years ago

Resolution: fixed
Status: assignedclosed

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 Tom Goddard, 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.

Note: See TracTickets for help on using tickets.