New user registration

Catchable fatal error: Object of class WP_Error could not be converted to string in /home/xpressi1/public_html/njeri/wp-includes/capabilities.php on line 497

The above error appears when a user leaves the fields empty. I feel the required fields should be indicated on the registration page.
Also an appropriate error message should appear when a user misses a require field.

Also there should be a warning when a user tries to register with an existing email address or user name. Currently when a user tries to register with an existing email address they are logged in. When they enter an existing username a random one is created

The plugin should also allow users to choose their passwords.