Opened 6 years ago
Last modified 6 years ago
#2220 assigned enhancement
Best effort to save session despite circular dependencies
Reported by: | Owned by: | Greg Couch | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Sessions | Version: | |
Keywords: | Cc: | Conrad Huang | |
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Darwin-18.6.0-x86_64-i386-64bit ChimeraX Version: 0.91 (2019-07-13) Description Saving a session with color zone and surface zone commands. I am going to fix the session save to avoid circular dependencies. But the session save code should be improved to issue an error, but still try to save the part of the session that does not have circular dependencies -- ie make best effort to save the session. Log: Startup Messages --- warning | 'clip' is a prefix of an existing command 'clipper' UCSF ChimeraX version: 0.91 (2019-07-13) © 2016-2019 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > open /Users/goddard/ucsf/chimerax/src/bundles/std_commands/test.cxs format session opened ChimeraX session > surface zone #2 nearAtoms /A,B distance 5 > color zone #2 near /A distance 10 > save test.cxs 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 763, in save session.save(output, version=version, include_maps=include_maps) 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 535, in save for name, data in mgr.walk(): 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 272, in walk key = next(odg) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 69, in order_dag yield from _postorder_traversal(path, d, node) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 82, in _postorder_traversal yield from _postorder_traversal(path, d, dnode) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 82, in _postorder_traversal yield from _postorder_traversal(path, d, dnode) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 82, in _postorder_traversal yield from _postorder_traversal(path, d, dnode) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 80, in _postorder_traversal raise OrderDAGError("cycle detected, reached %s from %s" % (repr(dnode), repr(path)), path) chimerax.core.order_dag.OrderDAGError: cycle detected, reached <('ChimeraX- Map', 'VolumeSurface'), 1> from ['models', <'Models', 1>, <('ChimeraX-Map', 'VolumeSurface'), 1>, <('ChimeraX-Surface', 'ZoneColor'), 1>] chimerax.core.order_dag.OrderDAGError: cycle detected, reached from ['models', , , ] File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 80, in _postorder_traversal raise OrderDAGError("cycle detected, reached %s from %s" % (repr(dnode), repr(path)), path) See log for complete Python traceback. 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/cmd_line/tool.py", line 254, in execute cmd.run(cmd_text) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/commands/cli.py", line 2646, in run result = ci.function(session, **kw_args) File "/Users/goddard/ucsf/chimerax/ChimeraX.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/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/io.py", line 213, in export result = self.export_func(session, path, **kw) 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 763, in save session.save(output, version=version, include_maps=include_maps) 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 535, in save for name, data in mgr.walk(): 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 272, in walk key = next(odg) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 69, in order_dag yield from _postorder_traversal(path, d, node) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 82, in _postorder_traversal yield from _postorder_traversal(path, d, dnode) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 82, in _postorder_traversal yield from _postorder_traversal(path, d, dnode) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 82, in _postorder_traversal yield from _postorder_traversal(path, d, dnode) File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 80, in _postorder_traversal raise OrderDAGError("cycle detected, reached %s from %s" % (repr(dnode), repr(path)), path) chimerax.core.order_dag.OrderDAGError: cycle detected, reached <('ChimeraX- Map', 'VolumeSurface'), 1> from ['models', <'Models', 1>, <('ChimeraX-Map', 'VolumeSurface'), 1>, <('ChimeraX-Surface', 'ZoneColor'), 1>] chimerax.core.order_dag.OrderDAGError: cycle detected, reached from ['models', , , ] File "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site- packages/chimerax/core/order_dag.py", line 80, in _postorder_traversal raise OrderDAGError("cycle detected, reached %s from %s" % (repr(dnode), repr(path)), path) See log for complete Python traceback. OpenGL version: 4.1 ATI-2.9.26 OpenGL renderer: AMD Radeon Pro 580 OpenGL Engine OpenGL vendor: ATI Technologies Inc.
Change History (1)
comment:1 by , 6 years ago
Cc: | added |
---|---|
Component: | Unassigned → Sessions |
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Best effort to save session despite circular dependencies |
Type: | defect → enhancement |
Note:
See TracTickets
for help on using tickets.