Xpra: Ticket #1446: r15125 Slow drawing, encoding errors

Current Debian testing, r15125.

I'm getting slow drawing, semi-empty menus. Server's log is being spammed with this on redraws:

2017-02-21 05:01:45,032 error processing encode queue at index 0
2017-02-21 05:01:45,033 item=(1066, 28, 1487642497.021751, 1487642497.023507, XShmImageWrapper(BGRX: 213, 547, 1066, 28), 'png', 525, {'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True}, 3)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,137 PIL_encode(863, 23, 'png', '79396 bytes', 'BGRX', 3452) converting <type 'str'> pixels from BGRX to RGBA failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,137 error processing encode queue at index 0
2017-02-21 05:01:45,138 item=(863, 23, 1487642497.021751, 1487642497.023622, XShmImageWrapper(BGRX: 416, 575, 863, 23), 'png', 527, {'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True}, 2)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,235 PIL_encode(841, 23, 'png', '77372 bytes', 'BGRX', 3364) converting <type 'str'> pixels from BGRX to RGBA failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,236 error processing encode queue at index 0
2017-02-21 05:01:45,236 item=(841, 23, 1487642497.021751, 1487642497.023731, XShmImageWrapper(BGRX: 438, 524, 841, 23), 'png', 529, {'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True}, 1)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,347 PIL_encode(40, 23, 'png', '3680 bytes', 'BGRX', 160) converting <type 'str'> pixels from BGRX to RGBA failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,347 error processing encode queue at index 0
2017-02-21 05:01:45,347 item=(40, 23, 1487642497.021751, 1487642497.023804, XShmImageWrapper(BGRX: 213, 524, 40, 23), 'png', 531, {'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True}, 0)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,956 PIL_encode(1055, 90, 'png', '379800 bytes', 'BGRX', 4220) converting <type 'str'> pixels from BGRX to RGBA failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:45,957 error processing encode queue at index 0
2017-02-21 05:01:45,957 item=(1055, 90, 1487642504.657161, 1487642504.776799, XShmImageWrapper(BGRX: 213, 408, 1055, 90), 'png', 537, {}, 0)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:46,566 PIL_encode(1280, 1078, 'png', '5519360 bytes', 'BGRX', 5120) converting <type 'str'> pixels from BGRX to RGBA failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:46,567 error processing encode queue at index 0
2017-02-21 05:01:46,567 item=(1280, 1078, 1487642506.335905, 1487642506.341994, XShmImageWrapper(BGRX: 0, 0, 1280, 1078), 'png', 595, {'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True}, 0)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:46,876 PIL_encode(1280, 1078, 'png', '5519360 bytes', 'BGRX', 5120) converting <type 'str'> pixels from BGRX to RGBA failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:46,876 error processing encode queue at index 0
2017-02-21 05:01:46,876 item=(1280, 1078, 1487642506.867509, 1487642506.869791, XShmImageWrapper(BGRX: 0, 0, 1280, 1078), 'png', 601, {'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True}, 0)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:47,666 PIL_encode(1280, 1078, 'png', '5519360 bytes', 'BGRX', 5120) converting <type 'str'> pixels from BGRX to RGBA failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode
2017-02-21 05:01:47,667 error processing encode queue at index 0
2017-02-21 05:01:47,667 item=(1280, 1078, 1487642507.65778, 1487642507.660069, XShmImageWrapper(BGRX: 0, 0, 1280, 1078), 'png', 609, {'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True}, 0)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_video_source.py", line 875, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1488, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, image, coding, sequence, options, flush)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1840, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib/python2.7/dist-packages/xpra/server/window/window_source.py", line 1945, in pillow_encode
    return self.enc_pillow.encode(coding, image, q, s, transparency)
  File "/usr/lib/python2.7/dist-packages/xpra/codecs/pillow/encode.py", line 115, in encode
    im = Image.frombuffer(rgb, (w, h), pixels, "raw", pixel_format, image.get_rowstride(), 1)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2167, in frombuffer
    return frombytes(mode, size, data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 2100, in frombytes
    im.frombytes(data, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 737, in frombytes
    d = _getdecoder(self.mode, decoder_name, args)
  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 422, in _getdecoder
    return decoder(mode, *args + extra)
ValueError: unknown raw mode


Tue, 21 Feb 2017 02:23:24 GMT - psycho_zs:

With previous build (r15060) as a server and r15125 as a client the problem does not occur.


Tue, 21 Feb 2017 09:47:58 GMT - Antoine Martin: status, component, description changed; resolution, milestone set

Fixed in r15128, feel free to re-open if I've missed something.


Tue, 21 Feb 2017 18:40:02 GMT - psycho_zs:

Seems to be fixed. Thanks!


Sat, 23 Jan 2021 05:24:32 GMT - migration script:

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