2

My client has the following topology:

User <--> Apache <--> TomCat <--> JBossAS7 <--> Mule

The Mule needs to communicate with another server, on another domain, to retrieve information ask by the user. This communication uses HTTPS, and the certificate is in the trustore of the Mule. Therefore, the Mule and the other server are able to create an SSL connection.

This is the ajax request used to perform what the user wants:

$.ajax({
url : DS.nav.importDS,
data : data,
type : "GET",
cache : false,
success : function(html)
{
   //do some stuff
},
error:function (error)
{
    //do some stuff
}});

(jquery version: 1.7.1)

About the Response Headers:

  • Cache-Control: max-age=0, no-cache, no-store, must-revalidate
  • Cache-Control: no-cache
  • Connection: Keep-Alive
  • Content-Type: text/html;charset=UTF-8
  • Keep-Alive: timeout=5, max=100

This GET request returns an HTML content.

My problem is the following:

This request stop working without warning. On Chrome (version used: 65.0.3325.162), after several minutes I have the following error message in the console: "ERR_INCOMPLETE_CHUNKED_ENCODING.". There is no link with a real time protection antivirus.

On Edge, "XMLHttpRequest: Network Error 0x800c0007, No data is available for the requested resource".

BUT, it's working on IE. What I suppose is that IE is more permissive than Chrome or Edge. But I want to understand why.

I am not looking for the perfect answer, but for any idea which can put me on the trail on what's happening.

EDIT

On Chrome - Status Code: 200 OK - Timing: CAUTION: request is not finished yet! (after content download)

EDIT By using chrome://net-export tool, this is the result of the HTTP request:

t=203357 [st=  2948]        HTTP_TRANSACTION_READ_RESPONSE_HEADERS
                        --> HTTP/1.1 200 OK
                            Date: Fri, 23 Mar 2018 14:44:16 GMT
                            Server: Apache-Coyote/1.1
                            X-Frame-Options: SAMEORIGIN
                            Cache-Control: max-age=0, no-cache, no-store, must-revalidate
                            Pragma: no-cache
                            Expires: Sat, 26 Jul 1997 05:00:00 GMT
                            X-Frame-Options: SAMEORIGIN
                            X-UA-Compatible: IE=9,chrome=1
                            Content-Type: text/html;charset=UTF-8
                            Content-Language: en
                            Keep-Alive: timeout=5, max=98
                            Connection: Keep-Alive
                            Cache-Control: no-cache
                            X-Via-NSCOPI: 1.0
                            Transfer-Encoding: chunked
t=203357 [st=  2948]     -HTTP_TRANSACTION_READ_HEADERS
t=203357 [st=  2948]      HTTP_CACHE_WRITE_INFO  [dt=0]
t=203357 [st=  2948]     +URL_REQUEST_DELEGATE  [dt=4]
t=203358 [st=  2949]        DELEGATE_INFO  [dt=3]
                        --> delegate_blocked_by = "extension ModHeader"
t=203361 [st=  2952]     -URL_REQUEST_DELEGATE
t=203361 [st=  2952]   -URL_REQUEST_START_JOB
t=203361 [st=  2952]    URL_REQUEST_DELEGATE  [dt=1]
t=203362 [st=  2953]    HTTP_TRANSACTION_READ_BODY  [dt=0]
t=203362 [st=  2953]    URL_REQUEST_JOB_FILTERED_BYTES_READ
                    --> byte_count = 12971
t=203363 [st=  2954]    HTTP_TRANSACTION_READ_BODY  [dt=313130]
                    --> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)
t=516493 [st=316084]    FAILED
                    --> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)
t=516495 [st=316086] -REQUEST_ALIVE
                  --> net_error = -355 (ERR_INCOMPLETE_CHUNKED_ENCODING)

UPDATE

I've disabled javascript, and type my request directly in the URL and the result has been displayed but the page is still loading during 5 minutes.

Fabien
  • 51
  • 1
  • 9
  • no clues in one of the 4+ logs you should have? – Mesh Mar 23 '18 at 14:43
  • In the different servers no error logs are present (and the request result by an HTTP 200 OK...) – Fabien Mar 23 '18 at 15:04
  • Maybe some timeout is expiring, have a look at this answer on a similar question https://stackoverflow.com/a/43694816/15710 – Mesh Mar 26 '18 at 08:08

2 Answers2

3

SOLVED

Error was due to the vanilla JavaScript version of the Lazy Load plugin (1.9.3) https://appelsiini.net/projects/lazyload/

Last Chrome version, last IE version, and last Firefox version do not support it.

I have stop using this plugin, but I suppose last version can be used in the different version of Chrome, IE, and Firefox.

Fabien
  • 51
  • 1
  • 9
0

The reason could be due to your anti-virus.Test this scenarios

  1. Please turn off Anti virus (Avast/Kaspersky) and test.
  2. Check if it could be a Chrome version Issue.As far as I can tell it is an issue of these versions being massively sensitive to the content length of the chunk being sent and the expressed size of that chunk (I could be far off on that one). In short a slightly imperfect headers issue.
  3. It Could be caused by the owner and permissions in Linux environment
Kamal Vamsi
  • 128
  • 4
  • It's not due to my antivirus. I tried to set the Content Length in header, unfortunately (or fortunately?), we cannot do that. I'm still investigating on this. About the owner and permissions, I will make a request to my client, but I don't understand how the request can work on IE and Firefox if it is caused by that. – Fabien Mar 23 '18 at 10:53