xpra icon
Bug tracker and wiki

Opened 4 years ago

Closed 3 years ago

#901 closed defect (fixed)

Windows Client crash after locking screen

Reported by: J. Max Mena Owned by: Antoine Martin
Priority: critical Milestone: 0.16
Component: client Version: trunk
Keywords: Cc:

Description (last modified by Antoine Martin)

Versions:

Server started with:

  • xpra start :13 --start-new-commands=yes --bind-tcp=0.0.0.0:2200 --start-child=xterm

Client started with:

  • Xpra_cmd.exe attach tcp:ip:2200

Server is a Fedora 21 VM

Client machine is a MacBook? Pro running Windows 8.1 ('bootcamped'; not in a VM, I avoid OSX like the plague) with an Intel Iris Pro graphics chipset


Repro steps are pretty simple:

  • Connect like normal
  • Walk away, allowing the screen to shut off
  • Come back after 10ish minutes
    • Unlocking immediately seems to avoid the issue
  • Unlock the computer


Result:

  • Xpra has crashed with the following output to the CMD:
2015-06-29 16:11:33,776 unexpected message: WM_NULL / 0 / 0
2015-06-29 16:11:36,073 unexpected message: 798 / 0 / 0
2015-06-29 16:11:36,589 unexpected message: 798 / 0 / 0
2015-06-29 16:11:41,448 do_paint_rgb24 error
Traceback (most recent call last):
  File "xpra\client\window_backing_base.pyc", line 276, in do_paint_rgb24
  File "xpra\client\gl\gl_window_backing_base.pyc", line 563, in _do_paint_rgb24

  File "xpra\client\gl\gl_window_backing_base.pyc", line 658, in _do_paint_rgb
  File "xpra\client\gl\gl_window_backing_base.pyc", line 475, in present_fbo
  File "latebind.pyx", line 44, in OpenGL_accelerate.latebind.Curry.__call__ (c:
\Users\mcfletch\OpenGL-dev\OpenGL-ctypes\OpenGL_accelerate\src\latebind.c:1201)
  File "C:\Program Files (x86)\Xpra\OpenGL\GL\exceptional.py", line 41, in glBeg
in
WindowsError: exception: access violation writing 0x0B7A5000

Server outputs:

Disconnecting client '10.0.11.123:63039': client ping timeout (waited 60 seconds without a response)
xpra client disconnected.

And then after a minute or so:

2015-06-29 16:12:36,175 sound-source failed to encode packet: ['info', {'volume': 0, 'state': None, 'codec': '', 'codec_description': u'MPEG-1 Layer 3 (MP3)', 'pid': 10200, 'bytes': 5086536, 'pipeline': 'pulsesrc ! volume name=volume volume=1.0 ! lamemp3enc encoding-engine-quality=0 ! appsink name=sink emit-signals=true max-buffers=10 drop=true sync=false async=false qos=false', 'buffers': 48909}]
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/net/protocol.py", line 482, in encode
    main_packet, proto_flags = self._encoder(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/net/packet_encoding.py", line 64, in do_bencode
    return bencode(data), FLAGS_BENCODE
  File "xpra/net/bencode/cython_bencode.pyx", line 204, in xpra.net.bencode.cython_bencode.bencode (xpra/net/bencode/cython_bencode.c:4300)
ValueError: cannot encode '['info', {'volume': 0, 'state': None, 'codec': '', 'codec_description': u'MPEG-1 Layer 3 (MP3)', 'pid': 10200, 'bytes': 5086536, 'pipeline': 'pulsesrc ! volume name=volume volume=1.0 ! lamemp3enc encoding-engine-quality=0 ! appsink name=sink emit-signals=true max-buffers=10 drop=true sync=false async=false qos=false', 'buffers': 48909}]': found None value!

Not sure if the Bencode error is relevant or not.

In addition, this crash can be induced reliably; even with the same server session. Additional info can be provided upon request. However, I will be out of office from the 1st through the 15th, but I might be able to look at some stuff from home if I get the chance. If there's anything pressing I will keep an eye on my work email periodically(and will have this laptop with me), and if it's super pressing, Alex should be able to test this as well.

Attachments (1)

Ticket 901 Firefox after crash.png (429.7 KB) - added by J. Max Mena 4 years ago.
The Firefox window I was greeted with upon unlocking the machine.

Download all attachments as: .zip

Change History (13)

Changed 4 years ago by J. Max Mena

The Firefox window I was greeted with upon unlocking the machine.

comment:1 Changed 4 years ago by Antoine Martin

Description: modified (diff)

2015-06-29 16:12:36,175 sound-source failed to encode packet:


This one has already been fixed in r9727, and backported in r9752.
This happens when we stop processing sound, as we do when the client is disconnected.

I would like to know why you end up using bencode though, rencode should come first.


WindowsError: exception: access violation writing 0x0B7A5000


My guess is that we aren't allowed to paint to the screen when the screensaver is active - or when the screen is turned off. That's not entirely clear from the timing of the log messages. The crash occurs exactly 5 minutes after the WM_NULL message, whatever that is. I would love to know what 798 is too.

It would be useful to know if that's a Windows 8+ "feature" or not, by testing with other versions. (also, confirming that this issue is not a regression - I every much doubt that is is, but you never know)
Also useful: does this happen with opengl turned off?

Assuming that we can detect when the screensaver is active (or when the screen is turned off), we can skip present_fbo which should avoid the crash.

Last edited 4 years ago by Antoine Martin (previous) (diff)

comment:2 Changed 4 years ago by Antoine Martin

Owner: changed from Antoine Martin to J. Max Mena

There were some fixes in the memoryview and opengl areas.
Can you still reproduce?

comment:3 Changed 4 years ago by Antoine Martin

If you can still reproduce it, please run with -d win32 and try to spot the win32 messages that correspond to going to sleep / activating the screensaver. (and also resuming if possible, you may need to turn off opengl to make it happen without crashing)

We could just minimize all the windows when we detect the event, and restore them later. Unmapped windows don't have an opengl context.

comment:4 Changed 4 years ago by J. Max Mena

Updated server to r10666 and client to r10655:

  • Managed to reproduce once.
    • Re-attempts (several..) with -d win32 unsuccessful

Actually, this is really starting to irritate me - that I cannot reproduce it.

comment:5 Changed 4 years ago by Antoine Martin

You should be able to lower the screen timeout so you don't have to wait 10 minutes to test.

comment:6 Changed 3 years ago by J. Max Mena

  • Managed to repro it with a trunk r10606 Win8.1 client and trunk r10712 Server

Output from client (with -d win32,auth), clipped to the last 5 minutes of session:

2015-10-06 13:25:28,871 callbacks for event WM_WININICHANGE: None
2015-10-06 13:25:28,871 WM_WININICHANGE: 20 / 582872
2015-10-06 13:26:36,526 win32 hooks: propsys=<module 'win32com.propsys.propsys'
from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-06 13:26:36,526 hooked group leader override using <module 'win32com.pro
psys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-06 13:26:36,526 win32 hooks: set_group(0x30350)
2015-10-06 13:26:36,526 win32 hooks: calling <built-in method SetValue of PyIPro
pertyStore object at 0x01F91B94>((IID('{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}'),
 5), <PyPROPVARIANT object at 0x0345FC78>)
2015-10-06 13:26:49,496 callbacks for event WM_ACTIVATEAPP: [<bound method Clien
tExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x04F961B
0>>, <function activate_cb at 0x0500A0F0>, <function activate_cb at 0x05049130>,
 <function activate_cb at 0x05049B70>]
2015-10-06 13:26:49,496 WM_ACTIVATEAPP: 0/0 client=gtk2.client
2015-10-06 13:26:49,496 activate_cb(0, 0)
2015-10-06 13:26:49,496 readd_window_options() using unchanged style=0x16cf0000
on window 0xfe040a
2015-10-06 13:26:49,496 activate_cb(0, 0)
2015-10-06 13:26:49,496 readd_window_options() using unchanged style=0x16cf0000
on window 0x30350
2015-10-06 13:26:49,496 activate_cb(0, 0)
2015-10-06 13:26:49,496 readd_window_options() using new style=0x16cf0000 on win
dow 0x2503f8
2015-10-06 13:26:49,496 callbacks for event WM_WTSSESSION_CHANGE: None
2015-10-06 13:26:49,496 WM_WTSSESSION_CHANGE: 7 / 1
2015-10-06 13:27:55,180 server is not responding, drawing spinners over the wind
ows
2015-10-06 13:27:55,430 server is OK again
2015-10-06 13:27:58,529 callbacks for event WM_DEVICECHANGE: None
2015-10-06 13:27:58,529 WM_DEVICECHANGE: 7 / 0
2015-10-06 13:28:21,243 callbacks for event WM_DEVICECHANGE: None
2015-10-06 13:28:21,243 WM_DEVICECHANGE: 7 / 0
2015-10-06 13:28:22,917 callbacks for event WM_WTSSESSION_CHANGE: None
2015-10-06 13:28:22,917 WM_WTSSESSION_CHANGE: 8 / 1
2015-10-06 13:28:22,947 callbacks for event WM_ACTIVATEAPP: [<bound method Clien
tExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x04F961B
0>>, <function activate_cb at 0x0500A0F0>, <function activate_cb at 0x05049130>,
 <function activate_cb at 0x05049B70>]
2015-10-06 13:28:22,947 WM_ACTIVATEAPP: 1/572 client=gtk2.client
2015-10-06 13:28:22,947 activate_cb(1, 572)
2015-10-06 13:28:22,947 readd_window_options() using unchanged style=0x16cf0000
on window 0xfe040a
2015-10-06 13:28:22,947 activate_cb(1, 572)
2015-10-06 13:28:22,947 readd_window_options() using new style=0x16cf0000 on win
dow 0x30350
2015-10-06 13:28:22,947 activate_cb(1, 572)
2015-10-06 13:28:22,947 readd_window_options() using unchanged style=0x16cf0000
on window 0x2503f8
2015-10-06 13:28:24,447 callbacks for event WM_NULL: None
2015-10-06 13:28:24,447 unknown reserved system message: WM_NULL / 0 / 0
2015-10-06 13:28:26,808 callbacks for event WM_DISPLAYCHANGE: None
2015-10-06 13:28:26,808 WM_DISPLAYCHANGE: 32 / 94374400
2015-10-06 13:28:27,244 callbacks for event WM_WINDOWPOSCHANGING: None
2015-10-06 13:28:27,244 WM_WINDOWPOSCHANGING: 0 / 1635504
2015-10-06 13:28:27,244 callbacks for event WM_NCCALCSIZE: None
2015-10-06 13:28:27,244 WM_NCCALCSIZE: 1 / 1635464
2015-10-06 13:28:27,244 callbacks for event WM_WINDOWPOSCHANGED: None
2015-10-06 13:28:27,244 WM_WINDOWPOSCHANGED: 0 / 1635504
2015-10-06 13:28:27,244 callbacks for event WM_NCCALCSIZE: None
2015-10-06 13:28:27,244 WM_NCCALCSIZE: 1 / 1634328
2015-10-06 13:28:27,260 callbacks for event 0x31e: None
2015-10-06 13:28:27,260 unknown reserved system message: 0x31e / 0 / 0
2015-10-06 13:28:27,558 callbacks for event screen background changed: None
2015-10-06 13:28:27,558 screen background changed: 8422655 / 1
2015-10-06 13:28:27,588 callbacks for event WM_WINDOWPOSCHANGING: None
2015-10-06 13:28:27,588 WM_WINDOWPOSCHANGING: 0 / 1635504
2015-10-06 13:28:27,588 callbacks for event WM_NCCALCSIZE: None
2015-10-06 13:28:27,605 WM_NCCALCSIZE: 1 / 1635464
2015-10-06 13:28:27,605 callbacks for event WM_WINDOWPOSCHANGED: None
2015-10-06 13:28:27,605 WM_WINDOWPOSCHANGED: 0 / 1635504
2015-10-06 13:28:27,605 callbacks for event WM_NCCALCSIZE: None
2015-10-06 13:28:27,605 WM_NCCALCSIZE: 1 / 1634328
2015-10-06 13:28:27,605 callbacks for event 0x31e: None
2015-10-06 13:28:27,605 unknown reserved system message: 0x31e / 0 / 0
2015-10-06 13:28:27,605 callbacks for event WM_DWMNCRENDERINGCHANGED: None
2015-10-06 13:28:27,605 WM_DWMNCRENDERINGCHANGED: 1 / 0
2015-10-06 13:28:27,792 get_workareas() GetMonitorInfo(<PyHANDLE:1179711>)={'Dev
ice': '\\\\.\\DISPLAY1', 'Work': (0, 0, 2560, 1400), 'Flags': 1, 'Monitor': (0,
0, 2560, 1440)}
2015-10-06 13:28:27,792 get_workareas()=[(0, 0, 2560, 1400)]
2015-10-06 13:28:27,792 get_workarea() absolute total monitor dimensions: (2560,
 1440)
2015-10-06 13:28:28,869 callbacks for event WM_WININICHANGE: None
2015-10-06 13:28:28,869 WM_WININICHANGE: 20 / 582872
2015-10-06 13:28:38,808 callbacks for event WM_ACTIVATEAPP: [<bound method Clien
tExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x04F961B
0>>, <function activate_cb at 0x0500A0F0>, <function activate_cb at 0x05049130>,
 <function activate_cb at 0x05049B70>]
2015-10-06 13:28:38,808 WM_ACTIVATEAPP: 0/2236 client=gtk2.client
2015-10-06 13:28:38,808 activate_cb(0, 2236)
2015-10-06 13:28:38,808 readd_window_options() using unchanged style=0x16cf0000
on window 0xfe040a
2015-10-06 13:28:38,808 activate_cb(0, 2236)
2015-10-06 13:28:38,808 readd_window_options() using unchanged style=0x16cf0000
on window 0x30350
2015-10-06 13:28:38,808 activate_cb(0, 2236)
2015-10-06 13:28:38,808 readd_window_options() using unchanged style=0x16cf0000
on window 0x2503f8
2015-10-06 13:28:39,058 gtk2.GLWindowBacking(2, (1176, 882), YUV444P).gl_paint_p
lanar(..) error: GLError(
        err = 1282,
        description = 'invalid operation',
        baseOperation = glEnd,
        cArguments = ()
)
Traceback (most recent call last):
  File "xpra\client\gl\gl_window_backing_base.pyc", line 726, in gl_paint_planar

  File "xpra\client\gl\gl_window_backing_base.pyc", line 802, in render_planar_u
pdate
  File "latebind.pyx", line 44, in OpenGL_accelerate.latebind.Curry.__call__ (c:
\Users\mcfletch\OpenGL-dev\OpenGL-ctypes\OpenGL_accelerate\src\latebind.c:1201)
  File "C:\Program Files (x86)\Xpra\OpenGL\GL\exceptional.py", line 46, in glEnd

  File "errorchecker.pyx", line 53, in OpenGL_accelerate.errorchecker._ErrorChec
ker.glCheckError (c:\Users\mcfletch\OpenGL-dev\OpenGL-ctypes\OpenGL_accelerate\s
rc\errorchecker.c:1218)
GLError: GLError(
        err = 1282,
        description = 'invalid operation',
        baseOperation = glEnd,
        cArguments = ()
)
2015-10-06 13:28:42,855 do_paint_rgb32 error
Traceback (most recent call last):
  File "xpra\client\window_backing_base.pyc", line 308, in do_paint_rgb32
  File "xpra\client\gl\gl_window_backing_base.pyc", line 619, in _do_paint_rgb32

  File "xpra\client\gl\gl_window_backing_base.pyc", line 690, in _do_paint_rgb
  File "latebind.pyx", line 44, in OpenGL_accelerate.latebind.Curry.__call__ (c:
\Users\mcfletch\OpenGL-dev\OpenGL-ctypes\OpenGL_accelerate\src\latebind.c:1201)
  File "C:\Program Files (x86)\Xpra\OpenGL\GL\exceptional.py", line 46, in glEnd

  File "errorchecker.pyx", line 50, in OpenGL_accelerate.errorchecker._ErrorChec
ker.glCheckError (c:\Users\mcfletch\OpenGL-dev\OpenGL-ctypes\OpenGL_accelerate\s
rc\errorchecker.c:1121)
WindowsError: exception: access violation writing 0x0A535000}}}

comment:7 Changed 3 years ago by Antoine Martin

Owner: changed from J. Max Mena to Antoine Martin
Status: newassigned

There are two events which we should be able to use:

  • WM_DWMNCRENDERINGCHANGED seems like the right type of message as it is related to rendering, but the DwmGetWindowAttribute call is too obscure to use.
  • WM_WTSSESSION_CHANGE: Notifies applications of changes in session state.. From your log, it seems to go into WTS_SESSION_LOCK then 3 seconds later WTS_SESSION_UNLOCK. It is less clean than the event above because we have to infer that the opengl rendering context is going to be broken by the lock + unlock. (which may not be true for all OS versions and drivers... but that's what we have available)

comment:8 Changed 3 years ago by Antoine Martin

Owner: changed from Antoine Martin to J. Max Mena
Priority: majorcritical
Status: assignednew

Some preparatory / cleanup work in r10760 + a fix in r10761. (may backport those)

r10762 should fix this: we now iconify our windows when the session is locked on win32, so the windows are "umapped" and we close the OpenGL context.
You will then have to unminimize them when you unlock.

Note: assuming that this does fix things for you (I understand it may take time to confirm as it is harder to confirm a negative result... side note: I believe a fast updating window like glxgears is more likely to trigger this problem), then we can:

  • try to unminimize the windows when we get the corresponding unlock event (will have to add a new state to keep track of which windows need to be unminimized)
  • prevent new windows from popping up whilst the screen is locked, which is not implemented yet as this is harder and also less likely to occur (we could fake the configure event and send a "minimize" message immediately after, but this would not take care of various other messages which can cause the minimized window to be mapped... and therefore may be able to trigger the crash)

I am raising the priority of this ticket because I would like to get some kind of fix in 0.15

comment:9 Changed 3 years ago by J. Max Mena

Upped client to r10765 (Win8.1):

  • Repro'd ?
    • I got an error stating that the graphics driver crashed and then recovered - Xpra also crashed.
      • It looks like Xpra has contributed to the crash as the other applications that I had open have never caused an issue such as this before. (I use most of them on a daily basis)

Output from -d win32 (the tail end of it...most of the error print has overridden what was printed beforehand)

(edited - removed long winded pyopengl errorchecker messages)

2015-10-08 15:27:51,529 do_paint_rgb24 error
Traceback (most recent call last):
  File "xpra\client\window_backing_base.pyc", line 277, in do_paint_rgb24
  File "xpra\client\gl\gl_window_backing_base.pyc", line 622, in _do_paint_rgb24

  File "xpra\client\gl\gl_window_backing_base.pyc", line 690, in _do_paint_rgb
  File "latebind.pyx", line 44, in OpenGL_accelerate.latebind.Curry.__call__ (c:
\Users\mcfletch\OpenGL-dev\OpenGL-ctypes\OpenGL_accelerate\src\latebind.c:1201)
  File "C:\Program Files (x86)\Xpra\OpenGL\GL\exceptional.py", line 46, in glEnd

  File "errorchecker.pyx", line 50, in OpenGL_accelerate.errorchecker._ErrorChec
ker.glCheckError (c:\Users\mcfletch\OpenGL-dev\OpenGL-ctypes\OpenGL_accelerate\s
rc\errorchecker.c:1121)
WindowsError: exception: access violation writing 0x08465000
Last edited 3 years ago by Antoine Martin (previous) (diff)

comment:10 Changed 3 years ago by Antoine Martin

Ah, but of course: iconifying the window is not enough, we still have a widget that references the OpenGL context and we still paint to it even, albeit at a slower rate (so that the window manager can show previews in the task bar and show the window contents as soon as we we deiconify it)

So r10778 + r10780 introduces a "freeze" call on the window class which we use to free the OpenGL context by removing the widget then re-creating one next time we need it again. This is all a bit too involved to backport to v0.15.x.

To make it easier to test this code, especially on other platforms where locking does not cause the windows to be frozen, you can still trigger it with:

--key-shortcut=Meta+Shift+F7:freeze

r10779 should make it very rare (though maybe not impossible? but no big deal) to get paint errors reported as we finish to decompress a picture after we've destroyed the window's opengl backing context: those should now get logged at debug level only.

Things I would like to do more properly (which I will need to put in a new ticket):

  • as mentioned in comment:8 there is nothing stopping applications from creating new windows (or showing / resizing existing ones) after we call freeze, which may still cause the crash...
  • maybe the "_been_mapped" flag should be reset to False when we freeze (or unmap?) a window
  • restoring the windows when the screen is unlocked

@maxmylyn: does this work for you?

comment:11 Changed 3 years ago by J. Max Mena

Owner: changed from J. Max Mena to Antoine Martin

Updated to r10768:

Attempted several times

  • Windows now minimize after screen lock
  • After unlocking, they do not restore
  • No more client crashes, though!

-d win32 output(snipped to after SESSION_LOCK event):

(connected, locked screen, waited, then unlocked)

2015-10-09 13:36:02,359 WM_WTSSESSION_CHANGE: SESSION_LOCK on session 0x1
2015-10-09 13:36:02,359 will freeze all the windows
2015-10-09 13:36:02,375 on_getminmaxinfo(2032986, 36, 0, 1631208) max_size=None
2015-10-09 13:36:02,375 callbacks for event WM_ACTIVATEAPP: [<bound method Clien
tExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x072957B
0>>]
2015-10-09 13:36:02,375 WM_ACTIVATEAPP: 1/0 client=gtk2.client
2015-10-09 13:36:02,375 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x1f055a
2015-10-09 13:36:02,375 fixup_window_style() unchanged style 0x16cf0000 on windo
w 0x2804ec
2015-10-09 13:36:02,375 fixup_window_style() unchanged style 0x16cf0000 on windo
w 0x3204f4
2015-10-09 13:36:02,375 fixup_window_style() unchanged style 0x16cf0000 on windo
w 0x2204ea
2015-10-09 13:36:02,391 on_getminmaxinfo(2622700, 36, 0, 1631208) max_size=None
2015-10-09 13:36:02,391 on_getminmaxinfo(3278068, 36, 0, 1631208) max_size=None
2015-10-09 13:36:02,407 on_getminmaxinfo(2229482, 36, 0, 1631208) max_size=None
2015-10-09 13:36:02,407 after_window_state_updated()
2015-10-09 13:36:02,407 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x1f055a
2015-10-09 13:36:02,407 after_window_state_updated()
2015-10-09 13:36:02,407 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2804ec
2015-10-09 13:36:02,407 after_window_state_updated()
2015-10-09 13:36:02,407 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x3204f4
Traceback (most recent call last):
  File "xpra\client\gtk_base\gtk_client_window_base.pyc", line 340, in window_st
ate_updated
  File "xpra\client\gtk_base\gtk_client_window_base.pyc", line 360, in update_wi
ndow_state
AssertionError
2015-10-09 13:36:02,407 after_window_state_updated()
2015-10-09 13:36:02,407 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2204ea
2015-10-09 13:36:03,700 sound-sink using audio codec: MPEG 1 Audio, Layer 3 (MP3
)
2015-10-09 13:37:11,611 callbacks for event WM_DEVICECHANGE: None
2015-10-09 13:37:11,611 WM_DEVICECHANGE: 7 / 0
2015-10-09 13:37:21,729 callbacks for event WM_DEVICECHANGE: None
2015-10-09 13:37:21,729 WM_DEVICECHANGE: 7 / 0
2015-10-09 13:37:24,812 callbacks for event WM_WTSSESSION_CHANGE: [<bound method
 ClientExtras.session_change_event of <xpra.platform.win32.gui.ClientExtras obje
ct at 0x072957B0>>]
2015-10-09 13:37:24,812 WM_WTSSESSION_CHANGE: SESSION_UNLOCK on session 0x1
2015-10-09 13:37:26,344 callbacks for event WM_NULL: None
2015-10-09 13:37:26,344 unknown reserved system message: WM_NULL / 0 / 0
2015-10-09 13:37:32,109 callbacks for event WM_ACTIVATEAPP: [<bound method Clien
tExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x072957B
0>>]
2015-10-09 13:37:32,109 WM_ACTIVATEAPP: 0/4476 client=gtk2.client
2015-10-09 13:37:32,109 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x1f055a
2015-10-09 13:37:32,109 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2804ec
2015-10-09 13:37:32,109 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x3204f4
2015-10-09 13:37:32,125 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2204ea
2015-10-09 13:37:36,907 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:36,907 move_cb(2229560, 1044, 0, 512) x=2300, y=1403, size=16
2015-10-09 13:37:39,252 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,252 move_cb(2229560, 1044, 0, 512) x=2320, y=1421, size=16
2015-10-09 13:37:39,252 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,252 move_cb(2229560, 1044, 0, 512) x=2320, y=1421, size=16
2015-10-09 13:37:39,266 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,266 move_cb(2229560, 1044, 0, 512) x=2318, y=1421, size=16
2015-10-09 13:37:39,361 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,361 move_cb(2229560, 1044, 0, 512) x=2318, y=1421, size=16
2015-10-09 13:37:39,438 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,438 move_cb(2229560, 1044, 0, 512) x=2316, y=1423, size=16
2015-10-09 13:37:39,516 OnTaskbarNotify(2229560,1044,0,516) button(s) lookup: [(
3, 1)], callback=<function xpra_tray_click at 0x0712A970>
2015-10-09 13:37:39,627 OnTaskbarNotify(2229560,1044,0,517) button(s) lookup: [(
3, 0)], callback=<function xpra_tray_click at 0x0712A970>
2015-10-09 13:37:39,641 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,641 move_cb(2229560, 1044, 0, 512) x=2316, y=1423, size=16
2015-10-09 13:37:39,641 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,641 move_cb(2229560, 1044, 0, 512) x=2316, y=1423, size=16
2015-10-09 13:37:39,641 OnTaskbarNotify(2229560,1044,0,512) button(s) lookup: [(
2229560, 1044, 0, 512)], callback=<bound method Win32Tray.move_cb of <xpra.platf
orm.win32.win32_tray.Win32Tray object at 0x07287630>>
2015-10-09 13:37:39,641 move_cb(2229560, 1044, 0, 512) x=2316, y=1423, size=16
2015-10-09 13:37:40,345 callbacks for event WM_ACTIVATEAPP: [<bound method Clien
tExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x072957B
0>>]
2015-10-09 13:37:40,345 WM_ACTIVATEAPP: 1/2540 client=gtk2.client
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x1f055a
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2804ec
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x3204f4
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2204ea
2015-10-09 13:37:40,345 callbacks for event WM_ACTIVATEAPP: [<bound method Clien
tExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x072957B
0>>]
2015-10-09 13:37:40,345 WM_ACTIVATEAPP: 0/2540 client=gtk2.client
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x1f055a
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2804ec
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x3204f4
2015-10-09 13:37:40,345 fixup_window_style() unchanged style 0x36cf0000 on windo
w 0x2204ea
2015-10-09 13:37:40,345 Win32Tray.cleanup() tray_widget=<xpra.platform.win32.win
32_NotifyIcon.win32NotifyIcon object at 0x07287650>
2015-10-09 13:37:40,345 win32NotifyIcon.close()
2015-10-09 13:37:40,345 OnDestroy(2229560,None,None,None) exit_callback=None
2015-10-09 13:37:40,345 OnDestroy(..) calling Shell_NotifyIcon(NIM_DELETE, (2229
560, 0))
2015-10-09 13:37:40,361 OnDestroy(..) calling exit_callback=None
2015-10-09 13:37:40,361 Win32Tray.cleanup() ended
2015-10-09 13:37:40,361 ClientExtras.cleanup()
2015-10-09 13:37:40,361 calling win32api.SetConsoleCtrlHandler(None, False)
2015-10-09 13:37:40,361 Win32EventListener.cleanup()
2015-10-09 13:37:40,361 stop_win32_session_events() old win32 proc=514150400
2015-10-09 13:37:40,361 ClientExtras.cleanup() ended
2015-10-09 13:37:40,361 remove_window_hooks(GLClientWindow(1 : None)) found <xpr
a.platform.win32.window_hooks.Win32Hooks object at 0x072D06B0>
2015-10-09 13:37:40,361 cleanup()
2015-10-09 13:37:40,361 remove_window_hooks(GLClientWindow(2 : None)) found <xpr
a.platform.win32.window_hooks.Win32Hooks object at 0x072D0810>
2015-10-09 13:37:40,361 cleanup()
2015-10-09 13:37:40,377 remove_window_hooks(GLClientWindow(21 : None)) found <xp
ra.platform.win32.window_hooks.Win32Hooks object at 0x072D0B10>
2015-10-09 13:37:40,377 cleanup()
2015-10-09 13:37:40,377 remove_window_hooks(GLClientWindow(14 : None)) found <xp
ra.platform.win32.window_hooks.Win32Hooks object at 0x072D08B0>
2015-10-09 13:37:40,377 cleanup()
2015-10-09 13:37:40,377 remove_window_hooks(GLClientWindow(17 : None)) found <xp
ra.platform.win32.window_hooks.Win32Hooks object at 0x072D09F0>
2015-10-09 13:37:40,377 cleanup()
2015-10-09 13:37:40,891 Win32Tray.cleanup() tray_widget=None
2015-10-09 13:37:40,891 Win32Tray.cleanup() ended
2015-10-09 13:37:40,891 ClientExtras.cleanup()
2015-10-09 13:37:40,891 Win32EventListener.cleanup()
2015-10-09 13:37:40,891 stop_win32_session_events() old win32 proc=None
2015-10-09 13:37:40,891 ClientExtras.cleanup() ended

comment:12 Changed 3 years ago by Antoine Martin

Resolution: fixed
Status: newclosed

I have moved the unresolved issues to #997. (restore windows, block new windows)

Found one remaining issue AssertionError thanks to your client log output, it should be fixed by r10786. This could have caused this minimize code to fail for some windows in some cases! ..and the crash to re-appear.

Closing at last!

(I am not backporting these changes for now: just too many changes, too intrusive, let's focus on 0.16)

Note: See TracTickets for help on using tickets.