cannot load gaphor file

1 view
Skip to first unread message

Nedko Arnaudov

unread,
Aug 15, 2009, 7:15:10 AM8/15/09
to gaphor-dev
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([])

Arjan Molenaar

unread,
Aug 17, 2009, 3:46:58 PM8/17/09
to gapho...@googlegroups.com

Hi,

On 15 Aug 2009, at 13:15, Nedko Arnaudov wrote:

>
> 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

Looking at the stacktrace I see a JuggleError. This exception is
thrown if the solver thinks it's in a recursive loop (cyclic
constraints). To admit: I've had this error once before, but haven't
had time to resolve it then (and the diagram was small).

Thanks for the diagram file. I'll try to reproduce the error and
resolve it.

Regards,

Arjan
Reply all
Reply to author
Forward
0 new messages