Bug #3563

Concurrency and background tasks in constraint checker

Added by Simon Barner about 2 years ago. Updated 3 days ago.

Start date:
Due date:
% Done:


Estimated time:


Observed Problems

There are no 100% reliable steps-to-reproduce, but most of the time executing steps 1-4 from #3558 result into the problems listed below. Also, the stack traces attached to the ticket should enable the analysis.

  • Enabling both checks before starting the test seems to increase the chance to hit the errors.
  • Fast editing in the code specification editor (e.g., copy and paste, undo/redo) intermixed with saves seems to have an effect, too.
I observed 3 problems
  • Prevented deadlock
    • trace-to-avoid-deadlock-during-Display-syncExec.txt
    • See ConstraintUIBaseAutocheck::onOutdate: The problem seems to be caused by the auto check code that runs a command inside the IConstraintService::verify() method which in turn performs a Display.syncExec().
  • Reentrant call while viewer is busy
    • trace-reentrent-call-while-viewer-is-busy.txt
    • Observed only once
  • Sometimes, the model is marked dirty again after saving

Ideas to improve the design and user experience

When an expensive constraint is enabled, a "background operation about to start dialog" is shown:
  • Suggested formulation changes:
    • AutoFOCUS3 will now analyze your project in order to check that output ports..." --> start included constraint description with lower case letter.
    • This might slow down your system [...] should be unnoticed -->
    • Note that AutoFOCUS3 might be less responsive until the check has been applied to the current model. Subsequent checks will be performed incrementally and should have no noticeable performance impact.
  • Should not the progress view be raised when such long running operations are going on? That way, even the dialog might not be needed.


#1 Updated by Johannes Eder over 1 year ago

  • Target version changed from AF3 2.15 RC1 (Feature Freeze) to AF3 2.16 RC1 (Feature Freeze)

#2 Updated by Johannes Eder over 1 year ago

  • Target version changed from AF3 2.16 RC1 (Feature Freeze) to AF3 2.16 RC2 (Tested, Bug-free)

#3 Updated by Anonymous over 1 year ago

  • Assignee changed from Anonymous to Saad bin Abid

Related to the constraints system.
Saad: can you check if the bug still exists?

#4 Updated by Saad bin Abid about 1 year ago

  • Target version changed from AF3 2.16 RC2 (Tested, Bug-free) to AF3 2.17 (Feature Freeze)

#5 Updated by Johannes Eder 8 months ago

  • Target version changed from AF3 2.17 (Feature Freeze) to AF3 2.17 (Tested, Bug Free)

#6 Updated by Johannes Eder 6 months ago

  • Target version changed from AF3 2.17 (Tested, Bug Free) to AF3 2.18 - Critical bugs fixed

#7 Updated by Johannes Eder 3 days ago

  • Status changed from New to Rejected
  • Assignee deleted (Saad bin Abid)

To be re-opened if necessary.

Also available in: Atom PDF