xpra icon
Bug tracker and wiki

Opened 7 months ago

Closed 6 months ago

#2514 closed defect (fixed)

Popup not shown

Reported by: wolfram Owned by: alas
Priority: critical Milestone: 4.0
Component: client Version: 3.0.x
Keywords: Cc:

Description (last modified by Antoine Martin)

(server: xpra 3.0.3 on RHEL, client: xpra 3.0.3 on Win10)
I have a Java/Swing/Batik based tool that controls some electronic
hardware. When I click on certain components, a popup window should appear -- but it does not. The tool does not work without hardware attached to the workstation so I can't share it and don't know of a way for someone else to reproduce this problem.

I noticed that behavior before updating xpra to 3.0.3 (some 3.0.1 or 3.0.2 versions) and hoped the update might fix it, but it doesn't. I also tried a version 2.5.2 client (don't know an easy way to switch server versions...) and it behaves the same.
The popup does not appear when it should but an icon on the windows taskbar appears, indicating that there should be a popup. I minimized all windows to make sure that the popup is not hidden behind one of them.
The popup appears when I use cygwin/xwin connection to the RHEL workstation instead of xpra.

The "-d window" output when the popup is meant to show up is like this:

2019-12-12 18:13:09,559 make_new_window(..) client_window_classes=(<class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>, <class 'xpra.client.gtk3.client_window.ClientWindow'>), group_leader_window=<__gi__.GdkWin32Window object at 0x000000002e7dfd40 (GdkWin32Window at 0x00000000033a9af0)>
2019-12-12 18:13:09,560 <class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>(gtk3.client, <__gi__.GdkWin32Window object at 0x000000002e7dfd40 (GdkWin32Window at 0x00000000033a9af0)>, 0, 33, 479, 1345, 203, 204, 203, 204, {b'size-constraints': {b'position': (479, 1345), b'gravity': 1}, b'xid': b'0x60029d', b'title': b' ', b'pid': 61725, b'client-machine': b'xxxxxxxx', b'icon-title': b'Java', b'group-leader-xid': 6292118, b'window-type': (b'DIALOG',), b'decorations': 0, b'skip-taskbar': True, b'class-instance': (b'sun-awt-X11-XDialogPeer', b'org-eclipse-jdt-internal-jarinjarloader-JarRsrcLoader'), b'set-initial-position': True}, False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7, 1, b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff', b''], 0)
2019-12-12 18:13:09,563 setup_window(203, 204)
2019-12-12 18:13:09,564 new_backing(203, 204) backing_class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>
2019-12-12 18:13:09,564 make_new_backing(<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, 203, 204, 203, 204) effective backing class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, server alpha=False, window alpha=False
2019-12-12 18:13:09,566 set_window_type(['DIALOG']) hints=0
2019-12-12 18:13:09,566 make_new_window(..) window(33)=GLClientWindow(33 : gtk3.GLDrawingArea(33, (203, 204), None))
2019-12-12 18:13:09,578 Win32Hooks: window frame size is 8x8
2019-12-12 18:13:09,579 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x000000002e5c2490>>}
2019-12-12 18:13:09,589 GL do_configure_event(<Gdk.EventConfigure object at 0x000000002e7e83b0 (void at 0x000000001ada20b0)>)
2019-12-12 18:13:09,592 GLClientWindow(33 : gtk3.GLDrawingArea(33, (203, 204), None)).do_map_event(<Gdk.EventAny object at 0x000000003031d680 (void at 0x000000001ad84c00)>) OR=False
2019-12-12 18:13:09,593 GL do_configure_event(<Gdk.EventConfigure object at 0x000000002e7e83b0 (void at 0x000000001ada2c90)>)
2019-12-12 18:13:09,654 cairo_paint_border(<cairo.Context object at 0x00000000302ec4d0>, None)
2019-12-12 18:13:09,670 cairo_paint_border(<cairo.Context object at 0x00000000302ec4d0>, None)
2019-12-12 18:13:09,687 cairo_paint_border(<cairo.Context object at 0x00000000302ecfb0>, None)
2019-12-12 18:13:09,704 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None)
2019-12-12 18:13:09,720 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)
2019-12-12 18:13:09,737 cairo_paint_border(<cairo.Context object at 0x00000000302ec4d0>, None)
2019-12-12 18:13:09,754 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)
2019-12-12 18:13:09,770 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None)
2019-12-12 18:13:09,787 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)
2019-12-12 18:13:09,804 cairo_paint_border(<cairo.Context object at 0x00000000302ec5b0>, None)
2019-12-12 18:13:09,820 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)
2019-12-12 18:13:09,837 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None)
2019-12-12 18:13:09,854 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)
2019-12-12 18:13:09,870 cairo_paint_border(<cairo.Context object at 0x00000000302ec950>, None)
2019-12-12 18:13:09,887 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)
2019-12-12 18:13:09,904 cairo_paint_border(<cairo.Context object at 0x00000000302ecf70>, None)
2019-12-12 18:13:09,921 cairo_paint_border(<cairo.Context object at 0x00000000302ec3d0>, None)

Attachments (1)

Popups.java (1.9 KB) - added by wolfram 7 months ago.

Download all attachments as: .zip

Change History (20)

comment:1 Changed 7 months ago by Antoine Martin

Owner: changed from Antoine Martin to wolfram

I have a Java/Swing/Batik based tool that controls some electronic

Java applications are notoriously bad at following X11 conventions. We have a number of workarounds for them already.

From your log, the window definition is here:

<class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>\
    (gtk3.client, <__gi__.GdkWin32Window object at 0x000000002e7dfd40 (GdkWin32Window at 0x00000000033a9af0)>, \
    0, 33, 479, 1345, 203, 204, 203, 204, {
      b'size-constraints': {b'position': (479, 1345), b'gravity': 1}, b'xid': b'0x60029d', b'title': b' ', \
      b'pid': 61725, b'client-machine': b'xxxxxxxx', b'icon-title': b'Java', b'group-leader-xid': 6292118, \
      b'window-type': (b'DIALOG',), b'decorations': 0, b'skip-taskbar': True, b'class-instance': (b'sun-awt-X11-XDialogPeer', \
      b'org-eclipse-jdt-internal-jarinjarloader-JarRsrcLoader'), b'set-initial-position': True}, \
      False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), 
      [4096, 2048, 16, 16, 7, 7, 1, b'\xff\xff\xff\xff\xff\xff\xff\xff...xff', b''], 0)

The window geometry sent by the server is: 479, 1345, 203, 204.
And the application is telling us to honour the initial position: 'set-initial-position': True is in the metadata.
That's 203x204 size at position 479,1345.
Is your client display big enough for that?
Do you start your application before connecting?
If so, does it work any better if you start it afterwards?
Does it help if you turn off opengl?
Can you attach the picture from xpra screenshot?
Maybe also attach the -d window,geometry,draw log output.

Last edited 7 months ago by Antoine Martin (previous) (diff)

comment:2 Changed 7 months ago by wolfram

Tried a few things and it looks to me like the problem is about decorated/undecorated windows. I made a small sample program (attached) that I run with

javac Popups.java 
java Popups

When run through xpra, only the decorated popup shows up.

Changed 7 months ago by wolfram

Attachment: Popups.java added

comment:3 Changed 7 months ago by Antoine Martin

I've tried your example on Linux, MacOS, Windows 7 and Windows 10, and even with the html5 client.
Both windows showed up everywhere.

So there must be something different about your setup.

Please clarify:

  • the resolution you are running at
  • the exact build you are running (in full, not just the version)
  • have you tried toggling opengl on or off?

comment:4 Changed 7 months ago by wolfram

With --opengl=no the non-decorated window DOES show.
Here are the startup messages (with OpenGL enabled). I think they contain what you asked for:

2019-12-13 15:18:55,273 parse_padding_colors(None)=(0, 0, 0)
2019-12-13 15:18:55,341 Xpra GTK3 client version 3.0.3-r24690 64-bit
2019-12-13 15:18:55,343  running on Microsoft Windows 10
2019-12-13 15:18:55,396 Warning: failed to import opencv:
2019-12-13 15:18:55,396  No module named 'cv2'
2019-12-13 15:18:55,397  webcam forwarding is disabled
2019-12-13 15:18:55,636 OpenGL_accelerate module loaded
2019-12-13 15:18:55,673 Using accelerated ArrayDatatype
2019-12-13 15:18:56,884 OpenGL enabled with NVS 310/PCIe/SSE2
2019-12-13 15:18:57,080 Connected (version 2.0, client OpenSSH_7.4)
2019-12-13 15:18:57,132 SSH password authentication failed:
2019-12-13 15:18:57,132  Bad authentication type; allowed types: ['publickey', 'gssapi-keyex', 'gssapi-with-mic', 'password']
please enter the SSH password for [...]:
2019-12-13 15:19:04,924 Authentication (password) successful!
2019-12-13 15:19:05,046  keyboard settings: layout=de
2019-12-13 15:19:05,047  desktop size is 3120x1600 with 1 screen:
2019-12-13 15:19:05,048   Default (825x423 mm - DPI: 96x96) workarea: 3120x1560
2019-12-13 15:19:05,048     (Standard monitor types) HP ZR2440w 1920x1200 at 1200x274 (518x324 mm - DPI: 94x94) workarea: 1920x1160
2019-12-13 15:19:05,048     (Standard monitor types) hp L2035 1200x1600 (408x306 mm - DPI: 74x132) workarea: 1200x1560
2019-12-13 15:19:06,473 enabled remote logging
2019-12-13 15:19:06,474 Xpra GTK2 X11 server version 3.0.3-r24692 64-bit
2019-12-13 15:19:06,474  running on Linux RedHatEnterpriseWorkstation 7.4 Maipo
2019-12-13 15:19:06,482 Attached to ssh://[...]

comment:5 Changed 7 months ago by Antoine Martin

Owner: changed from wolfram to Antoine Martin
Status: newassigned

With --opengl=no the non-decorated window DOES show.

I can reproduce this on a system with an nvidia card.

comment:6 Changed 7 months ago by Antoine Martin

Priority: majorcritical

I can reproduce this on a system with an nvidia card.

And now I can't!

I'm not sure if it is the same bug, but running your example I also see some problems registering clicks.
It seems that sometimes the clicks go through the window with the two buttons and land somewhere else on the virtual screen. but not on the window it is intended for. Sometimes as if the window-relative pointer coordinates were used as absolute values.
Very strange since all other applications work fine.

comment:7 Changed 7 months ago by Antoine Martin

Bisecting with python2 builds:

  • v1.0.x OK
  • v3.0.3 bad
  • v2.0.x OK
  • v2.3.x not sure - seen the bug, seen a click through the window
  • v2.4.x bad
  • v2.2.x OK

So somewhere between 2.2 (r17607), 2.3 (r19246) and 2.4 (r20681):

And so this is caused by relative pointer data. But why?

I think the click-through effect with the python3 builds is because with GTK3 passes we receive the click events on the window title bar and those should not be propagated to the server.

comment:8 Changed 7 months ago by Antoine Martin

Description: modified (diff)
Owner: changed from Antoine Martin to wolfram
Status: assignednew

The bug I was chasing seems to have gone away completely on its own!? Maybe a system update fixed a buggy library? (will try again on a different system)

So, back to the original bug in this ticket - recap: only occurs with opengl enabled, only on win32, only with python3 builds, only with undecorated windows!

Comparing with and without opengl, the popup window metadata looks unremarkable (as per ticket description).
So then I updated the test apps to run native under GTK3 (r24723), and it turns out that GTK3 is just buggy on win32 with undecorated windows: when you toggle the "decoration" flag off and then on again, the window does not regain its decorations or at least they are not being re-drawn, but the pointer events are adjusted... so they land with an offset.
Running the same example through xpra: the window disappears as soon as we try to remove the decorations!
(also spotted another bug: #2516)

So r24725 fixes this by not using opengl for undecorated windows and re-initializing the window when the "decorations" flag is toggled. (backport to v3 in r24727)
@wolfram: there are beta builds with this fix here: https://xpra.org/beta/windows.
Please close this ticket if that works for you.

comment:9 Changed 7 months ago by wolfram

Undecorated windows work in Xpra-Python3-x86_64_4.0-r24725 (I only updated the client), both in my litte sample program and in the electronics-control-tool where I intially saw the problem. Thanks for fixing this!
I am little concerned about moving to 4.0 because of the I-beam cursor problem that I mentioned here https://lists.devloop.org.uk/pipermail/shifter-users/2019-November/002440.html. But strange enough I don't get that kind of mouse-cursor in eclipse editor-windows any more, so I can't check this right now.

comment:10 Changed 7 months ago by Antoine Martin

Resolution: fixed
Status: newclosed

I am little concerned about moving to 4.0 because of the I-beam cursor problem

You can switch back to the 3.0.x stable branch once 3.0.4 once is released with this fix.
The cursor problem was probably this bug: #2498 (regression which is now fixed in v4).

comment:11 Changed 6 months ago by Antoine Martin

Could it still be happening with 3.0.4? See ticket:2466#comment:13

comment:12 Changed 6 months ago by Antoine Martin

Problem still exists in 3.0.4 because the backport had been applied to the wrong location (the dumb 'patch' command strikes again), r24922 fixes that.

There's a 3.0.5-RC build in the beta area: https://xpra.org/beta/windows.

Last edited 6 months ago by Antoine Martin (previous) (diff)

comment:13 Changed 6 months ago by alas

Resolution: fixed
Status: closedreopened

Updating the stable server, I'm still using xpra v3.0.4-r24778.

Trying to then connect with the 3.0.5-r24922 client from the windows beta repo, the connection fails with this output client side.

C:\Program Files\Xpra>Xpra_cmd.exe attach tcp:10.0.3.148:1234
2020-01-07 16:07:50,512 Xpra GTK3 client version 3.0.5-r24922 64-bit
2020-01-07 16:07:50,513  running on Microsoft Windows 7
2020-01-07 16:07:50,581 Warning: failed to import opencv:
2020-01-07 16:07:50,581  No module named 'cv2'
2020-01-07 16:07:50,582  webcam forwarding is disabled
2020-01-07 16:08:04,998 GStreamer version 1.16.2 for Python 3.8.0 64-bit
2020-01-07 16:08:05,495 OpenGL_accelerate module loaded
2020-01-07 16:08:05,525 Using accelerated ArrayDatatype
2020-01-07 16:08:06,066 Warning: vendor 'Intel' is greylisted,
2020-01-07 16:08:06,067  you may want to turn off OpenGL if you encounter bugs
2020-01-07 16:08:06,289 OpenGL enabled with Intel(R) HD Graphics 530
2020-01-07 16:08:06,313 error preparing connection: name 'POSIX' is not defined
Traceback (most recent call last):
  File "E:\Xpra\tags\v3.0.x\src/xpra/client/client_base.py", line 338, in send_hello
  File "E:\Xpra\tags\v3.0.x\src/xpra/client/gtk_base/gtk_client_base.py", line 665, in make_hello
  File "E:\Xpra\tags\v3.0.x\src/xpra/client/ui_client_base.py", line 342, in make_hello
NameError: name 'POSIX' is not defined
2020-01-07 16:08:06,468 Error: failed to query network interface:
2020-01-07 16:08:06,469  module 'comtypes.gen.WbemScripting' has no attribute 'ISWbemLocator'

The final fail to query ISWbemLocator has been happening with this primarily Intel GPU windows system for some time, so that isn't the ause for the failure.
'POSIX'?

I'll try some of the other 3.0.5 builds and see if any work. I'm not certain I recall how to install a 3.0.5 in the beta repo on the Fedora server, when a dnf update with the beta repo enabled will likely install 4.0 instead... but if I have sudden recall of the syntax I'll try that as well.

comment:14 Changed 6 months ago by alas

As an added bonus, when I realized the client was hung. rather than crashed... and used control-c to kill from the cmd window, I got a little extra traceback, which might be useful.

Traceback (most recent call last):
  File "_ctypes/callbacks.c", line 237, in 'calling callback function'
  File "E:\Xpra\tags\v3.0.x\src/xpra/platform/win32/win32_NotifyIcon.py", line 464, in NotifyIconWndProc
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

2020-01-07 16:15:10,481 got signal SIGINT
2020-01-07 16:15:10,482 exiting

comment:15 Changed 6 months ago by alas

Well, tried the 3.0.5-r24827 client too, but checking your comment before typing makes it unsurprising that the chromium-browser should still be failing to display with that.

I won't bother with any of the earlier 3.0.5 clients.

A hint on the dnf syntax to install a 3.0.5 build rather than 4.0 from beta (dnf list xpra ... dnf install <specific-version>?) would help also if the server needs any update (I get the feeling it shouldn't?).

comment:16 Changed 6 months ago by Antoine Martin

Thanks for trying.

Trying to then connect with the 3.0.5-r24922 client from the windows beta repo, the connection fails with this output client side.

Damn, sorry about that.
That had already been fixed in r24926, but I had not uploaded a new build since... (I'm on a 4G metered connection this week)

The final fail to query ISWbemLocator has been happening with this primarily Intel GPU windows system for some time

Yeah, that's been happening for a while, I should fix it, again: #1899.

I got a little extra traceback, which might be useful.

Cool, probably a result of the forced shutdown, this should fix it: r24929.
(will backport)

I'm not certain I recall how to install a 3.0.5 in the beta repo on the Fedora server, when a dnf update with the beta repo enabled will likely install 4.0 instead

Can I force dnf to install an old version of a package?
(there may be more to it than that if the dependencies also need a downgrade..)

comment:17 Changed 6 months ago by alas

Found a Fedora 30 xpra v3.0.5-r24928 build.
Launched with the usual command, and now the Python3 3.0.5-r24827 windows client is able to connect, but unfortunately it is still not displaying the chromium-browser window when I try to launch from an xterm.

The logs look the same to me as what I posted in #2466, but in case there's a difference, here're the client-side output with a -d window when launching the chromium-browser.

2020-01-09 15:17:33,955 make_new_window(..) client_window_classes=(<class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>, <class 'xpra.client.gtk3.client_window.ClientWindow'>), group_leader_window=<__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)>
2020-01-09 15:17:33,955 <class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>(gtk3.client, <__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)>, 0, 4, 494, 1288, 1313, 853, 1050, 682, {b'xid': b'0xc00001', b'client-machine': b'xpra-lib-fed30-2', b'pid': 23027, b'title': b'New Tab - Chromium', b'role': b'br
owser', b'class-instance': (b'chromium-browser', b'Chromium-browser'), b'window-type': (b'NORMAL',), b'size-constraints': {b'position': (395, 1030), b'minimum-size': (508, 87)}, b'icon-title': b'', b'decorations': 0, b'set-initial-position': True, b'iconic': False}, False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7,1,b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff', b''], 0)
2020-01-09 15:17:33,965 setup_window(1050, 682)
2020-01-09 15:17:33,965 new_backing(1050, 682) backing_class=<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>
2020-01-09 15:17:33,965 make_new_backing(<class 'xpra.client.gl.gtk_base.gl_drawing_area.GLDrawingArea'>, 1313, 853, 1313, 853) effective backing class=<class 'xpra.client.gl.gtk_b
ase.gl_drawing_area.GLDrawingArea'>, server alpha=False, window alpha=False
2020-01-09 15:17:33,975 set_window_type(['NORMAL']) hints=0
2020-01-09 15:17:33,975 make_new_window(..) window(4)=GLClientWindow(4 : gtk3.GLDrawingArea(4, (1050, 682), None))
2020-01-09 15:17:33,985 Win32Hooks: window frame size is 8x8
2020-01-09 15:17:33,985 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x000000003b1faa90>>}
2020-01-09 15:17:33,995 GL do_configure_event(<Gdk.EventConfigure object at 0x000000003b200400 (void at 0x000000001b4e3340)>)
2020-01-09 15:17:33,995 GLClientWindow(4 : gtk3.GLDrawingArea(4, (1050, 682), None)).do_map_event(<Gdk.EventAny object at 0x000000003b1f1860 (void at 0x000000001b4eae60)>) OR=False

2020-01-09 15:17:33,995 GL do_configure_event(<Gdk.EventConfigure object at 0x000000003b1f1860 (void at 0x000000001b4eaf00)>)
2020-01-09 15:17:34,084 cairo_paint_border(<cairo.Context object at 0x000000003b1e0a30>, None)
2020-01-09 15:17:34,110 cairo_paint_border(<cairo.Context object at 0x000000003b1e0910>, None)
2020-01-09 15:17:34,112 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f30>, None)
2020-01-09 15:17:34,128 cairo_paint_border(<cairo.Context object at 0x000000003b1e0b10>, None)
2020-01-09 15:17:34,133 cairo_paint_border(<cairo.Context object at 0x000000003b1e0bd0>, None)
2020-01-09 15:17:34,142 cairo_paint_border(<cairo.Context object at 0x000000003b1e0d90>, None)
2020-01-09 15:17:34,144 cairo_paint_border(<cairo.Context object at 0x000000003b1e0bd0>, None)
2020-01-09 15:17:34,170 cairo_paint_border(<cairo.Context object at 0x000000003b1e02f0>, None)
2020-01-09 15:17:34,172 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f90>, None)
2020-01-09 15:17:34,175 cairo_paint_border(<cairo.Context object at 0x000000003b1e0d30>, None)
2020-01-09 15:17:34,178 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f90>, None)
2020-01-09 15:17:34,192 cairo_paint_border(<cairo.Context object at 0x000000003b1e0a30>, None)
2020-01-09 15:17:34,194 cairo_paint_border(<cairo.Context object at 0x000000003b1e06b0>, None)
2020-01-09 15:17:34,211 cairo_paint_border(<cairo.Context object at 0x000000003b1e0490>, None)
2020-01-09 15:17:34,215 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None)
2020-01-09 15:17:34,225 cairo_paint_border(<cairo.Context object at 0x000000003b1e0e90>, None)
2020-01-09 15:17:34,227 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None)
2020-01-09 15:17:34,243 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f10>, None)
2020-01-09 15:17:34,248 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None)
2020-01-09 15:17:34,258 cairo_paint_border(<cairo.Context object at 0x000000003b1e0e90>, None)
2020-01-09 15:17:34,260 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None)
2020-01-09 15:17:34,275 cairo_paint_border(<cairo.Context object at 0x000000003b1e02f0>, None)
2020-01-09 15:17:34,277 cairo_paint_border(<cairo.Context object at 0x000000003b1e0410>, None)
2020-01-09 15:17:34,292 cairo_paint_border(<cairo.Context object at 0x000000003b1e0450>, None)
2020-01-09 15:17:34,293 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None)
2020-01-09 15:17:34,308 cairo_paint_border(<cairo.Context object at 0x000000003b1e0f10>, None)
2020-01-09 15:17:34,309 cairo_paint_border(<cairo.Context object at 0x000000003b1e06f0>, None)
2020-01-09 15:17:40,240 cairo_paint_border(<cairo.Context object at 0x000000003b20b3d0>, None)
2020-01-09 15:17:40,267 cairo_paint_border(<cairo.Context object at 0x000000003b20b570>, None)
2020-01-09 15:17:40,285 cairo_paint_border(<cairo.Context object at 0x000000003b20b770>, None)
2020-01-09 15:17:40,299 cairo_paint_border(<cairo.Context object at 0x000000003b20b2b0>, None)
2020-01-09 15:17:40,316 cairo_paint_border(<cairo.Context object at 0x000000003b20b9f0>, None)
2020-01-09 15:17:40,333 cairo_paint_border(<cairo.Context object at 0x000000003b2055b0>, None)
2020-01-09 15:17:40,350 cairo_paint_border(<cairo.Context object at 0x000000003b205970>, None)
2020-01-09 15:17:40,366 cairo_paint_border(<cairo.Context object at 0x000000003b2059d0>, None)
2020-01-09 15:17:40,388 cairo_paint_border(<cairo.Context object at 0x000000003b2059d0>, None)
2020-01-09 15:17:40,401 cairo_paint_border(<cairo.Context object at 0x000000003b1e0dd0>, None)
2020-01-09 15:17:40,415 cairo_paint_border(<cairo.Context object at 0x000000003b20b3d0>, None)
2020-01-09 15:17:40,431 cairo_paint_border(<cairo.Context object at 0x000000003b20b3d0>, None)
2020-01-09 15:17:40,448 cairo_paint_border(<cairo.Context object at 0x000000003b20b550>, None)

Also (and I'll also mention this in #1797), it looks like something is causing a connection hang and timeout for the Chrome 79 html5 client on both Windows and OSX, using both http (http://10.0.3.148:1237) and https (https://10.0.3.148:1239), and only seem to be outputting the "usual" cert error messages server side (the ones I expect because I am just using a self-generated cert with no SAN despite Chrome's expectations).

comment:18 Changed 6 months ago by Antoine Martin

Owner: changed from wolfram to alas
Status: reopenednew
 make_new_window(..) client_window_classes=(<class'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>, \
 <class 'xpra.client.gtk3.client_window.ClientWindow'>), \
 group_leader_window=<__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)>
<class 'xpra.client.gl.gtk3.nativegl_client_window.GLClientWindow'>(gtk3.client, \
 <__gi__.GdkWin32Window object at 0x000000003b201ec0 (GdkWin32Window at 0x0000000002fb6960)>, \
 0, 4, 494, 1288, 1313, 853, 1050, 682, {b'xid': b'0xc00001', b'client-machine': b'xpra-lib-fed30-2', \
 b'pid': 23027, b'title': b'New Tab - Chromium', b'role': b'browser', b'class-instance': (b'chromium-browser', b'Chromium-browser'), \
 b'window-type': (b'NORMAL',), \
 b'size-constraints': {b'position': (395, 1030), b'minimum-size': (508, 87)}, \
 b'icon-title': b'', b'decorations': 0, b'set-initial-position': True, b'iconic': False}, \
 False, {}, WindowBorder(False, 0xD41D8C, 0.6, 5), (32767, 32767), [4096, 2048, 16, 16, 7, 7,1,b'..', b''], 0)

That's the undecorated window bug.

Launched with the usual command, and now the Python3 3.0.5-r24827 windows client is able to connect, but unfortunately it is still not displaying the chromium-browser window when I try to launch from an xterm.

You need the "real" 3.0.5 stable release for windows: r24928, or later if I re-issue it for the html5 connection bug. (r24827 is too old and does not have the r24926 fix).
I am really hoping that this fix is correct as I won't be able to test it until I have access to a real desktop PC with a real GPU in it.

comment:19 Changed 6 months ago by alas

Resolution: fixed
Status: newclosed

At last, a break.

3.0.5-r24942 Windows client against a 3.0.5-r24939 fedora 30 server... with opengl enabled despite being on the greylist... and the chromium-browser is displaying!

We'll just assume that will also work with any other applications with undecorated windows... and I'll close this again.

Note: See TracTickets for help on using tickets.