Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#3215 closed defect (fixed)

Resized Windows text + Ramachandran plato crashes ChimeraX

Reported by: rowechris@… 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

ChimeraX_Application Errors_CR.evtx

Attachments (1)

ChimeraX_Application Errors_CR.evtx (68.0 KB ) - added by rowechris@… 5 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (4)

by rowechris@…, 5 years ago

Added by email2trac

comment:1 by Eric Pettersen, 5 years ago

Cc: Tom Goddard added
Component: UnassignedThird Party
Owner: set to Tristan Croll
Platform: all
Project: ChimeraX
Status: newassigned
Summary: ChimeraX bug report submissionResized Windows text + Ramachandran plato crashes ChimeraX

Reported by Christopher Rowe

comment:2 by Tristan Croll, 5 years ago

Resolution: fixed
Status: assignedclosed

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.

in reply to:  4 comment:3 by Tristan Croll, 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:
Note: See TracTickets for help on using tickets.