We have a servoy solution hosted in a windows server 2008 RT datacenter. Everything was working fine till the server installed the latest updates about a fortnight ago.
Problems :
Opened the solution and everything working as fine on the Login page. After login when I try to execute any methods that involves a tab change, solutions hangs. The “loading…” appears for some fraction of seconds and goes away with no effects in UI. It seems to be freezing on the first page itself.
This happens only in Internet explorer 9/10/11 only not in Chrome, Firefox.
The same solutions is loading up correctly from the staging server where we still have the old windows update(Same server configuration). Is something in this latest update responsible for this behavior.
Update version on IE with the problematic Server: http://support.microsoft.com/kb/2977629 (This update is installed with the latest update of windows not from browser update, as I have checked in another machine with IE 9 with same update. Here problem happens only in IE).
Please help me on this. I am getting no logs to trace any errors. Is there any place where I can look to get what exactly is happening here? Or something is happening in servoy with the updates?
Windows Update on the server breaks the client on Internet explorer only. It do not depend upon what version or updates client has in their system where they are accessing the solution.
It breaks only in IE…but works fine in chrome and firefox.
Along with this I am attaching a screen shot of an error I am getting on IE console, but I have no idea from where is coming from as there is no link to any file.
All internal servoy functionality is working fine, like record creation etc, but just it is not getting reflected on the screen. Once I refresh the page it is getting reflected.
Is IE is that much strict with parsing HTML/XML tags in comparison to other browsers ? Nothing has been updated in server with respect to servoy. It started to happen suddenly. Only difference we noticed is windows update.
for me it is very weird that nothing changed on the client side and then the client suddenly starts failing because of a server IE update? (IE on the server doesn’t have anything todo with the java server process)
I guess there must be some other change (server or client) that is causing that error (that one could be the problem why you don’t see anything)
I am looking into other aspects as well. But could not able to trace out, as you can see in the console, it is not point to any file just giving line and column number.
I completely agree with you that, something had happened which started breaking of the clients.
client suddenly starts failing because of a server IE update? (IE on the server doesn’t have anything todo with the java server process)
It is the server’s windows update, not IE update on the server. And servoy web client breaks irrespective of any version of IE on client side. So it has to do something with the server only. I am not sure what it might be, because the web client running from the same server on other browsers works just fine but not in IE.
Even the same servoy solution hosted on a different instance of windows(WITHOUT the latest windows updates) works fine in all browsers including IE.
I debugged through each line of code in IE to see where exactly it is breaking…
Cursor is moving into a function “stateChangeCallback” in wicket-ajax.js then towards the end of this function in goes through the “t.abort(); this.transport = null;” and then it executes a eval code and shows up the error on console.
what is the difference that you now get in the traffic (wireshark for example) between a server that does work with IE and a server that doesn’t work?
for exactly the same page/data
After some investigation with the IE debugging tools and with Johan’s suggestion I got something with is creating the problem in my case.
Explanation :
Reason for the issue:
First of all, the issue I am getting on IE’s console “XML5608: Expected semicolon”, usually appears when we try to load an XML file onto IE with “&”. To load “&” into the browser it must be escaped as “&”. Other browsers are bit forgiving to this and renders it without reporting any error.
Reason of why I am getting this issue:
In our solution, we are adding an external CSS file. It has been kept in a folder (say CSS) inside media directory and loading it into browser onSolutionOpen of the login module using web client utils plugin. So this makes CSS file available to browser.
On every request, servoy response with an XML file with reference to all the files required. XML response coming from the server with latest updates do NOT have “&” escaped where as the server without the latest windows updates has the “&” escaped as &.(Please see the screenshots of responses from the server with the latest windows updates and with old updates to figure out the difference).
[See line number 3 of both images just before “id=js/” to mark out the difference how the & is rendered.]
Both the server hosting the same solutions and the has been working fine with the CSS files added from media. I suppose, we have not done anything that would modify the response from server. Please correct me if I am wrong here.
Hope I made my explanation clear enough to get any suggestion.
To fix this, I have moved the CSS file to ROOT folder and pass the reference URL from there using the web client utils plugin.
Question : Is it okay to refer/add CSS or JS files from media folder or the second approach from ROOT folder is good?
i still can’t understand if that is the exact same servoy and tomcat version that is running on the server
where that none escaping difference comes from. because that is handles inside java code mostly even also in wicket code (the base lib that we use)
So how can that be suddenly different? Is there not something in the middle? Like a proxy or IIS that does suddenly some conversion?
Yes Johan,
That is the same server and the same tomcat that has been running in the server. Nothing has been done on the server side. Only the windows updates installed (configured to be done automatically).
I am also not sure why suddenly this has happened.
To see that, we do not have the problem in our server only, I just imported a test solution (attached) in my colleague’s server and we have the same problem(servoy 7.4.1 and he also has the latest window’s update installed).
To reproduce :
Please upload the attached solution in some test server on windows machine which has the latest updates (esp after September 9th). Open the solution in Internet explorer and try to navigate the between the tabs. Hopefully you will get to see the problem. [Make sure to add the web client plugin in the test server as I am using it to add the external CSS file from media.]
Johan, do you want me to see into any specific area which might be causing this escaping difference that might help us ?