Bug 1551100

Summary: PyMOL fails to start plugins + crash at "About PyMOL" window
Product: [Fedora] Fedora Reporter: René Genz <liebundartig>
Component: python-pmwAssignee: Tim Fenn <tim.fenn>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 26CC: tim.fenn
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-03-30 13:19:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description René Genz 2018-03-02 17:59:38 UTC
Description of problem:
PyMOL cannot load plugins.
PyMOL crashes when the "About PyMOL" window is opened.

Using latest release of PyMOL on Fedora 26 from updates-testing repository does not help:
pymol-1.9.0-1.20180224svn4178.fc26.x86_64


Version-Release number of selected component (if applicable):
$ rpm -q pymol python3-tkinter python3-pmw
pymol-1.8.6-4.20170314svn4170.fc26.x86_64
python3-tkinter-3.6.4-2.fc26.x86_64
python3-pmw-2.0.0-7.fc26.noarch


How reproducible:
100%

Steps to Reproduce:
1. $ pymol
either:
2a. Plugin -- APBS Tools2.1...
or:
2b. Help -- About PyMOL

Actual results:
2a)
TypeError Exception in Tk callback
  Function: <function __init__.<locals>.<lambda> at 0x14ba37251510> (type: <class 'function'>)
  Args: ()
Traceback (innermost last):
  File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwBase.py", line 1760, in __call__
    return self.func(*args)
  File "/usr/lib64/python3.6/site-packages/pmg_tk/startup/apbs_tools.py", line 320, in <lambda>
    command = lambda s=self: APBSTools2(s))
  File "/usr/lib64/python3.6/site-packages/pmg_tk/startup/apbs_tools.py", line 615, in __init__
    self.notebook = Pmw.NoteBook(self.dialog.interior())
  File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwNoteBook.py", line 60, in __init__
    Pmw.Color.bordercolors(self, self['hull_background'])
  File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwColor.py", line 359, in bordercolors
    '#%04x%04x%04x' % (lightRGB[0], lightRGB[1], lightRGB[2]),
TypeError: %x format: an integer is required, not float



2b)
/usr/bin/pymol: line 3:  5623 Segmentation fault      (core dumped) /usr/bin/python3 /usr/lib64/python3.6/site-packages/pymol/__init__.py "$@"

Expected results:
no error message

Additional info:
The problem can be reproduced on Fedora 27 and 28.

The problem cannot be reproduced with the latest upstream version 2.0.7:
https://pymol.org/installers/PyMOL-2.0.7_0-Linux-x86_64.tar.bz2
I have not tried this version:
https://pymol.org/edu/?q=educational/

I used "python-pmw" package to file the bug against because the file in the output belongs to "python3-pmw" package. Maybe PyMOL is at fault. I am not sure.

Comment 1 René Genz 2018-03-03 12:35:03 UTC
PyMOL-2.0.7_0-Linux-x86_64.tar.bz2 is nonfree and ships its own Python 2.7 environment according to `ldd pymol/bin/python` after extracting the archive.
The latest free version is 1.9.0 as shipped by updates-testing repositories.

Comment 2 Fedora Update System 2018-03-23 19:15:57 UTC
pymol-2.1.0-1.20180321svn4187.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-e781e12add

Comment 3 Fedora Update System 2018-03-23 19:16:10 UTC
pymol-2.1.0-1.20180321svn4187.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-1eb431f403

Comment 4 Fedora Update System 2018-03-23 19:16:18 UTC
pymol-2.1.0-1.20180321svn4187.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2018-4eb0987cf7

Comment 5 Tim Fenn 2018-03-23 19:18:12 UTC
(In reply to René Genz from comment #0)
> Description of problem:
> PyMOL cannot load plugins.
> PyMOL crashes when the "About PyMOL" window is opened.
> 
> Using latest release of PyMOL on Fedora 26 from updates-testing repository
> does not help:
> pymol-1.9.0-1.20180224svn4178.fc26.x86_64
> 
> 
> Version-Release number of selected component (if applicable):
> $ rpm -q pymol python3-tkinter python3-pmw
> pymol-1.8.6-4.20170314svn4170.fc26.x86_64
> python3-tkinter-3.6.4-2.fc26.x86_64
> python3-pmw-2.0.0-7.fc26.noarch
> 
> 
> How reproducible:
> 100%
> 
> Steps to Reproduce:
> 1. $ pymol
> either:
> 2a. Plugin -- APBS Tools2.1...
> or:
> 2b. Help -- About PyMOL
> 
> Actual results:
> 2a)
> TypeError Exception in Tk callback
>   Function: <function __init__.<locals>.<lambda> at 0x14ba37251510> (type:
> <class 'function'>)
>   Args: ()
> Traceback (innermost last):
>   File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwBase.py", line
> 1760, in __call__
>     return self.func(*args)
>   File "/usr/lib64/python3.6/site-packages/pmg_tk/startup/apbs_tools.py",
> line 320, in <lambda>
>     command = lambda s=self: APBSTools2(s))
>   File "/usr/lib64/python3.6/site-packages/pmg_tk/startup/apbs_tools.py",
> line 615, in __init__
>     self.notebook = Pmw.NoteBook(self.dialog.interior())
>   File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwNoteBook.py",
> line 60, in __init__
>     Pmw.Color.bordercolors(self, self['hull_background'])
>   File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwColor.py",
> line 359, in bordercolors
>     '#%04x%04x%04x' % (lightRGB[0], lightRGB[1], lightRGB[2]),
> TypeError: %x format: an integer is required, not float
> 
> 
> 
> 2b)
> /usr/bin/pymol: line 3:  5623 Segmentation fault      (core dumped)
> /usr/bin/python3 /usr/lib64/python3.6/site-packages/pymol/__init__.py "$@"
> 
> Expected results:
> no error message
> 
> Additional info:
> The problem can be reproduced on Fedora 27 and 28.
> 
> The problem cannot be reproduced with the latest upstream version 2.0.7:
> https://pymol.org/installers/PyMOL-2.0.7_0-Linux-x86_64.tar.bz2
> I have not tried this version:
> https://pymol.org/edu/?q=educational/
> 
> I used "python-pmw" package to file the bug against because the file in the
> output belongs to "python3-pmw" package. Maybe PyMOL is at fault. I am not
> sure.

Hi Rene - I've updated the pymol to 2.1.0, which also switches the UI to PyQt - see if this fixes the issue and let me know. I'm separately working on updating the apbs package, but thats a little more work.

Comment 6 Fedora Update System 2018-03-24 02:28:12 UTC
pymol-2.1.0-1.20180321svn4187.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-1eb431f403

Comment 7 Fedora Update System 2018-03-24 03:35:16 UTC
pymol-2.1.0-1.20180321svn4187.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-4eb0987cf7

Comment 8 Fedora Update System 2018-03-24 20:07:37 UTC
pymol-2.1.0-1.20180321svn4187.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-e781e12add

Comment 9 René Genz 2018-03-25 10:13:41 UTC
(In reply to Tim Fenn from comment #5)
Thank you very much. I am looking forward to the apbs package update.


With the new packages:
"2a. Plugin -- APBS Tools2.1..." gives a slightly different output:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/site-packages/pmg_tk/startup/apbs_tools.py", line 321, in <lambda>
    command = lambda s=self: APBSTools2(s))
  File "/usr/lib64/python3.6/site-packages/pmg_tk/startup/apbs_tools.py", line 616, in __init__
    self.notebook = Pmw.NoteBook(self.dialog.interior())
  File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwNoteBook.py", line 60, in __init__
    Pmw.Color.bordercolors(self, self['hull_background'])
  File "/usr/lib/python3.6/site-packages/Pmw/Pmw_2_0_0/lib/PmwColor.py", line 359, in bordercolors
    '#%04x%04x%04x' % (lightRGB[0], lightRGB[1], lightRGB[2]),
TypeError: %x format: an integer is required, not float


and PyMOL creates a pop-up window too:
--8<--
Error
---
%x format: an integer is required, not float
--8<--


"2b. Help -- About PyMOL" does not crash anymore.

Comment 10 Fedora Update System 2018-03-30 13:19:54 UTC
pymol-2.1.0-1.20180321svn4187.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2018-04-09 18:34:06 UTC
pymol-2.1.0-1.20180321svn4187.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2018-04-09 19:08:14 UTC
pymol-2.1.0-1.20180321svn4187.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.