xpra icon
Bug tracker and wiki

Opened 7 years ago

Closed 6 years ago

#150 closed defect (duplicate)

opengl client window rendering bugs

Reported by: Antoine Martin Owned by: ahuillet
Priority: major Milestone: 0.9
Component: client Version: trunk
Keywords: Cc:

Description (last modified by Antoine Martin)

1) pyopengl glTexSubImage2D GL_TEXTURE_RECTANGLE_ARB error: 1281 invalid value

Got a bug when resizing paraview with x264 + opengl client window (see #147 and #107):

_process_window_resized resizing window <GLClientWindow object at 0x3593230 (xpra+client_window+ClientWindow at 0x34252e0)> (id=3) to (1339, 735)
do_configure_event(<gtk.gdk.Event at 0x3507c38: GDK_CONFIGURE x=2, y=23, width=1339, height=735>): new geometry=(2, 23, 1339, 735)
_process_window_resized resizing window <GLClientWindow object at 0x3593230 (xpra+client_window+ClientWindow at 0x34252e0)> (id=3) to (1340, 735)
do_configure_event(<gtk.gdk.Event at 0x3507c38: GDK_CONFIGURE x=2, y=23, width=1340, height=735>): new geometry=(2, 23, 1340, 735)
_process_window_resized resizing window <GLClientWindow object at 0x3593230 (xpra+client_window+ClientWindow at 0x34252e0)> (id=3) to (1422, 735)
do_configure_event(<gtk.gdk.Event at 0x3507c38: GDK_CONFIGURE x=2, y=23, width=1422, height=735>): new geometry=(2, 23, 1422, 735)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1340,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1340,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1340,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1340,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1340,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1340,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
_process_window_resized resizing window <GLClientWindow object at 0x3593230 (xpra+client_window+ClientWindow at 0x34252e0)> (id=3) to (1504, 735)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
_process_window_resized resizing window <GLClientWindow object at 0x3593230 (xpra+client_window+ClientWindow at 0x34252e0)> (id=3) to (1536, 735)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1422,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
do_configure_event(<gtk.gdk.Event at 0x3507c38: GDK_CONFIGURE x=2, y=23, width=1536, height=735>): new geometry=(2, 23, 1536, 735)
_process_window_resized resizing window <GLClientWindow object at 0x3593230 (xpra+client_window+ClientWindow at 0x34252e0)> (id=3) to (1538, 735)
_process_window_resized resizing window <GLClientWindow object at 0x3593230 (xpra+client_window+ClientWindow at 0x34252e0)> (id=3) to (1562, 735)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
do_configure_event(<gtk.gdk.Event at 0x3507c38: GDK_CONFIGURE x=430, y=195, width=1562, height=735>): new geometry=(430, 195, 1536, 735)
do_configure_event(<gtk.gdk.Event at 0x3507c38: GDK_CONFIGURE x=430, y=195, width=1536, height=735>): new geometry=(430, 195, 1536, 735)
do_configure_event(<gtk.gdk.Event at 0x3507c38: GDK_CONFIGURE x=430, y=195, width=1536, height=735>): new geometry=(430, 195, 1536, 735)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd3\xd3\xd3\xd3\xd4\xd4\xd4\xd4\xd4...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	)
)
Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 183, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 124, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 166, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 254, in update_texture_yuv420
    glTexSubImage2D(GL_TEXTURE_RECTANGLE_ARB, 0, x, y, width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, img_data[0])
  File "/usr/lib/python2.7/site-packages/OpenGL/latebind.py", line 41, in __call__
    return self._finalCall( *args, **named )
  File "/usr/lib/python2.7/site-packages/OpenGL/wrapper.py", line 791, in wrapperCall
    raise err
GLError: GLError(
	err = 1281,
	description = 'invalid value',
	baseOperation = glTexSubImage2D,
	pyArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	),
	cArgs = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	),
	cArguments = (
		GL_TEXTURE_RECTANGLE_ARB,
		0,
		0,
		0,
		1536,
		734,
		GL_LUMINANCE,
		GL_UNSIGNED_BYTE,
		'\xd5\xd5\xd5\xd5\xd4\xd4\xd4\xd5\xd5...,
	)
)

2) this one when trying to run nexuiz (nothing on screen at all):

Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 491, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 764, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 182, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 686, in _process_draw
    window.draw_region(x, y, width, height, coding, data, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 131, in draw_region
    self.paint_with_video_decoder(DECODERS, Decoder, "x264", img_data, x, y, width, height, rowstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 173, in paint_with_video_decoder
    update_texture(data, x, y, width, height, outstride)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 211, in update_texture_yuv420
    assert self.textures is not None
AssertionError

Change History (15)

comment:1 Changed 7 years ago by Antoine Martin

Description: modified (diff)
Summary: pyopengl glTexSubImage2D GL_TEXTURE_RECTANGLE_ARB error: 1281 invalid valueopengl client window rendering bugs

comment:2 Changed 7 years ago by ahuillet

The first problem should be OK with trunk as of this writing.

As for the second problem, please try the following:

diff --git a/src/xpra/gl_client_window.py b/src/xpra/gl_client_window.py
index 7dbd2d7..fa78bd0 100644
--- a/src/xpra/gl_client_window.py
+++ b/src/xpra/gl_client_window.py
@@ -75,6 +75,13 @@ class GLClientWindow(ClientWindow):
         self._on_close = []
         self.textures = None # OpenGL texture IDs
         self.current_mode = GLClientWindow.MODE_UNINITIALIZED
+        drawable = self.glarea.get_gl_drawable()
+        context = self.glarea.get_gl_context()
+        if not drawable.gl_begin(context):
+            raise Exception("** Cannot create OpenGL rendering context!")
+        if self.textures is None:
+            self.textures = glGenTextures(3)
+        drawable.gl_end()
 
     def do_configure_event(self, event):
         ClientWindow.do_configure_event(self, event)

comment:3 Changed 7 years ago by Antoine Martin

FYI: I still get errors during resizing:

Error while decoding frame
paint_with_video_decoder: ouch, decompression error 2
[h264 @ 0x2e54520] non-existing PPS 0 referenced
[h264 @ 0x2e54520] decode_slice_header error
[h264 @ 0x2e54520] no frame!

But these are not specific to gl rendering.

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

comment:4 Changed 7 years ago by Antoine Martin

Sorry, I was wrong:

found valid OpenGL: 2.1
GL Extension GL_ARB_fragment_program available

(xpra:28451): GtkGLExt-CRITICAL **: gtk_widget_get_gl_window: assertion `gtk_widget_get_realized (widget)' failed

(xpra:28451): GtkGLExt-CRITICAL **: gtk_widget_get_gl_context: assertion `gtk_widget_get_realized (widget)' failed

Unhandled error while processing packet from peer
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/protocol.py", line 496, in _process_packet
    self._process_packet_cb(self, decoded)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 783, in process_packet
    XpraClientBase.process_packet(self, proto, packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client_base.py", line 191, in process_packet
    handler(packet)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 676, in _process_new_window
    self._process_new_common(packet, False)
  File "/usr/lib64/python2.7/site-packages/xpra/client.py", line 670, in _process_new_common
    window = ClientWindowClass(self, wid, x, y, w, h, metadata, override_redirect)
  File "/usr/lib64/python2.7/site-packages/xpra/gl_client_window.py", line 80, in __init__
    if not drawable.gl_begin(context):
AttributeError: 'NoneType' object has no attribute 'gl_begin'

Maybe because the widget is not realized yet? (just make it so?)

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

comment:5 Changed 7 years ago by Antoine Martin

New one today:

Mesa 8.0.3 implementation error: Unexpected program target 0x0 in destroy_program_variants_cb()
Please report at bugs.freedesktop.org

comment:6 Changed 7 years ago by Antoine Martin

Milestone: 0.40.8
Owner: changed from ahuillet to Antoine Martin
Status: newaccepted

comment:7 Changed 7 years ago by Antoine Martin

Resolution: fixed
Status: acceptedclosed

All these bugs have now been dealt with - I think.

A number of those were not actually directly caused by GL rendering, maybe just made worse? ie: there were a number of races in the video decoder's setup/cleanup code (all fixed before 0.7 release)

The rest will be followed up in #149

comment:8 Changed 7 years ago by Antoine Martin

Resolution: fixed
Status: closedreopened

the bug in comment:5 is still present, and it happens for others too: upstream bug

We will need to run in gdb and "poke around".

comment:9 Changed 7 years ago by Antoine Martin

Owner: changed from Antoine Martin to ahuillet
Status: reopenedassigned

meh, I don't understand where I am supposed to find this destroy_program_variants_cb function loaded.
I attached gdb to both xpra and Xorg, and neither of them has this function loaded... ideas?

comment:10 Changed 7 years ago by Antoine Martin

New one today (gedit right click? - caused by transient window?):

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/xpra/gl_window_backing.py", line 148, in do_paint
    if self.update_texture_yuv(img_data, x, y, width, height, rowstrides, pixel_format):
  File "/usr/lib64/python2.7/site-packages/xpra/gl_window_backing.py", line 170, in update_texture_yuv
    assert self.textures is not None
AssertionError

comment:11 Changed 7 years ago by Antoine Martin

Now I can get destroy_program_variants_cb to break, here's what I found:

Breakpoint 1, 0x00007fc60766c940 in destroy_program_variants_cb () from /usr/lib64/dri/nouveau_dri.so
(gdb) bt
#0  0x00007fc60766c940 in destroy_program_variants_cb () from /usr/lib64/dri/nouveau_dri.so
#1  0x00007fc6075f9f00 in _mesa_HashWalk () from /usr/lib64/dri/nouveau_dri.so
#2  0x00007fc60766ddf1 in st_destroy_program_variants () from /usr/lib64/dri/nouveau_dri.so
#3  0x00007fc60766a4fa in st_destroy_context () from /usr/lib64/dri/nouveau_dri.so
#4  0x00007fc6074edd8a in dri_destroy_context () from /usr/lib64/dri/nouveau_dri.so
#5  0x00007fc6074e9f23 in driDestroyContext () from /usr/lib64/dri/nouveau_dri.so
#6  0x00007fc60ec4500c in dri2_destroy_context (context=0x29b8090) at dri2_glx.c:132
#7  0x00007fc60ec18021 in glXDestroyContext (ctx=0x29b8090, dpy=0x18fa540) at glxcmds.c:424
#8  glXDestroyContext (dpy=0x18fa540, ctx=0x29b8090) at glxcmds.c:405
#9  0x00007fc60c323464 in _gdk_gl_context_destroy () from /lib64/libgdkglext-x11-1.0.so.0
#10 0x00007fc60c323499 in gdk_gl_context_impl_x11_finalize () from /lib64/libgdkglext-x11-1.0.so.0
#11 0x0000003564e1486b in g_object_unref () from /lib64/libgobject-2.0.so.0
#12 0x00007fc60c546872 in gtk_gl_widget_unrealize () from /lib64/libgtkglext-x11-1.0.so.0
#13 0x0000003564e0f910 in g_closure_invoke () from /lib64/libgobject-2.0.so.0
#14 0x0000003564e20d08 in signal_emit_unlocked_R () from /lib64/libgobject-2.0.so.0
#15 0x0000003564e28c8d in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#16 0x0000003564e28de2 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#17 0x0000003091286b62 in gtk_widget_unrealize () from /lib64/libgtk-x11-2.0.so.0
#18 0x00000030912823dc in gtk_widget_real_unrealize () from /lib64/libgtk-x11-2.0.so.0
#19 0x0000003564e0fbd7 in _g_closure_invoke_va () from /lib64/libgobject-2.0.so.0
#20 0x0000003564e283a8 in g_signal_emit_valist () from /lib64/libgobject-2.0.so.0
#21 0x0000003564e28de2 in g_signal_emit () from /lib64/libgobject-2.0.so.0
#22 0x0000003091286b62 in gtk_widget_unrealize () from /lib64/libgtk-x11-2.0.so.0
#23 0x0000003091289e18 in gtk_widget_dispose () from /lib64/libgtk-x11-2.0.so.0
#24 0x0000003564e15961 in g_object_run_dispose () from /lib64/libgobject-2.0.so.0
#25 0x00007fc6101a3f0d in _wrap_gtk_widget_destroy () from /usr/lib64/python2.7/site-packages/gtk-2.0/gtk/_gtk.so
#26 0x0000003561e49c0e in PyObject_Call ([email protected]=<built-in method destroy of GLClientWindow object at remote 0x27ee5a0>, [email protected]=(), 
    kw=<optimized out>) at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
#27 0x0000003561ed7367 in PyEval_CallObjectWithKeywords ([email protected]=<built-in method destroy of GLClientWindow object at remote 0x27ee5a0>, [email protected]=(), 
    [email protected]=0x0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3967
#28 0x0000003561e5e199 in methoddescr_call (descr=<optimized out>, args=(), kwds=0x0) at /usr/src/debug/Python-2.7.3/Objects/descrobject.c:247
#29 0x0000003561e49c0e in PyObject_Call ([email protected]=<method_descriptor at remote 0x7fc60da449e0>, [email protected]=
    (<GLClientWindow(_been_mapped=True, _refresh_min_pixels=-1, _client_properties={'workspace': 0}, group_leader=None, _refresh_timer=None, _pos=(2, 23), _metadata={'size-constraints': {}, 'window-type': ('_NET_WM_WINDOW_TYPE_NORMAL',), 'pid': -1, 'modal': False, 'title': 'glxgears'}, _override_redirect=False, _client=<XpraClient(_draw_thread=<Thread(_Thread__ident=140488475068160, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1d1e170>, acquire=<built-in method acquire of thread.lock object at remote 0x1d1e170>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1d1e170>) at remote 0x24b7450>, _Thread__name='draw_loop', _Thread__daemonic=True, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1a06cd0>, acquire=<built-in method acquire of thread.lock object at remote 0x1a06cd0>, _Condition__waiters=[], release=<built-...(truncated), [email protected]=0x0) at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
#30 0x0000003561ed9583 in do_call (nk=<optimized out>, na=1, pp_stack=0x7fff726796a8, func=<method_descriptor at remote 0x7fc60da449e0>)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:4316
#31 call_function (oparg=<optimized out>, pp_stack=0x7fff726796a8) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4121
#32 PyEval_EvalFrameEx (f=<optimized out>, [email protected]=0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
#33 0x0000003561edcef1 in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7fff726798a8, func=<function at remote 0x1a0e0c8>)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:4184
#34 call_function (oparg=<optimized out>, pp_stack=0x7fff726798a8) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4119
#35 PyEval_EvalFrameEx ([email protected]=
    Frame 0x29c5610, for file /usr/lib64/python2.7/site-packages/xpra/client.py, line 1125, in _process_lost_window (self=<XpraClient(_draw_thread=<Thread(_Thread__ident=140488475068160, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1d1e170>, acquire=<built-in method acquire of thread.lock object at remote 0x1d1e170>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1d1e170>) at remote 0x24b7450>, _Thread__name='draw_loop', _Thread__daemonic=True, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1a06cd0>, acquire=<built-in method acquire of thread.lock object at remote 0x1a06cd0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1a06cd0>) at remote 0x1a02b90>) at remote 0x19bd6d0>, _Thread__stderr=<file at remote 0x7fc61c19f270>, _Thread__target=<instancemethod at remote 0x...(truncated), [email protected]=0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740

I think we just need a cleanup method for the gl window that will take care of destroying the shader, as already done in _do_paint_rgb24:

            glDisable(GL_FRAGMENT_PROGRAM_ARB)
            glDeleteProgramsARB(1, self.yuv_shader)
            self.yuv_shader = None

comment:12 Changed 7 years ago by Antoine Martin

more fixes in:

  • r2325 (delta mode support)
  • r2326 (fix expose events)

comment:13 Changed 7 years ago by Antoine Martin

r2327 fixes the destroy_program_variants_cb warning (and more).

comment:14 Changed 6 years ago by Antoine Martin

Milestone: 0.80.9

We need to pass small regions as YUV data (via swscale, preferably on the server) so the client can render them using the current GL video setup. Plain RGB won't work.

comment:15 Changed 6 years ago by Antoine Martin

Resolution: duplicate
Status: assignedclosed

Will follow up in #147

Note: See TracTickets for help on using tickets.