Troubleshooting stuck at logging screen
Troubleshooting stuck at logging screen
User enters his/hers login name and password, press the Sign In, but the login screen is stuck on loading.
To troubleshoot this problem, we would first rely on log files from the /opt/zimbra/log directory. Run "tail -f" for different logs, and reproduce the issue to collect clues as to what the problem might be. The first place we would be looking is in mailbox.log. Then we can check the mysql_error.log, zmmailboxd.out, nginx.access.log, nginx.log, myslow.log, audit.log, httpd_error.log.xxxx-xx-xx logs. After checking these logs, you may have some idea as to what the problem might be and where to check. If there is nothing in the logs, you may consider enabling debug logging for the user, by following this wiki.
Sometimes, we may not see anything in the logs, and then we should relay on different troubleshooting. The below steps are to give you more ideas as to where to check.
The very first thing to do, even before you try to check the logs, is to change the zimbraPrefMailInitialSearch attribute for the problematic user to the sent folder. That will change the default login folder from Inbox, to the Sent folder.
zmprob ma email@example.com zimbraPrefMailInitialSearch in:sent
Next, try to login with the user. If you can login with Ajax, then when you check the Inbox folder, it will probably show empty, or an error will be produced when you click on the Inbox tab (check logs). If the folder is empty, the problem is most likely an email that contains invalid character/formatting.
- How to identify corrupted email in the Inbox.
Change back the zimbraPrefMailInitialSearch attribute to its original value:
zmprob ma firstname.lastname@example.org zimbraPrefMailInitialSearch in:inbox
Try to login with Ajax, you will get stuck, then click on the link to switch to the HTML version. When you login, you will be able to see all emails in the Inbox folder. What you have to do is to first create a test folder. Name it as you wish. Then go to the Inbox, and move from there 50 mails to the test folder. When that is done, logout and then login. If you are unable to login (using Ajax), then move 50 more emails. Do that until you are able to login. Usually you don't need to move a lot of emails, because the issue have happened recently, which means the problematic email is somewhere in the last 1-2 days. After you can login (using Ajax), then move 15 emails from the test folder to the Inbox (you can move more emails if you like). Then check if you can login. Repeat that until you are unable to login. That means, the problem email is one of the fifteen. Then one by one, move the emails from the Inbox to the test folder to identify which one is the corrupted one.
TIP1: Not to make a mistake, you can use a Snipping Tool, to make a screenshot of the emails you move. That way you don't have to remember the emails.
TIP2: If an email is corrupted, it will probably show Unknown in the From field. As all other emails will show their Sender. This way you can first go through the emails, and quickly check for suspicious looking From fields. If you don't see one, then start moving the emails.
Note: You may do that procedure, after you check all the steps below.
Try checking each tab individually, click on them and see if you will get an error while doing that. Then, go to the Preferences tab of the user, and click each menu on the left. Sometimes you may have an error when you click the Sharing option.
Invalid calendar or folder shares
For this point, there is a wiki created here. Basically, check if you have any invalid (crossed out) shared folders, tasks, calendars or contacts. If you have, delete the invalid share and check if the problem is solved. You may check the wiki for more information.
Sometimes, this problem can be caused by corrupted mysql index. If you find in the logs that there is a problem with the index, please follow this wiki. Sometimes, the error, exception will not be shown in the logs, unless you switch to the HTML view. So, switch to it to make sure.