This error seems to happen fairly often on this release (3.0.13) and is related to getting the users in the aspnet_* tables out of sync with the users in the DNN Users table
This can happen if you try to add a user but it fails because of constraints like password length. This should roll back better in the next release but if you find yourself in this situation and wan't to try and fix it then the following SQL may help. Warning: Use this SQL at your own risk and after backing up your DB, I have ran it successfully more than once, but you never know.
First run this to see if the tables are out of Sync:
select * from aspnet_Users au left outer join Users u on au.UserName = U.UserName where U.UserName is null
If that returns records then you can remove them by running this:
DECLARE @UserName varchar (50)
--get a cursor to hold all the orphaned users
--that are in aspnet_Users table that are not in the DNN Users table
DECLARE users_cursor CURSOR FOR
SELECT au.UserName FROM aspnet_Users au
LEFT OUTER JOIN Users u on au.UserName = U.UserName
WHERE U.UserName is null
OPEN users_cursor
-- Perform the first fetch.
FETCH NEXT FROM users_cursor INTO @UserName
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
--delete the user from all the aspnet_* tables that it may be in
--one at a time to avoid referrential integrity constraints
delete aspnet_Membership where UserId =
(select am.UserId from aspnet_Membership am inner join aspnet_Users au on am.UserId = au.UserId
where au.Username =@UserName)
delete aspnet_Profile where UserId =
(select ap.UserId from aspnet_Profile ap inner join aspnet_Users au on ap.UserId = au.UserId
where au.Username =@UserName)
delete aspnet_UsersInRoles where UserId
in (select uir.UserId from aspnet_UsersInRoles uir inner join aspnet_Users au on uir.UserId = au.UserId
where au.Username =@UserName)
delete from aspnet_Users where Username =@UserName
FETCH NEXT FROM users_cursor INTO @UserName
END
CLOSE users_cursor
DEALLOCATE users_cursor
GO