﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
236	Saving a session with an unknown model type gives an error	Tom Goddard	Greg Couch	"Saving a session with an unknown model type fails with an error.  It should simply warn that that model will not be saved.  As it is now any tool that makes a model can completely disable session saving.

The example below is for a volume model and I will be adding session support for that.  But the session saving should in all cases not die when it finds a model it can't save.

open 1080 from emdb
save ~/Desktop/test.cxs

Traceback (most recent call last):
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/cmd_line/gui.py"", line 121, in on_enter
cmd.execute()
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/commands/cli.py"", line 1822, in execute
results.append(ci.function(session, **kw_args))
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/commands/save.py"", line 48, in save
save_session(session, filename)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/session.py"", line 498, in save
session.save(output)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/session.py"", line 407, in save
mgr.discovery(self._state_containers)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/session.py"", line 196, in discovery
self.processed[key] = self.process(obj)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/session.py"", line 214, in process
return copy_state(data, convert=self._add_obj)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/state.py"", line 152, in copy_state
return _copy(data)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/state.py"", line 150, in _copy
items = [_copy(o) for o in data]
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/state.py"", line 150, in <listcomp>
items = [_copy(o) for o in data]
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/state.py"", line 143, in _copy
items = [(_copy(k), _copy(v)) for k, v in data.items()]
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/state.py"", line 143, in <listcomp>
items = [(_copy(k), _copy(v)) for k, v in data.items()]
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/state.py"", line 136, in _copy
return convert(data)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/session.py"", line 202, in _add_obj
uid = _UniqueName.from_obj(obj)
File ""/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/chimerax/core/session.py"", line 98, in from_obj
raise RuntimeError('unable to restore objects of %s class' % class_name)
RuntimeError: unable to restore objects of Volume class
"	defect	closed	major	0.5	Sessions		fixed						all	ChimeraX
