﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	blockedby	blocking	notify_on_close	platform	project
16572	Bug when QTWebengine is not built ChimeraX 1.6.1 and 1.7	karho@…	Greg Couch	"{{{

Hi, I write to inform you about a possible bug/inconsitency, do with it 
what you want. I realize that we might be doing things in a different 
manner than intended to some extent. But I noted that in your code you had 
if-statements etc. which seemed to aim at resilience in this area, so I 
figured you might want to hear of our problems. Which we have resolved 
ourselves, no worries.

We install ChimeraX on several academic clusters as part of our 
scientific software stack (PReSTO), running on EL8 and EL9.

We use the generic linux tarballs in both cases.
A user noted that ChimeraX on our EL8-system did not work, specifically 
saving sessions failed. I  tried with both ChimeraX 1.6.1 and 1.7. I 
didn't try with 1.8 or above since I could only find a flatpak version for generic 
linux (and rpm:s for EL8/9), and it would require some development/time on 
our end to install.

""/software/presto/e/11.3/software/ChimeraX/1.6.1-foss-2021a/chimerax/lib/python3.9/site-
packages/chimerax/core/session.py"", line 285, in process
     data = sm.take_snapshot(obj, session, self.state_flags)
   File
""/software/presto/e/11.3/software/ChimeraX/1.6.1-foss-2021a/chimerax/lib/python3.9/site-
packages/chimerax/log/tool.py"", line 542, in take_snapshot
     'contents': self.page_source,
AttributeError: 'Log' object has no attribute 'page_source'

I hunted this error down to the Logging interface / plugin not being 
loaded, and after some more digging we did figure out that this was due to 
QtWebengine not loading successfully. Which in turn seemed to be because 
of incompatible openSSL libraries.

   File 
""/software/presto/e/karho/software/ChimeraX/1.6.1-foss-2021a/chimerax/lib/python3.9/site-packages/chimerax/ui/widgets/htmlview.py"", 
line 20, in <module>
     from Qt.QtWebEngineCore import QWebEnginePage, QWebEngineProfile
   File 
""/software/presto/e/karho/software/ChimeraX/1.6.1-foss-2021a/chimerax/lib/python3.9/site-packages/Qt/QtWebEngineCore.py"", 
line 4, in <module>
     from PyQt6.QtWebEngineCore import *
ImportError: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, 
version OPENSSL_1_1_1b

We resolved this by making sure to link to our own bundled openSSL instead of the system libraries on the EL8 
system. After doing this saving sessions, and the logging subsystem, and 
anything else tested worked as intended.

You do have this line in 
chimerax/lib/python3.9/site-packages/chimerax/ui/widgets/__init__.py:
if qt_have_web_engine():

It did resolve to False on our problematic system (until we fixed it), but 
that resulted in all of the problems mentioned, and was somewhat hard to 
debug as we ended up with broken python classes that did not look as they 
should, with missing attributes etc. And I suspect that's not the intended 
behaviour...

Anyway, thanks for your hard work developing ChimeraX.

-- 
Karl Hörnell
National Supercomputer Centre
Linköping University
Sweden
}}}
"	defect	closed	normal		Platform		limitation		chimera-programmers				all	ChimeraX
