Push problems in IE11


We’re currently upgrading from Vaadin 7.3 to 7.4 and in the process removing

org.atmosphere.container.BlockingIOCometSupport in favor of

org.atmosphere.container.Servlet30CometSupport While still using

@Push(transport = Transport.LONG_POLLING)

This seems to be working splendidly in Chrome, but in IE11 we sometimes see that the application becomes unresponsive until a manual refresh is performed. In this state all GUI components seems to be working, but there is no server communication happening. Immediately preceeding the unresponsive state, we can see this sequence of events in the debug message log:

26265msVariable burst to be sent to server:
26266ms   500 (class com.vaadin.client.ui.table.TableConnector) :
26267ms      v.v(firstvisible : 0)
26267ms   107 (class com.vaadin.client.ui.tabsheet.TabsheetConnector) :
26268ms      com.vaadin.shared.ui.tabsheet.TabsheetServerRpc.setSelected([10]
26268msMaking UIDL Request with params: {"csrfToken":"e8b45798-43b0-4a01-b59f-e096a7408d75","rpc":[["500","v","v",["firstvisible",["i","0"]
26269msSending push message: {"csrfToken":"e8b45798-43b0-4a01-b59f-e096a7408d75","rpc":[["500","v","v",["firstvisible",["i","0"]
26310msStarting layout phase
26328msMeasured 10 non connector elements
26346msPass 1 measured 4 elements, fired 0 listeners and did 0 layouts.
26347msNo more changes in pass 2
26348msTotal layout phase time: 36ms
26349msReceived push message: for(;;);[{"syncId": 7, "changes" : []
, "state":{}, "types":{}, "hierarchy":{}, "rpc" : [], "meta" : {}, "resources" : {}, "timings":[4606, 0]
26350msJSON parsing took 0ms
26350msHandling message from server
26351ms * Handling resources from server
26352ms * Handling type inheritance map from server
26352msHandling type mappings from server
26353msHandling resource dependencies
26353ms * Handling meta information
26354ms * Creating connectors (if needed)
26354ms * Updating connector states
26354ms * Handling locales
26355ms * Updating connector hierarchy
26355ms * Running @DelegateToWidget
26356ms * Sending state change events
26356ms * Passing UIDL to Vaadin 6 style connectors
26357ms * Performing server to client RPC calls
26358ms* Unregistered 0 connectors
26358mshandleUIDLMessage: 4 ms
26358ms * Dumping state changes to the console
26359msUIDL: undefined
26360ms Processing time was 10ms for 133 characters of JSON
26361msReferenced paintables: 190

It seems like the “empty” push-message is causing the problem, as previous interactions with the page result in messages looking like this:

Received push message: for(;;);[{"syncId": 6, "changes" : [["change",{"pid":"500"},["112",{"id":"500","selectmode":"none","cols":12,"rows":1,"firstrow":0,"totalrows":1,"pagelength":1,"colheaders":true,"colfooters":false,"vcolorder":["1","2","3","4","5","6","7","8","9","10","11","12"]

Any idea what could be causing the “empty” push and why we’re only seeing it in IE?