Opened 6 years ago

Closed 6 years ago

#2570 closed defect (fixed)

Some help files crash ChimeraX

Reported by: Tristan Croll Owned by: Greg Couch
Priority: major Milestone: 1.0
Component: Help System Version:
Keywords: Cc:
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

The following bug report has been submitted:
Platform:        Linux-3.10.0-957.12.2.el7.x86_64-x86_64-with-centos-7.6.1810-Core
ChimeraX Version: 0.91 (2019-11-13)
Description
I'm getting an intermittent segmentation fault when clicking some command help links for Clipper and ISOLDE. Doesn't happen every time (1 in 2-3), and seemingly only when (a) the link goes to an anchor near the top of the page, and (b) the Help browser is closed before clicking the link. In the example shown in the log I can safely click any of the links other than "clipper open" with the Help browser closed, and with the browser already open I can safely click any of them. But if the browser is closed, clicking "clipper open" usually crashes ChimeraX with the traceback below. I've also managed to crash it in a similar way with ISOLDE's documentation (both are generated by Sphinx with the same template, so probably not surprising), but not with any ChimeraX docs.

The new bundles with this documentation aren't up on the ToolShed yet, and I'm not sure it would be wise to put them there until this is fixed. Let me know if you need a copy of the wheel files to test locally.

Program received signal SIGSEGV, Segmentation fault.
0x00007fffd55282dc in ?? () from /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5
Missing separate debuginfos, use: debuginfo-install ucsf-chimerax-daily-2019.11.13-1.el7.x86_64
(gdb) bt
#0  0x00007fffd55282dc in  () at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5
#1  0x00007fffd552c08e in  () at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5
#2  0x00007fffd5531614 in  () at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5
#3  0x00007fffd551b424 in  () at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5WebEngineCore.so.5
#4  0x00007fffd48a6330 in QQuickWindowPrivate::updateDirtyNode(QQuickItem*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Quick.so.5
#5  0x00007fffd48a6a1d in QQuickWindowPrivate::updateDirtyNodes() ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Quick.so.5
#6  0x00007fffd48a7bd2 in QQuickWindowPrivate::syncSceneGraph() ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Quick.so.5
#7  0x00007fffd4962a99 in QQuickRenderControl::sync() ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Quick.so.5
#8  0x00007fffd33241f0 in QQuickWidgetPrivate::render(bool) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5QuickWidgets.so.5
#9  0x00007fffd33242ae in QQuickWidgetPrivate::renderSceneGraph() ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5QuickWidgets.so.5
#10 0x00007fffdfcbe9db in QObject::event(QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Core.so.5
#11 0x00007fffe0ba2fc3 in QWidget::event(QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5
#12 0x00007fffd3327dab in QQuickWidget::event(QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5QuickWidgets.so.5
#13 0x00007fffdc0668b0 in QtWebEngineCore::RenderWidgetHostViewQtDelegateWidget::event(QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5WebEngineWidgets.so.5
#14 0x00007fffe0b6492c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5
#15 0x00007fffe0b6bad0 in QApplication::notify(QObject*, QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Widgets.so.5
#16 0x00007fffe15bff5e in sipQApplication::notify(QObject*, QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/QtWidgets.so
#17 0x00007fffdfc92008 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Core.so.5
#18 0x00007fffdfce88d9 in QTimerInfoList::activateTimers() ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Core.so.5
#19 0x00007fffdfce90b1 in timerSourceDispatch(_GSource*, int (*)(void*), void*) ()
    at /opt/UCSF/ChimeraX-daily/lib/python3.7/site-packages/PyQt5/Qt/lib/libQt5Core.so.5
#20 0x00007fffdd31e049 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0



Log:
UCSF ChimeraX version: 0.91 (2019-11-13)  
© 2016-2019 Regents of the University of California. All rights reserved.  
How to cite UCSF ChimeraX  

> usage clipper

clipper associate volumes [toModel a structure specifier]  
— Have Clipper take control of the chosen volumes and associate them with the
given model

clipper isolate atoms [surroundDistance a number] [contextDistance a number]
[maskRadius a number] [hideSurrounds true or false] [focus true or false]  
— Visually isolate the selected atoms from their surroundings, and mask their
maps to their immediate vicinity. The selection covered by the map(s) will be
expanded to include all residues approaching within surroundDistance of the
given selection. Any residues approaching within contextDistance of the result
will be displayed, but not covered by the map(s). If hideSurrounds is True,
all other atoms will be hidden. If focus is True, the view will be reset to
cover the visible atoms. To revert to the default viewing mode, use "clipper
spotlight".

clipper open path [structureModel a structure specifier] [overSampling a
number]  
— Open a structure factor .mtz or .cif file and generate maps for the given
model  
path: name of a file to open/read

clipper save path [models] [preserveInput true or false] [saveMapCoeffs true
or false]  
— Save structure factors to .mtz format.  
path: name of a file to save/write

clipper spotlight [models] [radius a number]  
— Switch on/off "Scrolling sphere" visualisation with live atomic symmetry  




OpenGL version: 3.3.0 NVIDIA 415.27
OpenGL renderer: TITAN Xp/PCIe/SSE2
OpenGL vendor: NVIDIA Corporation

Attachments (1)

bad_docs.tar.gz (255.7 KB ) - added by Tristan Croll 6 years ago.
Added by email2trac

Download all attachments as: .zip

Change History (8)

comment:1 by Tristan Croll, 6 years ago

Platform: all
Project: ChimeraX

Seems almost certainly a Qt web browser bug. *Seems* to be related to the number of characters between the anchor point and the start of the file:

  • inserting another anchor and heading before the offending one: still crashes
  • inserting six single-character paragraphs in before the anchor: still crashes
  • inserting 8 lines of 80 'a' characters before the anchor: no crash

Annoying, but for now I suppose I could just add some introductory text and maybe a table of contents.

in reply to:  2 ; comment:2 by Tristan Croll, 6 years ago

Yep - adding a paragraph of introductory waffle to the start of each of 
the offending pages avoids the crash.

On 2019-11-14 13:50, ChimeraX wrote:

comment:3 by pett, 6 years ago

Component: UnassignedHelp System
Milestone: 1.0
Owner: set to Greg Couch
Priority: normalmajor
Status: newassigned
Summary: ChimeraX bug report submissionSome help files crash ChimeraX

comment:4 by Greg Couch, 6 years ago

Status: assignedfeedback

Can you attach an example file that causes the crash? If I can create a simple test case, I'll submit it as a bug to Qt.

in reply to:  5 ; comment:5 by Tristan Croll, 6 years ago

I've been finding it quite difficult to narrow down to a simplified 
case. I tried a simplified HTML file minus all the Sphinx template 
javascript and CSS - no crash. Also tried a file generated by Sphinx 
with just one anchor and a few lines of text - also no crash.

Anyway, I've attached the full Clipper documentation generated by Sphinx 
(which is pretty small right now anyway). Launching the browser to show 
docs/user/commands/clipper.html#open triggers the crash for me.

On 2019-11-14 19:24, ChimeraX wrote:

bad_docs.tar.gz

by Tristan Croll, 6 years ago

Attachment: bad_docs.tar.gz added

Added by email2trac

comment:6 by Greg Couch, 6 years ago

The daily build was just updated to PyQ5 5.14.1 with Qt 5.14.1. Do you still see this bug?

comment:7 by Greg Couch, 6 years ago

Resolution: fixed
Status: feedbackclosed

Just revised the daily build to use PyQt 5.12.3 with Qt 5.12.8. And I am not able to reproduce the with the with given html files.

Note: See TracTickets for help on using tickets.