cyrusimap / cassandane

Other
6 stars 11 forks source link

add test for broken conversationsdb #93

Open elliefm opened 3 years ago

elliefm commented 3 years ago

bron:

I ran fixaccount for user with the issue, so we don't have a testcase as such for this. It looks like you need a broken conversations.db for the error to come up. The specific brokenness is "mailbox got deleted, but a record for it didn't get removed from conversations.db for some reason" - so there's a G record with a folder number which is a broken pointer.

ellie:

Could we reproduce this from Cassandane by just having cyr_dbtool inject a bad G record into the cassandane account's conversations.db? Or does the bad record need to be bad in a particular way that's hard to anticipate?

bron:

I think we could - either by injecting a bad record, or by messing with $FOLDER_NAMES.

Putting this here so we don't completely forget it forever

elliefm commented 3 years ago

Forgot some context: the crash this caused is already fixed by https://github.com/cyrusimap/cyrus-imapd/commit/63c6cafc7c1291717e103d7a89403e6fd2296a04, but we don't have a regression test for it.