Opened 6 years ago

Last modified 6 years ago

#2729 assigned defect

Graphics error after switching users

Reported by: zlwatson@… Owned by: Tom Goddard
Priority: normal Milestone:
Component: Graphics Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-5.0.0-36-generic-x86_64-with-debian-buster-sid
ChimeraX Version: 0.91 (2019-10-24)
Description
Switched user on computer, error was open when returning to original user

Log:
Startup Messages  
---  
warnings | QXcbConnection: XCB error: 148 (Unknown), sequence: 213, resource
id: 0, major code: 140 (Unknown), minor code: 20  
QXcbConnection: XCB error: 148 (Unknown), sequence: 234, resource id: 0, major
code: 140 (Unknown), minor code: 20  
  
UCSF ChimeraX version: 0.91 (2019-10-24)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> open /media/RAIDA/zoe/19May15_MMAL/triple2.cxs format session

opened ChimeraX session  

> show #!1 models

> fitmap #1 inMap #4

Fit map combined-pp.mrc in map job081-CPmap.mrc using 951733 points  
correlation = 0.01503, correlation about mean = 0.01046, overlap = 13.93  
steps = 212, shift = 3.43, angle = 2.42 degrees  
  
Position of combined-pp.mrc (#1) relative to job081-CPmap.mrc (#4)
coordinates:  
Matrix rotation and translation  
-0.98065748 0.15709624 0.11675444 318.95320176  
-0.15246799 -0.23906505 -0.95895847 411.31555185  
-0.12273688 -0.95821115 0.25839308 341.45387201  
Axis 0.00190941 0.61189837 -0.79093410  
Axis point 186.25871072 317.81517615 0.00000000  
Rotation angle (degrees) 168.71465347  
Shift along axis -17.77518410  
  

> select #1

4 models selected  

> ui mousemode rightMode "translate selected models"

> select clear

> fitmap #1 inMap #4

Fit map combined-pp.mrc in map job081-CPmap.mrc using 951733 points  
correlation = 0.01303, correlation about mean = 0.01115, overlap = 12.17  
steps = 104, shift = 2.79, angle = 2.08 degrees  
  
Position of combined-pp.mrc (#1) relative to job081-CPmap.mrc (#4)
coordinates:  
Matrix rotation and translation  
-0.97376483 0.17952206 0.13983493 300.70082557  
-0.18249633 -0.24902065 -0.95114864 421.63294797  
-0.13593039 -0.95171449 0.27524968 331.36314238  
Axis -0.00124339 0.60596181 -0.79549276  
Axis point 181.01546299 315.23520473 0.00000000  
Rotation angle (degrees) 166.84751047  
Shift along axis -8.47740301  
  

> select #1

4 models selected  

> view all

> ui mousemode rightMode "rotate selected models"

> ui mousemode rightMode "translate selected models"

> select clear

> fitmap #1 inMap #4

Fit map combined-pp.mrc in map job081-CPmap.mrc using 951733 points  
correlation = 0.5112, correlation about mean = 0.3594, overlap = 708.6  
steps = 260, shift = 2.98, angle = 13.6 degrees  
  
Position of combined-pp.mrc (#1) relative to job081-CPmap.mrc (#4)
coordinates:  
Matrix rotation and translation  
-0.97381729 0.20470735 -0.09886720 335.24605566  
0.09306682 -0.03779581 -0.99494220 349.20419328  
-0.20740876 -0.97809320 0.01775475 389.38821546  
Axis 0.10758117 0.69303982 -0.71282684  
Axis point 206.60215848 354.67194330 0.00000000  
Rotation angle (degrees) 175.50866592  
Shift along axis 0.51220471  
  

> toolshed show "Side View"

> fitmap #1 inMap #4

Fit map combined-pp.mrc in map job081-CPmap.mrc using 951733 points  
correlation = 0.5112, correlation about mean = 0.3594, overlap = 708.6  
steps = 40, shift = 0.0151, angle = 0.00716 degrees  
  
Position of combined-pp.mrc (#1) relative to job081-CPmap.mrc (#4)
coordinates:  
Matrix rotation and translation  
-0.97382680 0.20465378 -0.09888440 335.25662348  
0.09310764 -0.03769077 -0.99494237 349.19188782  
-0.20734576 -0.97810846 0.01764945 389.40741488  
Axis 0.10757027 0.69307869 -0.71279069  
Axis point 206.59984610 354.70194056 -0.00000000  
Rotation angle (degrees) 175.51224307  
Shift along axis 0.51512016  
  

> show #2 models

> hide #!4 models

> hide #3 models

> view all

> fitmap #2 inMap #1

Fit molecule input-50S-jc95.pdb (#2) to map combined-pp.mrc (#1) using 86113
atoms  
average map value = 0.006754, steps = 128  
shifted from previous position = 3.09  
rotated from previous position = 1.84 degrees  
atoms outside contour = 78669, contour level = 0.034998  
  
Position of input-50S-jc95.pdb (#2) relative to combined-pp.mrc (#1)
coordinates:  
Matrix rotation and translation  
0.97748973 0.04576037 -0.20596074 22.90652579  
-0.08104260 0.98274220 -0.16628248 38.43504194  
0.19479716 0.17923101 0.96432894 -48.13359155  
Axis 0.63499622 -0.73652623 -0.23304273  
Axis point 266.60891633 -0.00000000 89.92772486  
Rotation angle (degrees) 15.78685514  
Shift along axis -2.54567590  
  

> select #2

86113 atoms, 93813 bonds, 1 model selected  

> ui mousemode rightMode "translate selected models"

> ui mousemode rightMode "rotate selected models"

> ui mousemode rightMode "translate selected models"

> ui mousemode rightMode "rotate selected models"

> fitmap #2 inMap #1

Fit molecule input-50S-jc95.pdb (#2) to map combined-pp.mrc (#1) using 86113
atoms  
average map value = 0.00743, steps = 92  
shifted from previous position = 3.22  
rotated from previous position = 2.48 degrees  
atoms outside contour = 77913, contour level = 0.034998  
  
Position of input-50S-jc95.pdb (#2) relative to combined-pp.mrc (#1)
coordinates:  
Matrix rotation and translation  
0.99932738 0.02913605 -0.02226830 -3.91825319  
-0.03276313 0.98214445 -0.18525352 35.81662598  
0.01647313 0.18585850 0.98243842 -27.11723048  
Axis 0.98118559 -0.10242874 -0.16365568  
Axis point 0.00000000 165.21351949 175.71405821  
Rotation angle (degrees) 10.90108730  
Shift along axis -3.07529671  
  

> ~select #2

Nothing selected  

> hide #2 models

> show #2 models

> hide #!1 models

> show #3 models

> show #!1 models

> hide #!1 models

> hide #2 models

Expected an objects specifier or a view name or a keyword  

> view sel

No displayed objects specified.  

> select clear

> select clear

> view sel

No displayed objects specified.  

> view sel

No displayed objects specified.  

> view sel

No displayed objects specified.  

> select #3/A:432@C3'

1 atom, 1 model selected  

> select up

22 atoms, 24 bonds, 1 model selected  

> select up

62209 atoms, 69672 bonds, 1 model selected  

> select down

22 atoms, 24 bonds, 1 model selected  

> view sel

> show #!1 models

> show #2 models

> select #3

92450 atoms, 100754 bonds, 1 model selected  

> select #2

86113 atoms, 93813 bonds, 1 model selected  

> ui mousemode rightMode "translate selected models"

> fitmap #2 inMap #1

Fit molecule input-50S-jc95.pdb (#2) to map combined-pp.mrc (#1) using 86113
atoms  
average map value = 0.06231, steps = 204  
shifted from previous position = 11.9  
rotated from previous position = 10.7 degrees  
atoms outside contour = 20478, contour level = 0.034998  
  
Position of input-50S-jc95.pdb (#2) relative to combined-pp.mrc (#1)
coordinates:  
Matrix rotation and translation  
0.99999578 0.00056821 -0.00285071 0.30639739  
-0.00057584 0.99999625 -0.00267596 0.29964488  
0.00284918 0.00267759 0.99999236 -1.07758995  
Axis 0.67740365 -0.72122739 -0.14475963  
Axis point 370.91227208 0.00000000 71.89705510  
Rotation angle (degrees) 0.22640635  
Shift along axis 0.14743413  
  

> select clear

> save session /media/RAIDA/zoe/19May15_MMAL/triple3.cxs

> hide #!1 models

> hide #2 models

> view all

> select #3/X:77@C19

1 atom, 1 model selected  

> select up

7 atoms, 6 bonds, 1 model selected  

> view sel

> show #!1 models

> show #!4 models

> surface dust #1 size 5

> transparency 50

> hide #!1 models

> transparency 50

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> show #2 models

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> volume #4 toggle

> volume #1 toggle

> save session /media/RAIDA/zoe/19May15_MMAL/triple3.cxs

> show #!1 models

> hide #!4 models

Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/sideview/tool.py", line 116, in exposeEvent  
self.render()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/sideview/tool.py", line 276, in render  
self.view.draw()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 166, in draw  
self._draw_scene(camera, drawings)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 248, in _draw_scene  
pixel_width = self._highlight_width)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1479, in
draw_highlight_outline  
r.outline.finish_rendering_outline(color=color, pixel_width=pixel_width)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 1752, in
finish_rendering_outline  
r.pop_framebuffer()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 638, in pop_framebuffer  
fb.activate()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 2128, in activate  
GL.glDrawBuffer(self._draw_buffer)  
File "src/errorchecker.pyx", line 53, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
OpenGL.error.GLError: GLError(  
err = 1282,  
description = b'invalid operation',  
baseOperation = glDrawBuffer,  
cArguments = (GL_BACK,)  
)  
  
OpenGL.error.GLError: GLError(  
err = 1282,  
description = b'invalid operation',  
baseOperation = glDrawBuffer,  
cArguments = (GL_BACK,)  
)  
  
File "src/errorchecker.pyx", line 53, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
  
See log for complete Python traceback.  
  
An error occurred in drawing the scene. Redrawing graphics is now stopped to
avoid a continuous stream of error messages. To restart graphics use the
command "graphics restart" after changing the settings that caused the error.  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/updateloop.py", line 73, in draw_new_frame  
view.draw(check_for_changes = False)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 166, in draw  
self._draw_scene(camera, drawings)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 248, in _draw_scene  
pixel_width = self._highlight_width)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1479, in
draw_highlight_outline  
r.outline.finish_rendering_outline(color=color, pixel_width=pixel_width)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 1752, in
finish_rendering_outline  
r.pop_framebuffer()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 638, in pop_framebuffer  
fb.activate()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 2128, in activate  
GL.glDrawBuffer(self._draw_buffer)  
File "src/errorchecker.pyx", line 53, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
OpenGL.error.GLError: GLError(  
err = 1282,  
description = b'invalid operation',  
baseOperation = glDrawBuffer,  
cArguments = (GL_BACK,)  
)  
  
Traceback (most recent call last):  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/triggerset.py", line 130, in invoke  
return self._func(self._name, data)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/sideview/tool.py", line 112, in _redraw  
self.render()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/sideview/tool.py", line 276, in render  
self.view.draw()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 166, in draw  
self._draw_scene(camera, drawings)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/view.py", line 248, in _draw_scene  
pixel_width = self._highlight_width)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/drawing.py", line 1479, in
draw_highlight_outline  
r.outline.finish_rendering_outline(color=color, pixel_width=pixel_width)  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 1752, in
finish_rendering_outline  
r.pop_framebuffer()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 638, in pop_framebuffer  
fb.activate()  
File "/usr/lib/ucsf-chimerax-daily/lib/python3.7/site-
packages/chimerax/core/graphics/opengl.py", line 2128, in activate  
GL.glDrawBuffer(self._draw_buffer)  
File "src/errorchecker.pyx", line 53, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
OpenGL.error.GLError: GLError(  
err = 1282,  
description = b'invalid operation',  
baseOperation = glDrawBuffer,  
cArguments = (GL_BACK,)  
)  
  
Error processing trigger "frame drawn":  
OpenGL.error.GLError: GLError(  
err = 1282,  
description = b'invalid operation',  
baseOperation = glDrawBuffer,  
cArguments = (GL_BACK,)  
)  
  
File "src/errorchecker.pyx", line 53, in
OpenGL_accelerate.errorchecker._ErrorChecker.glCheckError  
  
See log for complete Python traceback.  
  




OpenGL version: 3.3.0 NVIDIA 430.50
OpenGL renderer: GeForce RTX 2080/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Change History (6)

comment:1 by pett, 6 years ago

Component: UnassignedGraphics
Owner: set to Tom Goddard
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionGraphics error after switching users

Reported by Zoe Watson

comment:2 by Tom Goddard, 6 years ago

When ChimeraX gets this error are you remote displaying from one Linux machine to another? Or is ChimeraX running on a desktop and on the desktop display?

The error seems to mean that when switching users the connection of ChimeraX to the OpenGL graphics driver was dropped. This is a problem with the operating system and graphics. Lots of information about the displayed graphics is held by the OpenGL graphics and ChimeraX has no way to recover if that connection is closed. On Mac and Windows I have never seen the OpenGL connection dropped, and I believe Linux also does not normally drop the connection. But if you were remote displaying I could imagine it losing the connection to the graphics.

Thanks for providing the explanation of how this happened since a few other Linux users have reported the same error but did not explain what caused it so I never understood how it could happen.

in reply to:  3 ; comment:3 by zlwatson@…, 6 years ago

Hi Tom,

We aren't using remote display, just switching users on the desktop machine.

Thanks,
Zoe

On Thu, Jan 9, 2020 at 2:05 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  4 ; comment:4 by Tom Goddard, 6 years ago

Thanks for the info.  Could you tell me what Linux distribution you are using?  At least that will help me advise others.

Unfortunately I don't think there is anything I can do about this -- it is a limitation of the operating system that it drops graphics connections.  I have read that technically OpenGL graphics allows a connection to be dropped, but in practice almost no operating systems do that since it creates havoc for any 3d graphics app. It would be way too hard for me to enhance ChimeraX to handle a drop (probably take some weeks of coding effort).

in reply to:  5 ; comment:5 by zlwatson@…, 6 years ago

We're using Ubuntu 18.04.

Thanks,
Zoe

On Thu, Jan 9, 2020 at 2:26 PM ChimeraX <ChimeraX-bugs-admin@cgl.ucsf.edu>
wrote:

in reply to:  6 ; comment:6 by Tom Goddard, 6 years ago

That is unfortunate since that is probably the most widely used desktop Linux.  We have Ubuntu 18.04 systems so I can try it here.


Note: See TracTickets for help on using tickets.