#3215 closed defect (fixed)
Resized Windows text + Ramachandran plato crashes ChimeraX
| Reported by: | Owned by: | Tristan Croll | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Third Party | Version: | |
| Keywords: | Cc: | Tom Goddard | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
The following bug report has been submitted: Platform: Windows-10-10.0.18362 ChimeraX Version: 0.93 (2020-04-03) Description Running ISOLDE Tool, then clicking <Show> button for Ramachandran Plot under "Validate" tab leads to ChimeraX closing entirely seconds after the plot is opened. This only occurs when "Change the size of text, apps, and other items" is set to other than "100%" under Windows 10 Display Settings. I've attached numerous Windows Application Error event log entries from Event Viewer app. Log: UCSF ChimeraX version: 0.93 (2020-04-03) © 2016-2020 Regents of the University of California. All rights reserved. How to cite UCSF ChimeraX > toolshed show ISOLDE > set selectionWidth 4 Done loading forcefield > toolshed show ISOLDE > set selectionWidth 4 Done loading forcefield QWidget::repaint: Recursive repaint detected OpenGL version: 3.3.0 NVIDIA 442.92 OpenGL renderer: Quadro P2000/PCIe/SSE2 OpenGL vendor: NVIDIA Corporation Manufacturer: HP Model: HP ZBook 15 G5 OS: Microsoft Windows 10 Enterprise (Build 18363) Memory: 16,943,239,168 MaxProcessMemory: 137,438,953,344 CPU: 12 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz" File attachment: ChimeraX_Application Errors_CR.evtx
Attachments (1)
Change History (4)
by , 5 years ago
| Attachment: | ChimeraX_Application Errors_CR.evtx added |
|---|
comment:1 by , 5 years ago
| Cc: | added |
|---|---|
| Component: | Unassigned → Third Party |
| Owner: | set to |
| Platform: | → all |
| Project: | → ChimeraX |
| Status: | new → assigned |
| Summary: | ChimeraX bug report submission → Resized Windows text + Ramachandran plato crashes ChimeraX |
Reported by Christopher Rowe
comment:2 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Wow - believe it or not, you're the second person in a week to figure out what triggers this particular bug (which has been a nagging mystery for months)! I tracked down the root cause a few days ago - it was due to my calling MatPlotLib's draw() method twice in one iteration of the graphics loop (on first showing the plot and then at any resize). The first draw was meant to cache the contours as a background image that the scatter plot gets redrawn over. As near as I can tell, what happens is that the draw() method runs as a separate C++ thread and doesn't enforce thread safety, creating a race condition: if the second call happens before the first is done, it'll delete the drawing while the first thread is still writing to it making things go kaboom. Anyway, I've fixed this in my code, and it'll be in the next release - if you want to hotfix it in the meantime, you should be able to copy the file at https://github.com/tristanic/isolde/blob/master/isolde/src/validation/ramaplot.py over the one in %localappdata%\UCSF\ChimeraX\0.93\site-packages\chimerax\isolde\validation.
comment:3 by , 5 years ago
Actually, come to think of it: *don't* do that. I've made some other changes that will break things (they're dependent on changes in other files). If you're really keen, you could just apply the specific edit at https://github.com/tristanic/isolde/commit/c66180ae52523e9fd7f6eb3dd6dfee0fdeedc7e6. On 2020-05-15 16:51, ChimeraX wrote:
Added by email2trac