Smack 4.4.0 What is the proper way for app to handle when there is Corrupted OmemoKey Exception in user own omemo device

I believe this is the source of your issues.
Own keys and contacts keys should be stored in different tables.
KeyPairs != Keys.

aTalk identities table implementation follows conversation, where both the own omemo device IdentityKeyPairs is stored in the same table with the contacts’ identities; with the understanding that own omemo device should not contains both IdentityKeyPair and IdentityKey.

Please refer to Smack 4.4.0 - aTalk Regenerate OMEMO identities implementation and problem faced