Xpra: Ticket #994: window size and repaint issue on osx

With the following versions -

Client --- MacOSX 10.6.8 --- 0.16.0 r10655 Server --- Fedora 21 --- 0.16.0 r10673

Once I hit print on any webpage/attachments/screens, there is a duplicate window of the browser(smaller in size) that overlaps on the original window itself. Here's a screenshot of it:

Browser: I used Chromium, but irrespective of it, it behaves the same way.

I launched xpra with -d printing,window and here are the logs:

Client Logs:

2015-10-08 13:31:00,541 process_new_common: [5, 0, 0, 622, 474, {'size-constraints': {'minimum-size': (622, 474), 'gravity': 1}, 'client-machine': 'Fedora21-Server-289', 'pid': 23404, 'group-leader-xid': 12582913, 'sticky': False, 'fullscreen': False, 'xid': '0xc0002b', 'title': 'Print', 'icon-title': 'Print', 'above': False, 'maximized': False, 'transient-for': 2, 'class-instance': ('chromium-browser', 'Chromium-browser'), 'skip-pager': False, 'decorations': True, 'strut': {}, 'window-type': ('DIALOG',), 'skip-taskbar': False, 'bypass-compositor': 0, 'below': False, 'command': '', 'shaded': False}], metadata={'size-constraints': {'minimum-size': (622, 474), 'gravity': 1}, 'decorations': True, 'client-machine': 'Fedora21-Server-289', 'pid': 23404, 'group-leader-xid': 12582913, 'sticky': False, 'window-type': ('DIALOG',), 'skip-taskbar': False, 'strut': {}, 'bypass-compositor': 0, 'fullscreen': False, 'xid': '0xc0002b', 'title': 'Print', 'icon-title': 'Print', 'below': False, 'command': '', 'above': False, 'maximized': False, 'transient-for': 2, 'class-instance': ('chromium-browser', 'Chromium-browser'), 'shaded': False, 'skip-pager': False}, OR=False
2015-10-08 13:31:00,541 make_new_window(..) client_window_classes=[<class 'xpra.client.gl.gtk2.gl_client_window.GLClientWindow'>, <class 'xpra.client.gtk2.border_client_window.BorderClientWindow'>], group_leader_window=<gtk.gdk.Window object at 0x151a8fd0 (GdkWindow at 0x280abb0)>
2015-10-08 13:31:00,541 GLClientWindow(..)
2015-10-08 13:31:00,542 <class 'xpra.client.gl.gtk2.gl_client_window.GLClientWindow'>(gtk2.client, <gtk.gdk.Window object at 0x151a8fd0 (GdkWindow at 0x280abb0)>, 5, 0, 0, 622, 474, 622, 474, {'size-constraints': {'minimum-size': (622, 474), 'gravity': 1}, 'decorations': True, 'client-machine': 'Fedora21-Server-289', 'pid': 23404, 'group-leader-xid': 12582913, 'sticky': False, 'window-type': ('DIALOG',), 'skip-taskbar': False, 'strut': {}, 'bypass-compositor': 0, 'fullscreen': False, 'xid': '0xc0002b', 'title': 'Print', 'icon-title': 'Print', 'below': False, 'command': '', 'above': False, 'maximized': False, 'transient-for': 2, 'class-instance': ('chromium-browser', 'Chromium-browser'), 'shaded': False, 'skip-pager': False}, False, {}, (0, 0))
2015-10-08 13:31:00,542 init_max_window_size(..) max-window-size changed from (0, 0) to (4096, 4096), because of max viewport dims (8192, 8192) and max backing dims (4096, 4096)
2015-10-08 13:31:00,542 setup_window(622, 474) screen=-1, nscreens=1
2015-10-08 13:31:00,542 new_backing(622, 474) backing_class=<class 'xpra.client.gl.gtk2.gl_window_backing.GLPixmapBacking'>
2015-10-08 13:31:00,543 make_new_backing(<class 'xpra.client.gl.gtk2.gl_window_backing.GLPixmapBacking'>, 622, 474, 622, 474) effective backing class=<class 'xpra.client.gl.gtk2.gl_window_backing.GLPixmapBacking'>, server alpha=False, window alpha=False
2015-10-08 13:31:00,543 GLClientWindow(5 : gtk2.GLWindowBacking(5, (622, 474), None)).apply_transient_for(2) window=GLClientWindow(2 : gtk2.GLWindowBacking(2, (720, 460), YUV444P))
2015-10-08 13:31:00,543 set_window_type(['DIALOG']) hints=1
2015-10-08 13:31:00,563 GL do_configure_event(<gtk.gdk.Event at 0x16bc3788: GDK_CONFIGURE x=0, y=44, width=622, height=474>)
2015-10-08 13:31:00,564 GLClientWindow(5 : gtk2.GLWindowBacking(5, (622, 474), None)).do_map_event(<gtk.gdk.Event at 0x16bc3788: GDK_MAP>) OR=False

Server Logs:

2015-10-08 13:31:00,128 Property changed on 0xe00001: _NET_WM_USER_TIME
2015-10-08 13:31:00,404 do_child_configure_request_event(<X11:ConfigureRequest {'delivered_to': '0x16d', 'send_event': 0, 'type': 23, 'detail': 0, 'height': 474, 'width': 622, 'window': '0xc0002b', 'above': 0L, 'y': 0, 'x': 0, 'serial': '0x2286', 'border_width': 0, 'value_mask': 15L, 'display': ':13'}>) value_mask=X|Y|Width|Height, reconfigure on withdrawn window
2015-10-08 13:31:00,404 current geometry(0xc0002b)=(0, 0, 586, 474, 0, 24)
2015-10-08 13:31:00,438 do_xpra_client_message_event(<X11:ClientMessage {'delivered_to': '0xc0002b', 'send_event': 1, 'format': 32, 'data': (0, 303, 0, 0, 0), 'window': '0xc0002b', 'type': 33, 'serial': '0x2291', 'message_type': '_NET_WM_STATE', 'display': ':13'}>)
2015-10-08 13:31:00,439 do_child_configure_request_event(<X11:ConfigureRequest {'delivered_to': '0x16d', 'send_event': 0, 'type': 23, 'detail': 0, 'height': 474, 'width': 622, 'window': '0xc0002b', 'above': 0L, 'y': 0, 'x': 0, 'serial': '0x2291', 'border_width': 0, 'value_mask': 64L, 'display': ':13'}>) value_mask=StackMode, reconfigure on withdrawn window
2015-10-08 13:31:00,439 current geometry(0xc0002b)=(0, 0, 622, 474, 0, 24)
2015-10-08 13:31:00,440 Found a potential client
2015-10-08 13:31:00,440 new window 0xc0002b
2015-10-08 13:31:00,441 read_initial_X11_properties() window
2015-10-08 13:31:00,441 Window.read_initial_X11_properties()
2015-10-08 13:31:00,442 read _NET_WM_STATE=['_NET_WM_STATE_MODAL']
2015-10-08 13:31:00,442 updateprop(state, frozenset(['_NET_WM_STATE_MODAL'])) previous value=None
2015-10-08 13:31:00,442 not sending notify(state) (setup done=False, managed=False)
2015-10-08 13:31:00,442 read_initial_X11_properties() core
2015-10-08 13:31:00,442 initial X11 properties: xid=0xc0002b, has-alpha=False
2015-10-08 13:31:00,443 updateprop(xid, 12582955) previous value=None
2015-10-08 13:31:00,443 not sending notify(xid) (setup done=False, managed=False)
2015-10-08 13:31:00,443 updateprop(has-alpha, False) previous value=None
2015-10-08 13:31:00,443 not sending notify(has-alpha) (setup done=False, managed=False)
2015-10-08 13:31:00,443 updateprop(allowed-actions, ['_NET_WM_ACTION_CLOSE', '_NET_WM_ACTION_MOVE', '_NET_WM_ACTION_RESIZE', '_NET_WM_ACTION_FULLSCREEN', '_NET_WM_ACTION_MINIMIZE', '_NET_WM_ACTION_SHADE', '_NET_WM_ACTION_STICK', '_NET_WM_ACTION_MAXIMIZE_HORZ', '_NET_WM_ACTION_MAXIMIZE_VERT', '_NET_WM_ACTION_CHANGE_DESKTOP', '_NET_WM_ACTION_ABOVE', '_NET_WM_ACTION_BELOW']) previous value=None
2015-10-08 13:31:00,443 not sending notify(allowed-actions) (setup done=False, managed=False)
2015-10-08 13:31:00,444 displayHasXShape()=True
2015-10-08 13:31:00,444 read_shape for window 0xc0002b: none enabled
2015-10-08 13:31:00,444 updateprop(shape, {}) previous value=None
2015-10-08 13:31:00,444 not sending notify(shape) (setup done=False, managed=False)
2015-10-08 13:31:00,445 initial X11_properties: querying ['_NET_WM_PID', 'WM_CLIENT_MACHINE', 'WM_NAME', '_NET_WM_NAME', 'WM_PROTOCOLS', 'WM_CLASS', 'WM_WINDOW_ROLE', 'WM_TRANSIENT_FOR', '_NET_WM_WINDOW_TYPE', '_NET_WM_DESKTOP', '_NET_WM_FULLSCREEN_MONITORS', '_NET_WM_BYPASS_COMPOSITOR', '_NET_WM_STRUT', '_NET_WM_STRUT_PARTIAL', '_NET_WM_WINDOW_OPACITY', 'WM_HINTS', 'WM_HINTS', 'WM_NORMAL_HINTS', '_MOTIF_WM_HINTS', 'WM_ICON_NAME', '_NET_WM_ICON_NAME', '_NET_WM_ICON', '_NET_WM_STRUT', '_NET_WM_STRUT_PARTIAL']
2015-10-08 13:31:00,445 _NET_WM_PID=23404
2015-10-08 13:31:00,445 updateprop(pid, 23404) previous value=None
2015-10-08 13:31:00,445 not sending notify(pid) (setup done=False, managed=False)
2015-10-08 13:31:00,446 WM_CLIENT_MACHINE=Fedora21-Server-289
2015-10-08 13:31:00,446 updateprop(client-machine, Fedora21-Server-289) previous value=None
2015-10-08 13:31:00,446 not sending notify(client-machine) (setup done=False, managed=False)
2015-10-08 13:31:00,447 _NET_WM_NAME=Print
2015-10-08 13:31:00,447 updateprop(title, Print) previous value=None
2015-10-08 13:31:00,447 not sending notify(title) (setup done=False, managed=False)
2015-10-08 13:31:00,447 wm_name changed
2015-10-08 13:31:00,448 WM_PROTOCOLS=['WM_DELETE_WINDOW', 'WM_TAKE_FOCUS', '_NET_WM_PING', '_NET_WM_SYNC_REQUEST']
2015-10-08 13:31:00,448 updateprop(protocols, ['WM_DELETE_WINDOW', 'WM_TAKE_FOCUS', '_NET_WM_PING', '_NET_WM_SYNC_REQUEST']) previous value=None
2015-10-08 13:31:00,448 not sending notify(protocols) (setup done=False, managed=False)
2015-10-08 13:31:00,449 XGetClassHint(0xc0002b) classhints: chromium-browser, Chromium-browser
2015-10-08 13:31:00,449 WM_CLASS=('chromium-browser', 'Chromium-browser')
2015-10-08 13:31:00,449 updateprop(class-instance, ('chromium-browser', 'Chromium-browser')) previous value=None
2015-10-08 13:31:00,449 not sending notify(class-instance) (setup done=False, managed=False)
2015-10-08 13:31:00,450 WM_WINDOW_ROLE=None
2015-10-08 13:31:00,450 updateprop(role, None) previous value=None
2015-10-08 13:31:00,451 not sending notify(role) (setup done=False, managed=False)
2015-10-08 13:31:00,451 WM_TRANSIENT_FOR=<gtk.gdk.Window object at 0x7fbd3fafd550 (GdkWindow at 0x2f225a0)>
2015-10-08 13:31:00,452 updateprop(transient-for, <gtk.gdk.Window object at 0x7fbd3fafd550 (GdkWindow at 0x2f225a0)>) previous value=None
2015-10-08 13:31:00,453 not sending notify(transient-for) (setup done=False, managed=False)
2015-10-08 13:31:00,455 _NET_WM_WINDOW_TYPE=['_NET_WM_WINDOW_TYPE_DIALOG']
2015-10-08 13:31:00,456 updateprop(window-type, ['DIALOG']) previous value=None
2015-10-08 13:31:00,456 not sending notify(window-type) (setup done=False, managed=False)
2015-10-08 13:31:00,457 _NET_WM_DESKTOP=UNSET for window 0xc0002b
2015-10-08 13:31:00,458 updateprop(workspace, 65535) previous value=None
2015-10-08 13:31:00,458 not sending notify(workspace) (setup done=False, managed=False)
2015-10-08 13:31:00,461 _NET_WM_FULLSCREEN_MONITORS=None
2015-10-08 13:31:00,462 updateprop(fullscreen-monitors, None) previous value=None
2015-10-08 13:31:00,462 not sending notify(fullscreen-monitors) (setup done=False, managed=False)
2015-10-08 13:31:00,462 _NET_WM_BYPASS_COMPOSITOR=0
2015-10-08 13:31:00,462 updateprop(bypass-compositor, 0) previous value=None
2015-10-08 13:31:00,463 not sending notify(bypass-compositor) (setup done=False, managed=False)
2015-10-08 13:31:00,463 _NET_WM_STRUT_PARTIAL=None
2015-10-08 13:31:00,465 _NET_WM_STRUT=None
2015-10-08 13:31:00,465 updateprop(strut, None) previous value=None
2015-10-08 13:31:00,465 not sending notify(strut) (setup done=False, managed=False)
2015-10-08 13:31:00,465 _NET_WM_WINDOW_OPACITY=-1
2015-10-08 13:31:00,465 updateprop(opacity, -1) previous value=None
2015-10-08 13:31:00,466 not sending notify(opacity) (setup done=False, managed=False)
2015-10-08 13:31:00,466 updateprop(group-leader, (12582913L, None)) previous value=None
2015-10-08 13:31:00,466 not sending notify(group-leader) (setup done=False, managed=False)
2015-10-08 13:31:00,466 updateprop(attention-requested, False) previous value=None
2015-10-08 13:31:00,466 not sending notify(attention-requested) (setup done=False, managed=False)
2015-10-08 13:31:00,466 wm_hints.input = 1
2015-10-08 13:31:00,466 updateprop(can-focus, True) previous value=None
2015-10-08 13:31:00,466 not sending notify(can-focus) (setup done=False, managed=False)
2015-10-08 13:31:00,467 WM_NORMAL_HINTS={'min_size': (622, 474), 'win_gravity': 1}
2015-10-08 13:31:00,467 Missing property _MOTIF_WM_HINTS (motif-hints)
2015-10-08 13:31:00,467 _MOTIF_WM_HINTS=None
2015-10-08 13:31:00,467 _NET_WM_ICON_NAME=Print
2015-10-08 13:31:00,467 updateprop(icon-title, Print) previous value=None
2015-10-08 13:31:00,468 not sending notify(icon-title) (setup done=False, managed=False)
2015-10-08 13:31:00,468 _NET_WM_ICON changed on 0xc0002b, re-reading
2015-10-08 13:31:00,468 icon is now None
2015-10-08 13:31:00,468 CompositeHelper.__init__(0xc0002b, False, True)
2015-10-08 13:31:00,468 invalidating named pixmap
2015-10-08 13:31:00,469 CompositeHelper.setup() damage handle(0xc0002b)=0x400097
2015-10-08 13:31:00,469 displayHasXShape()=True
2015-10-08 13:31:00,469 setup_property_sync()
2015-10-08 13:31:00,471 sync_allowed_actions: setting _NET_WM_ALLOWED_ACTIONS=['_NET_WM_ACTION_CLOSE', '_NET_WM_ACTION_MOVE', '_NET_WM_ACTION_RESIZE', '_NET_WM_ACTION_FULLSCREEN', '_NET_WM_ACTION_MINIMIZE', '_NET_WM_ACTION_SHADE', '_NET_WM_ACTION_STICK', '_NET_WM_ACTION_MAXIMIZE_HORZ', '_NET_WM_ACTION_MAXIMIZE_VERT', '_NET_WM_ACTION_CHANGE_DESKTOP', '_NET_WM_ACTION_ABOVE', '_NET_WM_ACTION_BELOW'] on 0xc0002b
2015-10-08 13:31:00,472 sync_frame: frame(0xc0002b)=None
2015-10-08 13:31:00,473 sync_frame: setting _NET_FRAME_EXTENTS=[0, 0, 22, 0] on 0xc0002b
2015-10-08 13:31:00,473 sync_state: setting _NET_WM_STATE=frozenset(['_NET_WM_STATE_MODAL']) on 0xc0002b
2015-10-08 13:31:00,474 _handle_iconic_update: set_state(1)
2015-10-08 13:31:00,474 setup() corral_window=0x400098
2015-10-08 13:31:00,474 setup() adding to save set
2015-10-08 13:31:00,475 setup() reparenting
2015-10-08 13:31:00,475 setup() geometry
2015-10-08 13:31:00,475 setup() hints={'minimum-size': (622, 474), 'gravity': 1} size=622x474
2015-10-08 13:31:00,475 setup() resizing windows to 622x474
2015-10-08 13:31:00,476 adding window <WindowModel object at 0x7fbd1852bf50 (xpra+x11+gtk2+models+window+WindowModel at 0x305ce20)>
2015-10-08 13:31:00,476 add_new_window_common(<WindowModel object at 0x7fbd1852bf50 (xpra+x11+gtk2+models+window+WindowModel at 0x305ce20)>) watching for dynamic properties: ['title', 'command', 'shape', 'class-instance', 'protocols', 'size-hints', 'attention-requested', 'fullscreen', 'focused', 'maximized', 'above', 'below', 'shaded', 'skip-taskbar', 'skip-pager', 'sticky', 'icon-title', 'icon', 'decorations']
2015-10-08 13:31:00,477 Discovered new ordinary window: <WindowModel object at 0x7fbd1852bf50 (xpra+x11+gtk2+models+window+WindowModel at 0x305ce20)> (geometry=(0, 0, 622, 474))
2015-10-08 13:31:00,478 get_wm_state(fullscreen) state_names=('_NET_WM_STATE_FULLSCREEN',)
2015-10-08 13:31:00,478 get_wm_state(maximized) state_names=('_NET_WM_STATE_MAXIMIZED_VERT', '_NET_WM_STATE_MAXIMIZED_HORZ')
2015-10-08 13:31:00,478 get_wm_state(above) state_names=('_NET_WM_STATE_ABOVE',)
2015-10-08 13:31:00,478 get_wm_state(below) state_names=('_NET_WM_STATE_BELOW',)
2015-10-08 13:31:00,478 get_wm_state(shaded) state_names=('_NET_WM_STATE_SHADED',)
2015-10-08 13:31:00,479 get_wm_state(skip-taskbar) state_names=('_NET_WM_STATE_SKIP_TASKBAR',)
2015-10-08 13:31:00,479 get_wm_state(skip-pager) state_names=('_NET_WM_STATE_SKIP_PAGER',)
2015-10-08 13:31:00,479 get_wm_state(sticky) state_names=('_NET_WM_STATE_STICKY',)
2015-10-08 13:31:00,480 get_wm_state(fullscreen) state_names=('_NET_WM_STATE_FULLSCREEN',)
2015-10-08 13:31:00,481 update_encoding_selection(h264) encoding=h264, common encodings=['h264', 'vp9', 'vp8', 'png', 'png/P', 'png/L', 'webp', 'rgb', 'rgb24', 'rgb32', 'jpeg'], auto_refresh_encodings=['webp', 'jpeg', 'rgb24', 'png', 'rgb32']
2015-10-08 13:31:00,482 update_quality() suspended=False, mmap=None, encoding=h264
2015-10-08 13:31:00,482 update_quality() info={'backlog_factor': 100, 'min_quality': 30, 'latency_factor': 6878}, quality=99
2015-10-08 13:31:00,482 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 46, 'frame_delay': 0, 'mpixels': 0, 'low_limit': 1048576, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 0, 'decoding_latency.factor': 0, 'min_speed': 0, 'damage_latency.avg': 100, 'damage_latency.ref': 35}, speed=46
2015-10-08 13:31:00,482 update_encoding_options(False) want_alpha=False, lossless threshold: 84 / 20, small_as_rgb=5068, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(5 : (0, 0))>
2015-10-08 13:31:00,482 initial encoding for 5: h264
2015-10-08 13:31:00,483 get_default_window_icon() using ('chromium-browser', 'Chromium-browser')
2015-10-08 13:31:00,483 <gtk.IconTheme object at 0x7fbd1854a960 (GtkIconTheme at 0x3041080)>.lookup_icon(chromium-browser)=<GtkIconInfo at 0x3056f00>
2015-10-08 13:31:00,492 <GtkIconInfo at 0x3056f00>.load_icon()=<gtk.gdk.Pixbuf object at 0x7fbd1854aa00 (GdkPixbuf at 0x3056d80)>
2015-10-08 13:31:00,493 get_default_window_icon()=<cairo.ImageSurface object at 0x7fbd3df8a870>
2015-10-08 13:31:00,494 do_child_configure_request_event(<X11:ConfigureRequest {'delivered_to': '0x16d', 'send_event': 0, 'type': 23, 'detail': 0, 'height': 474, 'width': 622, 'window': '0xc0002b', 'above': 0L, 'y': 0, 'x': 0, 'serial': '0x2291', 'border_width': 0, 'value_mask': 64L, 'display': ':13'}>) value_mask=StackMode, should be handled by <WindowModel object at 0x7fbd1852bf50 (xpra+x11+gtk2+models+window+WindowModel at 0x305ce20)>
2015-10-08 13:31:00,495 Found a potential client
2015-10-08 13:31:00,496 do_xpra_client_message_event(<X11:ClientMessage {'delivered_to': '0xc0002b', 'send_event': 1, 'format': 32, 'data': (1, 2332089274L, 0, 0, 0), 'window': '0xc0002b', 'type': 33, 'serial': '0x22a5', 'message_type': '_NET_ACTIVE_WINDOW', 'display': ':13'}>)
2015-10-08 13:31:00,496 _NET_ACTIVE_WINDOW: <X11:ClientMessage {'delivered_to': '0xc0002b', 'send_event': 1, 'format': 32, 'data': (1, 2332089274L, 0, 0, 0), 'window': '0xc0002b', 'type': 33, 'serial': '0x22a5', 'message_type': '_NET_ACTIVE_WINDOW', 'display': ':13'}>
2015-10-08 13:31:00,497 raised window: <WindowModel object at 0x7fbd1852bf50 (xpra+x11+gtk2+models+window+WindowModel at 0x305ce20)> (<X11:ClientMessage {'delivered_to': '0xc0002b', 'send_event': 1, 'format': 32, 'data': (1, 2332089274L, 0, 0, 0), 'window': '0xc0002b', 'type': 33, 'serial': '0x22a5', 'message_type': '_NET_ACTIVE_WINDOW', 'display': ':13'}>) wid=5, current focus=2
2015-10-08 13:31:00,497 damage(<WindowModel object at 0x7fbd3fafd5a0 (xpra+x11+gtk2+models+window+WindowModel at 0x2f91520)>, 7, 100, 706, 92, {})
2015-10-08 13:31:00,498 damage(7, 100, 706, 92, {}) wid=2, scheduling batching expiry for sequence 418 in 3.0 ms
2015-10-08 13:31:00,498 damage(<WindowModel object at 0x7fbd3fafd5a0 (xpra+x11+gtk2+models+window+WindowModel at 0x2f91520)>, 7, 192, 706, 92, {})
2015-10-08 13:31:00,499 damage(7, 192, 706, 92, {}) wid=2, using existing delayed h264 regions created 0.0ms ago
2015-10-08 13:31:00,500 damage(<WindowModel object at 0x7fbd3fafd5a0 (xpra+x11+gtk2+models+window+WindowModel at 0x2f91520)>, 7, 284, 706, 92, {})
2015-10-08 13:31:00,501 damage(7, 284, 706, 92, {}) wid=2, using existing delayed h264 regions created 0.0ms ago
2015-10-08 13:31:00,501 damage(<WindowModel object at 0x7fbd3fafd5a0 (xpra+x11+gtk2+models+window+WindowModel at 0x2f91520)>, 7, 376, 706, 78, {})
2015-10-08 13:31:00,502 update_quality() suspended=False, mmap=None, encoding=h264
2015-10-08 13:31:00,502 damage(7, 376, 706, 78, {}) wid=2, using existing delayed h264 regions created 0.0ms ago
2015-10-08 13:31:00,502 update_quality() info={'backlog_factor': 100, 'latency_factor': 1192, 'min_quality': 30, 'batch_factor': 102}, quality=99
2015-10-08 13:31:00,503 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 0, 'frame_delay': 1, 'mpixels': 0, 'low_limit': 331200, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 36, 'decoding_latency.factor': 92, 'min_speed': 0, 'damage_latency.avg': 14, 'damage_latency.ref': 35}, speed=91
2015-10-08 13:31:00,504 update_encoding_options(False) want_alpha=False, lossless threshold: 93 / 20, small_as_rgb=166256, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(2 : (720, 460))>
2015-10-08 13:31:00,506 Property changed on 0xc0002b: _NET_WM_ALLOWED_ACTIONS
2015-10-08 13:31:00,506 send_delayed for wid 2, batch delay is 1, elapsed time is 8 ms
2015-10-08 13:31:00,507 send_delayed_regions: bytes_cost=254020, bytes_threshold=198720, pixel_count=249924
2015-10-08 13:31:00,507 send_delayed_regions: using full window update 720x460 with jpeg
2015-10-08 13:31:00,508 process_damage_regions: wid=2, adding pixel data to encode queue (720x460 - jpeg), elapsed time: 11.2 ms, request time: 1.4 ms
2015-10-08 13:31:00,509 make_data_packet: image=XShmImageWrapper(BGRX: 0, 0, 720, 460), damage data: (2, 0, 0, 720, 460, 'jpeg')
2015-10-08 13:31:00,512 Property changed on 0xc0002b: _NET_FRAME_EXTENTS
2015-10-08 13:31:00,512 Property changed on 0xc0002b: _NET_WM_STATE
2015-10-08 13:31:00,513 Property changed on 0xc0002b: WM_STATE
2015-10-08 13:31:00,519 compress:   9.5ms for  720x460  pixels for wid=2     using  jpeg with ratio   5.5% ( 1293KB to    71KB), client_options={'quality': 99}
2015-10-08 13:31:00,521 free_image_wrapper(XShmImageWrapper(BGRX: 0, 0, 720, 460)) thread_safe=0
2015-10-08 13:31:00,522 invalidating named pixmap
2015-10-08 13:31:00,522 auto refresh:  jpeg screen update (quality= 99), scheduling refresh in 289ms (pct=100, batch=1.0) (region=rectangle[0, 0, 720, 460], refresh regions=[R(0, 0, 720, 460)])
2015-10-08 13:31:00,523 damage(<WindowModel object at 0x7fbd3fafd5a0 (xpra+x11+gtk2+models+window+WindowModel at 0x2f91520)>, 3, 0, 714, 1, {})
2015-10-08 13:31:00,524 damage(3, 0, 714, 1, {}) wid=2, sending now with sequence 419

And, here's the session info gathered during this session: ---> duplicate_window_on_print_session_info.txt

Please let me know if there are any other flags corresponding to this issue. I'll be glad to fetch you the logs.

PS: I must mention to you that printing worked absolutely fine in the following versions

client --- 0.15.6 r10632 --- MacOSX-10.6.8 Server --- 0.16.x OR 0.15.x --- Fedora 21



Thu, 08 Oct 2015 21:05:14 GMT - pvenkateswaralu: attachment set


Thu, 08 Oct 2015 21:05:29 GMT - pvenkateswaralu: attachment set


Fri, 09 Oct 2015 10:47:34 GMT - Antoine Martin: owner changed

The screenshot seems to show only one actual window, with the same chrome window frame painted twice inside it, once at the "original" size and once at a smaller size. Is that right? The controls in the top right corner of the windows probably are not accessible at the "original" size if that is the case. You can also confirm that using xpra screenshot, or with the new sync-xvfb=on flag and any screenshot tool (see #988).

Looking at the server log:

(or the other way around)


Mon, 12 Oct 2015 22:46:28 GMT - pvenkateswaralu: owner changed; cc set

Replying to antoine:




The screenshot seems to show only one actual window, with the same chrome window frame painted twice inside it, once at the "original" size and once at a smaller size. Is that right?

That is correct.


The controls in the top right corner of the windows probably are not accessible at the "original" size if that is the case.

The controls are not accessible in both "original" and "smaller" windows.


You can also confirm that using xpra screenshot, or with the new sync-xvfb=on flag and any screenshot tool (see #988).

Looking at the server log:

(or the other way around)


Tue, 13 Oct 2015 00:49:08 GMT - Antoine Martin: owner changed

I am leaving comment:2 as it is rather than editing it to show how NOT to post comments: please don't use bold where it is not needed, don't use quoting indentation where it is not needed and don't leave large amounts of quoted text without purpose.


is this a regression?

No, never seen that before.


"Never seen that before" would imply a "yes" - that is IS a regression? Did you verify with older versions?


Tue, 13 Oct 2015 19:24:33 GMT - pvenkateswaralu: owner changed

All the points mentioned in comment:3 are duly noted.

First, let me correct myself. The issue mentioned in the ticket description is not specific to printing. My bad, sorry!

I performed the test with versions:

Client --- MacOSX 10.6.8 --- 0.16.0 r10786 Server --- Fedora 21 --- 0.16.0 r10786

The issue of "painting the same chrome window frame twice" occurs whenever performing an action triggers a new relevant window.

For example,

I grabbed the xpra info while adding an attachment to an email and here's the relevant info: xpra info with xpra info :13 | grep window before and after the duplicate window frames appeared, i.e., before adding an attachement and after clicking on "add attachment"

Before the 2 duplicate frames appeared ---> xpra-info-before-duplicate-window-frames-appeared.txt After the 2 duplicate frames appeared ---> xpra-info-after-duplicate-window-frames-appeared.txt

This problem also exists on earlier revisions: client --- osx 10.6.8 --- 0.16.0 r10512 & Server --- fedora 21 --- 0.16.0 r10556 client --- osx 10.6.8 --- 0.16.0 r10624 & Server --- fedora 21 --- 0.16.0 r10624

Please let me know if I should close this ticket and open a new one for the issue, or if I should just edit the title of this ticket.


Tue, 13 Oct 2015 19:24:58 GMT - pvenkateswaralu: attachment set


Tue, 13 Oct 2015 19:25:23 GMT - pvenkateswaralu: attachment set


Wed, 14 Oct 2015 11:15:11 GMT - Antoine Martin: owner, component, description, summary changed; keywords set

Edited bug title, description, component, etc..

AFAICT, this is not a duplicate window, the contents just get painted twice at different sizes. The chrome window frame is just another area as far as xpra is concerned.

This bug is only occurring with OSX clients, right? And only with trunk? Have you tried older clients and servers to narrow it down?


Wed, 14 Oct 2015 18:06:41 GMT - pvenkateswaralu: owner changed

This bug is only occurring with OSX clients, right?


Yes.


And only with trunk? Have you tried older clients and servers to narrow it down?


Yes. It occurs only with trunk. I tried with older clients and servers (xpra 0.15.x) and the repaint issue does not occur in them.


Thu, 15 Oct 2015 06:02:23 GMT - Antoine Martin: owner changed

Yes. It occurs only with trunk. I tried with older clients and servers (xpra 0.15.x) and the repaint issue does not occur in them.


This answer is not very clear to me: does the issue occur with any server revision and 0.16 beta osx clients? Or just when connecting to 0.16 servers?

There are a dozen different beta builds for osx. Can you narrow it down? And maybe narrow it down further by making new builds using specific revisions?


Tue, 20 Oct 2015 19:35:18 GMT - pvenkateswaralu: owner changed

Replying to antoine:

Yes. It occurs only with trunk. I tried with older clients and servers (xpra 0.15.x) and the repaint issue does not occur in them.


This answer is not very clear to me: does the issue occur with any server revision and 0.16 beta osx clients? Or just when connecting to 0.16 servers?

There are a dozen different beta builds for osx. Can you narrow it down?

The issue occurs only when both client and server are 0.16.x (any revision).

The issue does not occur when tested with these combinations.

And maybe narrow it down further by making new builds using specific revisions?

I tried reproducing the repaint issue with the new build, which is Xpra-0.16.0-r9557.dmg. I tried a combination of client--16.0-r9557--OSX10.6.8 and Server--16.0-r10916--Fedora21, and the repaint issue does not occur anymore.


Wed, 21 Oct 2015 01:58:31 GMT - Antoine Martin: owner changed

I tried reproducing the repaint issue with the new build, which is Xpra-0.16.0-r9557.dmg.


That's not a new build, that's a very OLD build. What I am asking above is that you find in which revision the problem started.


Wed, 28 Oct 2015 20:08:53 GMT - pvenkateswaralu: owner changed

I finally narrowed it down with the help of Smo and found that the problem started in r9658.


Thu, 29 Oct 2015 04:45:08 GMT - Antoine Martin: owner changed

I finally narrowed it down with the help of Smo and found that the problem started in r9658.


How did you figure out r9658 is the problem? Did you try r9657 and find that this did not have the problem? If you do a bisection to find the problematic changeset, please include the steps so they can be reviewed. See for example: ticket:557#comment:1 or ticket:485#comment:2

I see nothing there that should be able to cause this problem. The client side changes can be disabled by running a pre-r9657 server too, any 0.15.x or 0.14.x server will do just as well. If you are still getting this problem with an up to date client and a server without the window.configure.pointer feature, then this changeset is not the problem.

See also #252, which has similar symptoms.


Wed, 04 Nov 2015 18:51:59 GMT - pvenkateswaralu: owner changed

Replying to antoine:

I finally narrowed it down with the help of Smo and found that the problem started in r9658.


How did you figure out r9658 is the problem? Did you try r9657 and find that this did not have the problem?


Yes, I tried r9657 and this does not have the problem.


If you do a bisection to find the problematic changeset, please include the steps so they can be reviewed. See for example: ticket:557#comment:1 or ticket:485#comment:2


Here's the bisection:

So r9658 is bad.


I see nothing there that should be able to cause this problem. The client side changes can be disabled by running a pre-r9657 server too, any 0.15.x or 0.14.x server will do just as well. If you are still getting this problem with an up to date client and a server without the window.configure.pointer feature, then this changeset is not the problem.


I ran a 0.15.1-r9655 server with the 0.16.0-r11122 client and this problem does not occur.


Wed, 18 Nov 2015 08:53:51 GMT - Antoine Martin: owner changed

Many thanks for the bisection. I couldn't reproduce when I tried, but r11274 looks right and fits the symptoms perfectly: we were resizing the wrong window: the window under the cursor rather than the new one.

@pvenkateswaralu: please close if this works for you. (no backports needed)


Mon, 23 Nov 2015 17:30:25 GMT - pvenkateswaralu: status changed; resolution set

I tried with r11304 with OSX on the client side and Fedora21 on the server side; and couldn't reproduce the issue. Closing the ticket.


Sat, 23 Jan 2021 05:11:54 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/994