V6: Out of sync, WARNING: Warning: Ignoring variable change for non-existen

In vaadin 6, if you create new second window and then add a new subwindow to that window showing progress indicator, then if you remove that subwindow in a new thread via:

     synchronized (application){
         parent.removeWindow(w);
     }

it will show WARNING: Warning: Ignoring variable change for non-existent component, VAR_PID=PID81
and Out-of-sync error on the clientside. This never happens in the initially opened window, only if you open another main window.

also, I don’t think it’s even related to being run in a different thread. I have a special queue that runs after each processed request from user (NextConnectionQueue) and even then, if I enqueue such action there, it will still show out of sync error.

okay, after fiddling, it is trying to update window that was removed with this UIDL:

[[759, PID259, positionx, i] , [422, PID259, positiony, i] ] but that window was already removed

unfortunatelly, the only fix was to use my own patching library that uses javassist, to modify AbstractCommunicationManager.handleVariableBurst to always return true even if it fails