Just try to change the logged in users profile, e. g. the password.
checks for duplicate entries but this check fails on the user profile that should be changed itself. If you change your password the manager finds an user profile with the same email adress and fails.
The DefaultUserProfile#equals(Object) method should only test the uuid attribute and not the other attributes. This would be the best solution i think, but this could break other code that looks in maps an sets, for example.
Or just check for equality of the uuid in UserManager#validateProfile(WikiContext, UserProfile).
I would like to help here and with other open issues and can send patches.