Bug 28868 - Blow away corrupt caps caches.
Summary: Blow away corrupt caps caches.
Status: RESOLVED FIXED
Alias: None
Product: Wocky
Classification: Unclassified
Component: General (show other bugs)
Version: git master
Hardware: Other All
: medium normal
Assignee: Will Thompson
QA Contact: Telepathy bugs list
URL: http://git.collabora.co.uk/?p=user/jo...
Whiteboard:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2010-07-01 05:48 UTC by Will Thompson
Modified: 2011-02-25 05:32 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Will Thompson 2010-07-01 05:48:16 UTC
If your caps cache becomes corrupted, sometimes sqlite only notices when you try to write to it.

0.9.15 fixed a Wocky bug that made Gabble crash when that happens, but what we really should do is blow the cache away and start again if sqlite tells us it's corrupt.

http://git.collabora.co.uk/?p=user/wjt/telepathy-gabble-wjt.git;a=shortlog;h=refs/heads/blow-away-corrupt-caps-caches is the start of that fix.
Comment 1 Will Thompson 2010-12-01 08:33:39 UTC
I think this branch should do the trick. But it could use some testing with real corrupted caps caches!
Comment 2 Simon McVittie 2010-12-13 03:18:56 UTC
"CapsCache: don't potentially double-free statement" is pretty subtle; I think it'd be less astonishing to make caps_cache_bind_* never free stmt, but I realise that'd mean changing quite a few callers.

This looks OK to merge; Sjoerd, IIRC you saw some actual cache corruption? Does this help?
Comment 3 Jonny Lamb 2011-01-17 05:09:29 UTC
Sjoerd? Did you look at this? Seeing that you're the only one who actually came across this it'd be nice to hear from your experiences.
Comment 4 Jonny Lamb 2011-02-03 01:19:52 UTC
Last Christmas, you gave me your caps cache. But the very next day, I gave it to Wocky.

To try and make up for it, I threw your patches onto a Wocky branch.
Comment 5 Will Thompson 2011-02-25 05:32:01 UTC
Merged to Wöcky.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.