I get exception when i try to load the file I've just saved. The
gaphor file and the png I've exported after the last save can be seen/
downloaded from here:
http://ladish.org/changeset/41eb3c54059fad8e1670aa068c8f4f843ee324c2
I'm using gaphor from git HEAD
(ac6216192f27c97dceb8d07ef4c0f723eb53bf65)
The python exceptions I get:
# gaphor diagrams.gaphor
2009-08-15 14:14:01,159 DEBUG found entry point service.file_manager
2009-08-15 14:14:01,213 DEBUG found entry point service.diagram_layout
2009-08-15 14:14:01,246 DEBUG found entry point
service.diagram_export_manager
2009-08-15 14:14:01,249 DEBUG found entry point
service.check_metamodel
2009-08-15 14:14:01,258 DEBUG found entry point
service.element_dispatcher
2009-08-15 14:14:01,262 DEBUG found entry point
service.live_object_browser
2009-08-15 14:14:01,268 DEBUG found entry point service.sanitizer
2009-08-15 14:14:01,272 DEBUG found entry point service.adapter_loader
2009-08-15 14:14:01,277 DEBUG found entry point
service.element_factory
2009-08-15 14:14:01,278 DEBUG found entry point service.properties
2009-08-15 14:14:01,282 DEBUG found entry point service.pynsource
2009-08-15 14:14:01,293 DEBUG found entry point service.undo_manager
2009-08-15 14:14:01,299 DEBUG found entry point service.gui_manager
2009-08-15 14:14:01,304 DEBUG found entry point service.copy
2009-08-15 14:14:01,310 DEBUG found entry point service.action_manager
2009-08-15 14:14:01,312 DEBUG found entry point service.xmi_export
2009-08-15 14:14:01,317 DEBUG found entry point service.alignment
2009-08-15 14:14:01,322 DEBUG found entry point service.help
2009-08-15 14:14:01,328 INFO initializing service service.file_manager
2009-08-15 14:14:01,333 INFO initializing service service.properties
2009-08-15 14:14:01,337 INFO initializing service
service.diagram_layout
2009-08-15 14:14:01,337 INFO initializing service
service.diagram_export_manager
2009-08-15 14:14:01,338 INFO initializing service service.gui_manager
2009-08-15 14:14:01,345 INFO Icon dir: /usr/lib/python2.5/site-
packages/gaphor-0.14.1-py2.5.egg/gaphor/ui/pixmaps
2009-08-15 14:14:01,369 INFO initializing service
service.action_manager
2009-08-15 14:14:01,369 INFO Loading not yet registered action
provider services
2009-08-15 14:14:01,370 DEBUG Loading already registered service
<gaphor.services.filemanager.FileManager object at 0x846572c>
2009-08-15 14:14:01,373 DEBUG Registering actions for
<gaphor.services.filemanager.FileManager object at 0x846572c>
2009-08-15 14:14:01,374 DEBUG Loading already registered service
<gaphor.plugins.diagramlayout.DiagramLayout object at 0x854f4ac>
2009-08-15 14:14:01,374 DEBUG Registering actions for
<gaphor.plugins.diagramlayout.DiagramLayout object at 0x854f4ac>
2009-08-15 14:14:01,374 DEBUG Loading already registered service
<gaphor.services.diagramexportmanager.DiagramExportManager object at
0x85b6eac>
2009-08-15 14:14:01,375 DEBUG Registering actions for
<gaphor.services.diagramexportmanager.DiagramExportManager object at
0x85b6eac>
2009-08-15 14:14:01,375 DEBUG found entry point uicomponent.mainwindow
2009-08-15 14:14:01,402 DEBUG Registering actions for
<gaphor.ui.mainwindow.MainWindow object at 0x866432c>
2009-08-15 14:14:01,403 DEBUG found entry point
uicomponent.elementeditor
2009-08-15 14:14:01,409 DEBUG Registering actions for
<gaphor.ui.elementeditor.ElementEditor object at 0x86b964c>
2009-08-15 14:14:01,409 DEBUG found entry point
uicomponent.consolewindow
2009-08-15 14:14:01,421 DEBUG Registering actions for
<gaphor.ui.consolewindow.ConsoleWindow object at 0x86b9e2c>
/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/gaphor/ui/
toplevelwindow.py:54: GtkWarning: gtk_label_set_label: assertion `str !
= NULL' failed
menubar = self.ui_manager.get_widget(self.menubar_path)
2009-08-15 14:14:01,462 INFO initializing service
service.element_factory
2009-08-15 14:14:01,586 INFO initializing service
service.check_metamodel
2009-08-15 14:14:01,589 DEBUG Loading registered service
<gaphor.plugins.checkmetamodel.checkmodelgui.CheckModelWindow object
at 0x85df0ac>
2009-08-15 14:14:01,589 DEBUG Registering actions for
<gaphor.plugins.checkmetamodel.checkmodelgui.CheckModelWindow object
at 0x85df0ac>
2009-08-15 14:14:01,589 INFO initializing service service.xmi_export
2009-08-15 14:14:01,589 DEBUG Loading registered service
<gaphor.plugins.xmiexport.XMIExport object at 0x86167ac>
2009-08-15 14:14:01,590 DEBUG Registering actions for
<gaphor.plugins.xmiexport.XMIExport object at 0x86167ac>
2009-08-15 14:14:01,594 INFO initializing service
service.element_dispatcher
2009-08-15 14:14:01,597 INFO initializing service service.sanitizer
2009-08-15 14:14:01,598 INFO initializing service
service.adapter_loader
2009-08-15 14:14:01,647 INFO initializing service service.pynsource
2009-08-15 14:14:01,648 DEBUG Loading registered service
<gaphor.plugins.pynsource.PyNSource object at 0x85ee64c>
2009-08-15 14:14:01,648 DEBUG Registering actions for
<gaphor.plugins.pynsource.PyNSource object at 0x85ee64c>
2009-08-15 14:14:01,648 INFO initializing service service.undo_manager
2009-08-15 14:14:01,649 DEBUG Loading registered service
<gaphor.services.undomanager.UndoManager object at 0x860584c>
2009-08-15 14:14:01,650 DEBUG Registering actions for
<gaphor.services.undomanager.UndoManager object at 0x860584c>
2009-08-15 14:14:01,654 INFO initializing service
service.live_object_browser
2009-08-15 14:14:01,654 DEBUG Loading registered service
<gaphor.plugins.liveobjectbrowser.LiveObjectBrowser object at
0x85dfccc>
2009-08-15 14:14:01,654 DEBUG Registering actions for
<gaphor.plugins.liveobjectbrowser.LiveObjectBrowser object at
0x85dfccc>
2009-08-15 14:14:01,655 INFO initializing service service.copy
2009-08-15 14:14:01,655 DEBUG Loading registered service
<gaphor.services.copyservice.CopyService object at 0x860ec8c>
2009-08-15 14:14:01,655 DEBUG Registering actions for
<gaphor.services.copyservice.CopyService object at 0x860ec8c>
2009-08-15 14:14:01,660 INFO initializing service service.alignment
2009-08-15 14:14:01,661 DEBUG Loading registered service
<gaphor.plugins.alignment.Alignment object at 0x863756c>
2009-08-15 14:14:01,661 DEBUG Registering actions for
<gaphor.plugins.alignment.Alignment object at 0x863756c>
2009-08-15 14:14:01,661 INFO initializing service service.help
2009-08-15 14:14:01,662 DEBUG Loading registered service
<gaphor.services.helpservice.HelpService object at 0x860480c>
2009-08-15 14:14:01,662 DEBUG Registering actions for
<gaphor.services.helpservice.HelpService object at 0x860480c>
2009-08-15 14:14:01,667 DEBUG Loading from: diagrams.gaphor
2009-08-15 14:14:01,795 INFO Loading file diagrams.gaphor
2009-08-15 14:14:02,235 INFO Read 149 elements from file
2009-08-15 14:14:02,235 DEBUG Loading 149 elements...
2009-08-15 14:14:02,669 INFO file diagrams.gaphor could not be loaded
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/storage/storage.py", line 356, in load_generator
for percentage in load_elements_generator(elements, factory,
gaphor_version):
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/storage/storage.py", line 305, in load_elements_generator
elem.element.postload()
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/diagram/diagramline.py", line 140, in postload
self._connect(self.tail, self._load_tail_connection)
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/diagram/diagramline.py", line 121, in _connect
tool.post_connect(self, handle, item, port)
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/ui/diagramtools.py", line 64, in post_connect
adapter.connect(handle, port)
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/adapters/connectors.py", line 358, in connect
self.connect_connected_items()
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/adapters/connectors.py", line 302, in connect_connected_items
solver.solve()
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 615, in solve
c.solve_for(wvar)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
constraint.py", line 492, in solve_for
self._solve()
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
constraint.py", line 520, in _solve
_update(px, x)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
constraint.py", line 46, in _update
variable.value = value
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
canvas.py", line 742, in _set_value
self._callback(value)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
canvas.py", line 786, in _on_change_x
self._point[0].value, self._point[1].value =
item.canvas.get_matrix_c2i(item).transform_point(value, self._py)
File "<string>", line 2, in set_value
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
state.py", line 66, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 99, in set_value
self.dirty()
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 94, in dirty
solver.request_resolve(self)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 422, in request_resolve
raise JuggleError, 'Variable juggling detected, constraint %s' % c
JuggleError: Variable juggling detected, constraint
<gaphas.constraint.EqualsConstraint object at 0x8a340cc>
2009-08-15 14:14:02,673 ERROR Error while loading model from file
diagrams.gaphor: <class 'gaphas.solver.JuggleError'>
Error while updating canvas
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
canvas.py", line 471, in update_now
self.update_constraints(dirty_matrix_items)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
canvas.py", line 570, in update_constraints
self._solver.solve()
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 615, in solve
c.solve_for(wvar)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
constraint.py", line 159, in solve_for
(self.b, self.a.value + self._delta)))
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
constraint.py", line 46, in _update
variable.value = value
File "<string>", line 2, in set_value
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
state.py", line 66, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 99, in set_value
self.dirty()
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 94, in dirty
solver.request_resolve(self)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
solver.py", line 422, in request_resolve
raise JuggleError, 'Variable juggling detected, constraint %s' % c
JuggleError: Variable juggling detected, constraint
<gaphas.constraint.EqualsConstraint object at 0x8a340cc>
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
decorators.py", line 104, in async_wrapper
func(*args, **kwargs)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
canvas.py", line 404, in update
self.update_now()
File "/usr/lib/python2.5/site-packages/gaphor-0.14.1-py2.5.egg/
gaphor/UML/diagram.py", line 42, in update_now
super(DiagramCanvas, self).update_now()
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
decorators.py", line 140, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.5/site-packages/gaphas-0.4.0-py2.5.egg/gaphas/
canvas.py", line 504, in update_now
'dirty: %s; matrix: %s' % (self._dirty_items,
self._dirty_matrix_items)
AssertionError: dirty: set
([<gaphor.diagram.classes.interface.InterfaceItem object at
0x88bee6c>, <gaphor.diagram.classes.klass.ClassItem object at
0x892a0cc>, <gaphor.diagram.classes.interface.InterfaceItem object at
0x88c7e2c>, <gaphor.diagram.classes.interface.InterfaceItem object at
0x88cb0ac>, <gaphor.diagram.classes.klass.ClassItem object at
0x892552c>, <gaphor.diagram.classes.interface.InterfaceItem object at
0x88cb96c>, <gaphor.diagram.classes.implementation.ImplementationItem
object at 0x892a98c>, <gaphor.diagram.classes.interface.InterfaceItem
object at 0x88c7dec>, <gaphor.diagram.classes.klass.ClassItem object
at 0x88c762c>]); matrix: set([])