ClientSide Exception in Firefox 43.0.4 and IE10

Hi.

My UI was working all the time, but if I upgrade Vaadin from 7.5.8 to 7.5.9 I get the following client side exception:

Error processing layoutsjava.util.ConcurrentModificationException at Unknown.$fillInStackTrace(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.RuntimeException(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.ConcurrentModificationException(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.checkStructuralChange(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.next_5(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.$next_4(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.$doLayout(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.$layoutNow(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.$execute_0(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.$handleUIDLMessage(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.$handleJSONText(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.onResponseReceived(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.$fireOnResponseReceived(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.onReadyStateChange(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.onreadystatechange<(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.apply_0(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.entry0(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.entry_0/<(com.myapp.widgetset.MyAppWidgetset-0.js) at Unknown.anonymous(Unknown) This exception does not occur in Chrome 47.0.2526.106
This exception occures in IE10 as well.

Exception also occurs in Vaadin 7.6

Widgetset:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
    <inherits name="com.vaadin.DefaultWidgetSet" />
    
    <set-configuration-property name="devModeRedirectEnabled"
    value="true" />
    
    <!--
     Uncomment the following to compile the widgetset for one browser only.
     This can reduce the GWT compilation time significantly when debugging.
     The line should be commented out before deployment to production
     environments.
      
     Multiple browsers can be specified for GWT 1.7 as a comma separated
     list. The supported user agents at the moment of writing were:
     ie6,ie8,gecko,gecko1_8,safari,opera
     
     The value gecko1_8 is used for Firefox 3 and later and safari is used for
     webkit based browsers including Google Chrome.
    -->
    <!-- <set-property name="user.agent" value="gecko1_8"/> -->
    
    <!--
     To enable SuperDevMode, uncomment this line.
     
     SuperDevMode enables debugging of the client side of a Vaadin
     application using the JavaScript debugger of a browser. Java code is
     shown and debugging can take place on the Java level when using a browser
     that support source maps (currently Chrome, implementation under work
     for Firefox).
     
     After uncommenting this property, compile the widgetset once and then
     start the SuperDevMode server process in parallel with your normal
     server. Then add the command line parameter ?superdevmode to your
     application URL. Vaadin Eclipse plug-in can create a launch for the
     SuperDevMode server (Project Properties... -> Vaadin).
     
     See https://vaadin.com/wiki/-/wiki/Main/Using%20SuperDevMode for more
     information and instructions.
    -->
    <!-- <set-configuration-property name="devModeRedirectEnabled" value="true" /> -->

    <!--inherits name="org.vaadin.jonatan.contexthelp.widgetset.ContexthelpWidgetset" /-->

    <inherits name="com.wcs.wcslib.vaadin.widget.multifileupload.MultiFileUploadWidgetSet" />

    <inherits name="org.vaadin.teemu.webcam.WidgetSet" />

    <inherits name="com.vaadin.addon.charts.Widgetset" />

    <inherits name="com.vaadin.addon.timeline.gwt.TimelineWidgetSet" />

    <inherits name="org.vaadin.tinymceeditor.widgetset.TinymceeditorWidgetset" />

    <generate-with class="com.myapp.OptimizedConnectorBundleLoaderFactory">
          <when-type-assignable class="com.vaadin.client.metadata.ConnectorBundleLoader" />
    </generate-with>
    

    <inherits name="com.github.wolfie.popupextension.PopupextensionWidgetset" />

    <inherits name="fi.jasoft.dragdroplayouts.DragDropLayoutsWidgetSet" />

    <inherits name="org.vaadin.openesignforms.ckeditor.widgetset.VaadinCKEditorWidgetset" />
</module>

The page where it occures I put together some VerticalLayouts, Panels HorizontalLayouts with Tables and Buttons.

Does anyone has an idea how to solve that?

Thanks in advance,
Christoph

Either it’s a bug in the layout manager or it’s a problem with some component you are using. Can you create a UI which reproduces the problem? Another possibility would be to try and remove one component at a time and see which one triggers the problem.

Hi. Thanks for your answer.

I drilled it down to a CssLayout. If I remove it. the layout works as exopected in all browsers.

// CssLayout cssLayout = new CssLayout(); // cssLayout.setWidth(2, Unit.PIXELS); // cssLayout.setHeight(100, Unit.PERCENTAGE); // addressLayout.addComponent(cssLayout); This layout displays a border.

But unfortunatly I’m not able to reproduce it in a new vaadin UI.