Xpra: Ticket #978: race in xshm image wrapper and video compression?

I believe I hit this bug after a suspend + resume cycle at the "wrong" time, we failed to capture the window pixels:

error processing encode queue: failed to get pixels from XShmImageWrapper(BGRX: 17, 2, 960, 792)
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 1296, in encode_from_queue
    self.make_data_packet_cb(*item)
  File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 1325, in make_data_packet_cb
    packet = self.make_data_packet(damage_time, process_damage_time, wid, image, coding, sequence, options, flush)
  File "/usr/lib64/python2.7/site-packages/xpra/server/window_source.py", line 1674, in make_data_packet
    ret = encoder(coding, image, options)
  File "/usr/lib64/python2.7/site-packages/xpra/server/window_video_source.py", line 1277, in video_encode
    ret = self._video_encoder.compress_image(csc_image, quality, speed, options)
  File "xpra/codecs/nvenc4/encoder.pyx", line 1841, in xpra.codecs.nvenc4.encoder.Encoder.compress_image (xpra/codecs/nvenc4/encoder.c:20464)
    return self.do_compress_image(image, options)
  File "xpra/codecs/nvenc4/encoder.pyx", line 1868, in xpra.codecs.nvenc4.encoder.Encoder.do_compress_image (xpra/codecs/nvenc4/encoder.c:21116)
    assert pixels, "failed to get pixels from %s" % image
AssertionError: failed to get pixels from XShmImageWrapper(BGRX: 17, 2, 960, 792)

Which means that the pixels ptr was NULL, which should never happen whilst we're still processing the image wrapper.



Fri, 23 Oct 2015 06:37:34 GMT - Antoine Martin: status, milestone changed

I believe I have also seen this same error with enc_x264 whilst re-sizing the display as part of #976. It should be very rare, and not fatal, so I'm not going to worry too much about it for now.


Tue, 12 Jul 2016 16:51:50 GMT - Antoine Martin: milestone changed

Milestone renamed


Sun, 21 Aug 2016 09:55:49 GMT - Antoine Martin: milestone changed

Milestone renamed


Tue, 27 Sep 2016 09:33:24 GMT - Antoine Martin: status changed; resolution set

Not seen since.


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

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