← Back to team overview

touch-packages team mailing list archive

[Bug 1255180] Re: Reading scope models sometimes produces lots of criticals

 

** No longer affects: unity8

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to unity in Ubuntu.
https://bugs.launchpad.net/bugs/1255180

Title:
  Reading scope models sometimes produces lots of criticals

Status in Dee:
  New
Status in Unity:
  New
Status in “unity” package in Ubuntu:
  New
Status in “unity8” package in Ubuntu:
  Triaged

Bug description:
  In some cases shell gets into a situation where the results in the dee
  model are not properly synchronized with the qt model, which can cause
  the qt wrapper to try reading (now) invalid rows.

  This was identified to be caused because of the way the scope results
  model works and how its qt wrapper deals with changesets. Basically we
  have a single DeeSharedModel that contains all the results for a
  particular search, that model gets split up by category id into
  multiple DeeFilterModels, which contain results for a specific
  category. Now the problem is that when there's a transaction (ie
  multiple row additions/removals) on the master shared model, the
  transaction is mirrored in the per-category filter models, but it
  introduces a problem cause we don't serialize the changes, which means
  that multiple filter models can have an active transaction at the same
  time, and when one the filter models synchronizes with the qt wrapper,
  a visibility change can cause a different model to be shown, and since
  that model is still processing the transaction, the qt wrapper won't
  be properly synchronized, and can ask for rows that are about to be
  removed.

  A solution to this problem is making sure that there's always just one
  active transaction on the filter models.

To manage notifications about this bug go to:
https://bugs.launchpad.net/dee/+bug/1255180/+subscriptions