| Summary: | crash on mail check | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] Akonadi | Reporter: | Martin Koller <martin> |
| Component: | POP3 Resource | Assignee: | kdepim bugs <pim-bugs-null> |
| Status: | RESOLVED NOT A BUG | ||
| Severity: | normal | CC: | aacid, vkrause |
| Priority: | NOR | ||
| Version First Reported In: | GIT (master) | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Martin Koller
2017-04-16 08:48:06 UTC
This is a weird crash.
It means somehow your settings broke.
It's "good" it happens all the time, but i can't see how it would happen.
Looking at the code there's two places where seenUIDs and timeOfSeenUids get modified, POP3Resource::deleteJobResult and POP3Resource::saveSeenUIDList
In POP3Resource::saveSeenUIDList we do
Q_ASSERT(seenUIDs.size() == timeOfSeenUIDs.size());
and then either
seenUIDs.append(uid);
timeOfSeenUIDs.append(time(nullptr));
or
uidIt = seenUIDs.erase(uidIt);
timeIt = timeOfSeenUIDs.erase(timeIt);
so the sizes should be the same always
In POP3Resource::deleteJobResult we do
Q_ASSERT(seenUIDs.size() == timeOfSeenUids.size());
and then either
seenUIDs.removeAt(index);
timeOfSeenUids.removeAt(index);
So they "should" be as big always.
Can you have a look at your config file and see if how different seenUIDs and timeOfSeenUids are? Maybe we're hitting some limit in KConfig?
I checked the config file and found indeed that the two stored lists differed in length (one was 10, the other 9). I manually removed these lists, restarted and the crash is gone. I'll close this for now |