﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
2802	saving session w/ 2D arrows gives RuntimeError: Unable to restore objects of Arrows class	Elaine Meng	Eric Pettersen	"{{{
The following bug report has been submitted:
Platform:        Darwin-18.7.0-x86_64-i386-64bit
ChimeraX Version: 0.92 (2020-02-04)
Description
Restored old session prc.cxs from this page http://www.rbvi.ucsf.edu/chimerax/gallery.html because it had pre-existing 2d labels, closed structure, added 2d arrows, tried to save session.  Obscure situation just to save me time in making 2d labels.  I guess it's not important if saving a new session with labels + arrows would work.

Log:
> open /Users/meng/Desktop/startup.cxc

> alias reset view orient; view initial

> alias start tool show $*

executed startup.cxc  
UCSF ChimeraX version: 0.92 (2020-02-04)  
© 2016-2020 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /Users/meng/Desktop/prc.cxs

Summary of feedback from opening /Users/meng/Desktop/prc.cxs  
---  
warning | restore_snapshot for ""Labels"" returned None  
  
opened ChimeraX session  

> 2dlabels arrow #2.1 start .5,.5 color hot pink

No 2D arrows in session  

> 2dlabels arrow end .8,.8 start .5,.5 color hot pink

> 2dlabels arrow all color orchid

> 2dlabels arrow color blue

> 2dlabels delete all

> 2dlabels delete #3

> undo

No undo action is available  

> close

> open /Users/meng/Desktop/prc.cxs

Summary of feedback from opening /Users/meng/Desktop/prc.cxs  
---  
warning | restore_snapshot for ""Labels"" returned None  
  
opened ChimeraX session  

> close #1

> 2dlabels arrow start .2,.2 end .2,.7 weight .4 color magenta

> 2dlabels arrow start .3,.3 end .8,.3 color yellow

> save 2dstuff.cxs

Traceback (most recent call last):  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 796, in save  
session.save(output, version=version, include_maps=include_maps)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 556, in save  
mgr.discovery(self._state_containers)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 255, in discovery  
self.processed[key] = self.process(obj, parents)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 288, in process  
return copy_state(data, convert=convert)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 210, in copy_state  
return _copy(data)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in _copy  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in <listcomp>  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in _copy  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in <listcomp>  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 208, in _copy  
return convert(data)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 287, in convert  
return add_obj(obj, parents)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 261, in _add_obj  
uid = _UniqueName.from_obj(self.session, obj)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 142, in from_obj  
(obj_cls.__name__, bundle_info.name))  
RuntimeError: Unable to restore objects of Arrows class in ChimeraX-Label
bundle because the class name is not listed in the name to class table for
session restore  
  
RuntimeError: Unable to restore objects of Arrows class in ChimeraX-Label
bundle because the class name is not listed in the name to class table for
session restore  
  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 142, in from_obj  
(obj_cls.__name__, bundle_info.name))  
  
See log for complete Python traceback.  
  
Traceback (most recent call last):  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/cmd_line/tool.py"", line 258, in execute  
cmd.run(cmd_text)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/cli.py"", line 2837, in run  
result = ci.function(session, **kw_args)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/commands/save.py"", line 61, in save  
fmt.export(session, filename, fmt.nicknames[0], **kw)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/io.py"", line 229, in export  
result = self.export_func(session, path, **kw)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 796, in save  
session.save(output, version=version, include_maps=include_maps)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 556, in save  
mgr.discovery(self._state_containers)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 255, in discovery  
self.processed[key] = self.process(obj, parents)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 288, in process  
return copy_state(data, convert=convert)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 210, in copy_state  
return _copy(data)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in _copy  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in <listcomp>  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in _copy  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 195, in <listcomp>  
items = [(_copy(k), _copy(v)) for k, v in data.items()]  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/state.py"", line 208, in _copy  
return convert(data)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 287, in convert  
return add_obj(obj, parents)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 261, in _add_obj  
uid = _UniqueName.from_obj(self.session, obj)  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 142, in from_obj  
(obj_cls.__name__, bundle_info.name))  
RuntimeError: Unable to restore objects of Arrows class in ChimeraX-Label
bundle because the class name is not listed in the name to class table for
session restore  
  
RuntimeError: Unable to restore objects of Arrows class in ChimeraX-Label
bundle because the class name is not listed in the name to class table for
session restore  
  
File
""/Users/meng/Desktop/ChimeraX_Daily.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-
packages/chimerax/core/session.py"", line 142, in from_obj  
(obj_cls.__name__, bundle_info.name))  
  
See log for complete Python traceback.  
  




OpenGL version: 4.1 INTEL-12.10.14
OpenGL renderer: Intel Iris Pro OpenGL Engine
OpenGL vendor: Intel Inc.

}}}
"	defect	closed	normal		Sessions		fixed						all	ChimeraX
