touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #15789
[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