Xpra: Ticket #2376: win32 shadow server segfaults accepting new client

Not sure when this started or what caused it, caught by the unit tests.

...
2019-08-01 17:45:18,323 Python/GTK3 Microsoft Windows 7 client version 3.0-r23395 64-bit
2019-08-01 17:45:18,323  connected from 'Win7Pro64-PC' as 'Win7 Pro 64'
2019-08-01 17:45:18,324 notify_new_user(ClientConnection(1 : Protocol(tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898))) notifier=<xpra.platform.win32.win32_notifier.Win32_Notifier object at 0x0000000005590a10>
2019-08-01 17:45:18,325 screen=<__gi__.GdkWin32Screen object at 0x0000000008c778c0 (GdkWin32Screen at 0x0000000002ad1a20)>, monitors=1
2019-08-01 17:45:18,325 screen dimensions: 1768x1180
2019-08-01 17:45:18,325 our reduced dimensions: 1748x1116
2019-08-01 17:45:18,325 Popup(<xpra.gtk_common.gtk_notifier.GTK_Notifier object at 0x0000000004c26990>, 0, "User 'Win7 Pro 64' connected to the session", "Python/GTK3 Microsoft Windows 7 client version 3.0-r23395 64-bit\nconnected from 'Win7Pro64-PC' as 'Win7 Pro 64'", [], <GdkPixbuf.Pixbuf object at 0x000000000c17b8c0 (GdkPixbuf at 0x0000000004ee0480)>, 10, False)
2019-08-01 17:45:18,386 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:18,489 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:18,560 NotifyIconWndProc(2491648, 28, 1, 0) instance=win32NotifyIcon(0x0), message(28)=None
2019-08-01 17:45:18,560 callbacks for event WM_ACTIVATEAPP: None
2019-08-01 17:45:18,560 WM_ACTIVATEAPP: 1 / 0
2019-08-01 17:45:18,560 DefWindowProc(3736420, 28, 1, 0)=0
2019-08-01 17:45:18,562 get_x(466)=1302
2019-08-01 17:45:18,562 get_y(134)=982
2019-08-01 17:45:18,593 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:18,696 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:18,799 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:18,903 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,006 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,109 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,212 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,316 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,419 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,522 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,626 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,729 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,832 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:19,935 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,040 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,143 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,247 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,358 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,462 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,566 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,669 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,772 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,876 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:20,979 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,082 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,185 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,289 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,398 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,512 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,625 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,739 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,852 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:21,966 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:22,080 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:22,193 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:22,307 untilConcludes(<bound method Connection.is_active of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <bound method Connection.can_retry of tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898>, <built-in method recv of socket object at 0x000000000c15cc90>, (65536,), {}) timed out, retry=socket.timeout
Traceback (most recent call last):
  File "E:/Xpra/trunk/src\xpra\net\bytestreams.py", line 116, in untilConcludes
    return f(*a, **kw)
socket.timeout: timed out
2019-08-01 17:45:22,312 poll() procinfo list: []
2019-08-01 17:45:22,313 sending ping to Protocol(tcp socket: 127.0.0.1:53863 <- 127.0.0.1:53898) with time=117393060
2019-08-01 17:45:22,313 write_format_thread_loop starting
Segmentation fault


Sat, 03 Aug 2019 13:10:29 GMT - totaamwin32: status changed; resolution set

r23407 looks like the correct fix for this crash.


Sat, 23 Jan 2021 05:49:38 GMT - migration script:

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