ERR_INCOMPLETE_CHUNKED_ENCODING error on some actions in JIRA (or any other application)
Symptoms
After a change on the Server (patches applied or anti-virus installed etc) it appears that some HTTP requests for Javascript are not completed.
It might not happen for all users but for a subset of users in a particular network.
The following may appear in the browser console log
:
<base url>/s/8d22832bb76f0e8ac7bc438bef9b6218-CDN/-icxih9/820010/s3qldw/49fa3aa3d35a2cc689cbf274e66cc41a/_/download/contextbatch/js/_super/batch.js?locale=en-US net::ERR_INCOMPLETE_CHUNKED_ENCODING 200
The error net::ERR_INCOMPLETE_CHUNKED_ENCODING
means the browser is not receiving back a complete communication.
Diagnosis
If the instance is accessed directly on the server using http://: the issue may be less frequent (as Jira still uses Base URL for some internal requests).
If the instance uses a load balancer/reverse proxy, the issue may be more frequent.
There are no errors in the application or Tomcat logs related to this behavior.
Cause
This problem has been observed when Jira is running behind a load balancer(for DC multiple nodes) or a reverse proxy.
Resolution
It is necessary to work with different teams like network, security, and operating system to isolate the issue and check all resources between the JIRA server and end users.
Some initial checks to perform :
- Browser Cookies: First thing to try on the client side is to clear site data for Jira along w/ cookies as it may cause this behavior.
- Browser add-ons: They may affect browser requests(in this case try reproducing the issue in the browser incognito window or different browsers)
- Anti-virus: Can be installed on Jira nodes and/or load balancer/reverse proxy;
- Firewall: Configurations may exist between Jira nodes(or installed on nodes) and load balancer/reverse proxy
- Load-Balancer/Reverse Proxy configuration: There may be additional forward rules affecting communication with Jira nodes.
Additional Information
This issue has been observed when running Jira behind NGINX.
If you use Nginx for TLS proxying, check the NGINX error logs, but mainly 2 issues were observed:
1- Check the if the user running the NGINX service is the owner and has permissions /var/lib/nginx path.
This command might be useful:
chown -R <user-owner>:<group-owner> /var/lib/nginx
2- Check if the /var volume is not full on NGINX server.
It may prevent NGINX to write temporary information affecting browser requests.