Gary reported that on 0.5pre3, there was a core dump when logging in when using a WeaveCrypto.so that was compatible with 0.5pre2. This is probably somehow related to bug 505571 that adds the verify passphrase check and bug 505401 that provides the crypto function to do the check. But the front-end code should be checking if the verifyPassphrase function exists in crypto before trying to call it. Gary, if you still have the 0.5pre2 binary, could you try running this in the error console? Components.utils.import("resource://weave/util.js"); "verifyPassphrasee" in Svc.Crypto It should return false (make sure you're showing All messages)..
thunder's analysis for the situation is correct: checking for 'in' is actually useless because it checks for existence of the method in the XPT (compiled IDL) which says the method is indeed present, but when the .dylib/.so/.dll is actually loaded it isn't - giving us a core dump. The best way to solve this without introducing a new interface is simply to ensure that any loaded libraries have these methods in them.
We should at least get rid of the broken "verifyPassphrase" in Svc.Crypo check then.