NumberFormatException on Table selection with IE10 and Win8

Hi,

we’re getting a
java.lang.NumberFormatException: For input string: “14.545455932617187”
when a user selects a row in a table. This error occurs only on Windows 8 with IE 10. IE 10 on Windows 7 works flawlessly. It seems, that the mouse coordinates are passed in as double values instead of integers.

Currently, our application is unusable for IE 10 users on Win 8. The app is Vaadin 6.8.10 based and runs on Tomcat 7.0.39.

Is there something I can change in Windows 8 to avoid the errors? Any help is much appreciated.

Andreas

Here is the stack trace:


ERROR 2013-04-18 14:22:32,608 Application     - Terminal error:
java.lang.NumberFormatException: For input string: "14.545455932617187"
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at java.lang.Integer.parseInt(Integer.java:492)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at java.lang.Integer.parseInt(Integer.java:527)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at com.vaadin.terminal.gwt.client.MouseEventDetails.deSerialize(MouseEventDetails.java:124)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at com.vaadin.ui.Button.changeVariables(Button.java:223)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
	at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.changeVariables(AbstractCommunicationManager.java:1460)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariableBurst(AbstractCommunicationManager.java:1404)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.handleVariables(AbstractCommunicationManager.java:1329)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
	at com.vaadin.terminal.gwt.server.AbstractCommunicationManager.doHandleUidlRequest(AbstractCommunicationManager.java:761)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at com.vaadin.terminal.gwt.server.CommunicationManager.handleUidlRequest(CommunicationManager.java:325)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
	at com.vaadin.terminal.gwt.server.AbstractApplicationServlet.service(AbstractApplicationServlet.java:501)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at org.vaadin.artur.icepush.ICEPushServlet.service(ICEPushServlet.java:72)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at de.firma.produkt.web.servlet.OurServlet.service(OurServlet.java:111)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
	at java.lang.Thread.run(Thread.java:722)

	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:722)

I think this bug is related to these tickets:
9115
and
10160
. But since these tickets are closed, I ask myself if they can be re-opened? Shall I do this?

It would be nice if someone from the Vaadin team could give a short answer.

Andreas

I filed a new Ticket
here

Currently Vaadin 6.8.x and 7.0.x only supports IE10 in IE9 compatibility mode. Native IE10 support will arrive in Vaadin 7.1.

Vaadin 6 should automatically fall back to IE9 compatibility mode, it is probably doing that for you in Win7 but not in Win8. Could you check if that is the case? If so, then it is a bug.

Hi John,

I’m not sure if I understood you completely: will Vaadin 6.8.x change the browser mode of IE10 when I run my application?

This is not the case. When I start IE10 on Windows 7 and the browser mode is IE10 and the document mode is Standards and I run my application, the settings will not change at all.

Otherwise please explain, and I’ll be glad to test your suggestions.

Best regards

Andreas

Yes, Vaadin 6.8 and 7.0 should change the document mode to IE9 when you run the application in IE10.

However, if you are using a portal such as Liferay it won’t work since the portal defines it’s own document mode. In that case you will need to change the document mode portal wide. The portals documentation probably will tell you how to do this.

Hi John,

we don’t use a portal, it’s a simple Vaadin aaplication. When I open the application with IE10 on Win7, the document mode shown in the developer window (via F12) is listed as
Standards
and the browser mode is
IE10
.
When I open my application in IE10 on Win8, the document mode is
IE7 Standards
and the browser mode is
IE10 Compatibility mode
.

Why is the behaviour different on Win7 and Win8? Is there anything I can do to change that?

Best regards

Andreas

Hi John,

can you confirm the behaviour of IE10 on Win8?

Best regards

Andreas

Push.

Can somebody confirm the behaviour of IE10 on Win8?

Best regards

Andreas

Tried to open a Vaadin 6.8.10 application in win8 + IE10, and it opens it in IE10 browser mode with IE9 standards document mode by default which is correct. Maybe you have previously changed it and IE10 remembers your settings from before?

Regarding the above NumberFormatExceptions, Vaadin 6.8.11 will contain a fix (see
#11641
) which should fix these particular NumberFormatExceptions. Nevertheless, Vaadin 6.8.x will still currently only be officially supported on IE10 in IE9 standards mode for now.

Thanks for the fix in 6.8.11.

Actually, I have no clue what I should do to influence the mode/documents settings of IE10. The only thing I know of is the compatibility mode and the corresponding list of intranet sites.

I’ll wait for 6.8.11 and if it doesn’t solve the problem I’ll report back. I hope this is my last post in this thread…