Issue #151

Use case relationships sometimes cannot be added

Added by WGH WGH almost 7 years ago. Updated over 6 years ago.

Status:ClosedStart date:08 November 2013
Priority:MediumDue date:
Assignee:-% Done:

100%

Category:-
Target version:Modelio 3.1.1

Description

Sometimes when you add inclusion/extension relationship between use cases, it doesn’t work. Modelio displays the following error:

org.modelio.vcore.session.impl.transactions.smAction.AddActionNoActiveTransactionException: No transaction is open.

The bug manifests randomly. Restarting Modelio helps, but not always. Anyway, attaching project probably won’t help you.

Unfortunately, I don’t have a reliable reproduction yet. It certainly can appear in clean project, though (e.g. just created).

Modelio build 201309241706.

UseCaseRelationshipsBug.zip (565 KB) WGH WGH, 08 November 2013 17:46

History

#1 Updated by WGH WGH almost 7 years ago

OK, I have a reproduction. Sequence of actions looks odd, it is probably redundant, but it works. I can assure you that such peculiar actions are not required for this bug to manifest.

  1. Start Modelio
  2. Import attached project
  3. Open it
  4. Open the use case diagram
  5. Try to add inclusion/extension relationship between the use cases
  6. (You won’t get an error at this point)
  7. Close project (File –> Close) without saving changes, but don’t close Modelio
  8. Open project again
  9. Open the diagram and try to add relationship again
  10. You will get the error

Steps confirmed on two different platforms:

  • Windows 7 64-bit running 64-bit Java build 1.7.0_07-b11
  • Gentoo Linux 64 bit running 64-bit IcedTea7 2.3.2

Here is traceback obtained on Linux machine:

2013-11-08 20:48:27,606 WARN: Transaction 'null' not committed, auto-rollbacking.
2013-11-08 20:48:27,607 WARN: java.lang.Throwable: Transaction 'null' not committed, auto-rollbacking.
    at org.modelio.vcore.session.impl.transactions.Transaction.close(Transaction.java:263)
    at org.modelio.diagram.editor.DiagramCommandStack.execute(DiagramCommandStack.java:140)
    at org.eclipse.gef.tools.AbstractTool.executeCommand(AbstractTool.java:425)
    at org.eclipse.gef.tools.AbstractTool.executeCurrentCommand(AbstractTool.java:438)
    at org.eclipse.gef.tools.AbstractConnectionCreationTool.handleCreateConnection(AbstractConnectionCreationTool.java:256)
    at org.modelio.diagram.elements.core.tools.BendedConnectionCreationTool.handleCreateConnection(BendedConnectionCreationTool.java:509)
    at org.modelio.diagram.elements.core.tools.BendedConnectionCreationTool.handleButtonDown(BendedConnectionCreationTool.java:228)
    at org.eclipse.gef.tools.AbstractTool.mouseDown(AbstractTool.java:1091)
    at org.eclipse.gef.EditDomain.mouseDown(EditDomain.java:245)
    at org.eclipse.gef.ui.parts.DomainEventDispatcher.dispatchMousePressed(DomainEventDispatcher.java:348)
    at org.eclipse.draw2d.LightweightSystem$EventHandler.mouseDown(LightweightSystem.java:523)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:192)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1392)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3742)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3363)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1113)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:997)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:138)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:162)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

#2 Updated by Christophe Demeulemeester over 6 years ago

  • Status changed from New to Closed
  • Target version set to Modelio 3.1.1
  • % Done changed from 0 to 100

Validated with Modelio 3.1.1 – 201402210039 64-bit on Windows 8.1 64-bit.

Also available in: Atom PDF