Logging in on Crowd results in a blank screen
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles for non-Data Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
Attempting to log in intermittently results in a blank screen without further errors or indications of problems.
Environment
- Crowd Data Center running with 2 or more nodes
Diagnosis
The application logs and HAR files captured while replicating the issue do not show any errors or failures around the login process. However, upon further inspection of the Crowd logs, you can see messages like this:
ERROR: JarContent: Unable to read bytes for file com/atlassian/applinks/core/auth/ApplicationLinksStringReturningResponseHandler.class in ZIP file /opt/atlassian/var/crowd-home/caches/transformed-plugins/applinks-plugin-6.0.5_1605793306000.jar
java.io.IOException: Stale file handle
at java.base/java.io.RandomAccessFile.readBytes(Native Method)
This problem is only reproducible when more than one node is running.
Cause
The Stale file handle errors can happen if multiple nodes use the same home directory and are trying to access the same files. This can happen if the entire Crowd Home folder was mounted as a network share instead of just the /shared sub-directory.
Solution
Inspect the current NFS mount for the shared home. You can use the df -T command for that end. If the entire Crowd Local Home is being shared, proceed as follows:
- Stop Crowd on all nodes
- Unmount the shared folder
- Remount again on <Crowd-Home>/shared only
- Inspect the contents of each directory and move them if needed
- Restart Crowd
Here is a reference of what should be present on each directory before restarting:
Crowd local home (this should not be shared between nodes):
analytics-logs/ bundled-plugins/ caches/ logs/ shared/
Shared home (NFS mount accessible by all nodes):
backups/ crowd.cfg.xml keys/ plugins/
More details on how to install Crowd DC can be found here: