Opened 7 years ago
Closed 7 years ago
#1871 closed defect (fixed)
Graphics window gray after first model opened.
Reported by: | Owned by: | Tom Goddard | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Notify when closed: | Platform: | all | |
Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Darwin-17.7.0-x86_64-i386-64bit ChimeraX Version: 0.9 (2019-04-17) Description Starting ChimeraX and opening a map (emdb 1080) showed only a gray graphics area. An error to the terminal where I started indicated that graphics had been halted due to an error, apparently at startup. This happened to several people at today's ChimeraX demo. Probably it is a race condition, maybe more likely to happen on faster machines. People at the demo restarted ChimeraX and got it to work. I got this one time but could not reproduce in 5 more tries. $ cx cx BUG: 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 "/Users/goddard/ucsf/chimerax/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/chimerax/core/updateloop.py", line 69, in draw_new_frame if ((session.ui.is_gui and session.ui.main_window.graphics_window.is_drawable) AttributeError: 'UI' object has no attribute 'main_window' Log: UCSF ChimeraX version: 0.9 (2019-04-17) © 2016-2019 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX OpenGL version: 4.1 NVIDIA-10.32.0 355.11.10.10.40.102 OpenGL renderer: NVIDIA GeForce GT 650M OpenGL Engine OpenGL vendor: NVIDIA Corporation
Change History (5)
comment:1 by , 7 years ago
Component: | Unassigned → Core |
---|---|
Owner: | set to |
Platform: | → all |
Project: | → ChimeraX |
Status: | new → assigned |
Summary: | ChimeraX bug report submission → Graphics window gray after first model opened. |
comment:2 by , 7 years ago
comment:3 by , 7 years ago
The error that explains what is going on was never seen in today's ChimeraX 3d microscopy workshop because it was written to stdout before the gui was up. Such errors should also be shown by the gui once it starts.
comment:4 by , 7 years ago
The GraphicsWindow.resizeEvent() method is always getting called when the GraphicsWindow is made which is before the ui.main_window attribute is set. The code attempts the redraw if isExposed() is true. Usually it is false, but probably on a fast machine the window gets exposed fast, causing a redraw when main_window is not set, causing this error.
comment:5 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed.
If resize event arrives before ui.main_window set then we don't draw.
Error indicates session.ui.main_window is not set. That is set in ui.build() which is called from ChimeraX_main.py startup script. Apparently some attempt to draw the graphics is happening before the main window is created. Either the timer that causes redraw is being started too soon, or some event like a window resize or exposure is causing the update loop redraw routine to be called. The redraw timer is started in ChimeraX_main.py after the main_window attribute is set by ui.build(). So it must be some other event leading to update loop redraw being called.