Bug 1332274

Summary: enki: TypeError: decorated slot has no signature compatible with Document.documentDataChanged[]
Product: [Fedora] Fedora Reporter: Raphael Groner <projects.rg>
Component: enkiAssignee: Raphael Groner <projects.rg>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 24CC: projects.rg, rdieter, than
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://github.com/hlamer/enki/issues/411
Whiteboard:
Fixed In Version: enki-16.04.0-3.fc24 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-14 23:29:22 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:
Bug Depends On:    
Bug Blocks: 1328450    

Description Raphael Groner 2016-05-02 18:39:01 UTC
Description of problem:
Package enki fails to build from source in rawhide.

Version-Release number of selected component (if applicable):
16.04.0-2.fc25

Steps to Reproduce:
koji build --scratch f25 enki-16.04.0-2.fc25.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://apps.fedoraproject.org/koschei/package/enki

From build.log:
…
test_dev_null (test_core.test_opened_files_dock.Rename) ... ERROR
test_dev_null_os_fail (test_core.test_opened_files_dock.Rename) ... ERROR
test_flags (test_core.test_opened_files_dock.Rename) ... ok
test_os_fail (test_core.test_opened_files_dock.Rename) ... ERROR
test_same_path (test_core.test_opened_files_dock.Rename) ... ERROR
test_success (test_core.test_opened_files_dock.Rename) ... ERROR
test_1 (test_core.test_project.Test)
Parse words ... ok
test_1 (test_core.test_uisavefiles.Test) ... ERROR
test_2 (test_core.test_uisavefiles.Test) ... /usr/bin/xvfb-run: line 166: 23461 Segmentation fault      (core dumped) DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1

Comment 1 Rex Dieter 2016-05-03 14:38:20 UTC
I'd rather not block the python-qt5 update on *just* failing tests.  Is there any verifiable runtime impact?

Comment 2 Raphael Groner 2016-05-03 16:36:54 UTC
(In reply to Rex Dieter from comment #1)
> I'd rather not block the python-qt5 update on *just* failing tests.  Is
> there any verifiable runtime impact?

Those tests are usability tests emulating some of the general use cases. If they fail, the installed package can be assumed to misbehave.

Comment 3 Rex Dieter 2016-05-03 16:39:36 UTC
Still, I'd rather not speculate.  (We already have some evidence to the contrary, in the past where some of these tests failed in ways that were false positives)

Comment 4 Raphael Groner 2016-05-05 15:40:37 UTC
When I call enki-16.04.0-2.fc24.noarch with python3-qt5-5.6-1.fc24.x86_64 :

CRITICAL:root:Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/enki/core/openedfilemodel.py", line 293, in _onDocumentOpened
    document.documentDataChanged.connect(self._onDocumentDataChanged)
TypeError: decorated slot has no signature compatible with Document.documentDataChanged[]

Comment 5 Rex Dieter 2016-05-05 16:53:49 UTC
Report it to your upstream, it appears enki's use of that Document.documentDataChanged api is no longer compatible.  Or could be a PyQt5 bug, introducing an incompatible change, but I'm not sure if this is a public api or not, your upstream should be better suited to answer that question.

Comment 6 Raphael Groner 2016-05-08 19:28:07 UTC
Document with its documentDataChanged refers here to enki.core.Document with a custom signal
https://github.com/hlamer/enki/blob/master/enki/core/document.py#L151
http://pyqt.sourceforge.net/Docs/PyQt5/signals_slots.html#PyQt5.QtCore.pyqtSignal

Did there anything change in PyQt5 sources?

Comment 7 Raphael Groner 2016-05-08 21:08:03 UTC
Please include newest upstream fixees in rawhide.

changeset:   12c3868cce84
date:        Tue May 03 12:18:24 2016 +0100
Documented the slot signature checking as a potential incompatibility.

changeset:   2a1416f9a2d3
date:        Tue May 03 08:34:18 2016 +0100
Fixed connections to decorated slots to enforce the slot signature and not
silently ignore the decorator.
sip.voidptr and bytes arguments to the decorator now generate an appropriate
C++ type.

https://www.riverbankcomputing.com/static/Downloads/PyQt5/ChangeLog-5.6.1.dev1605031218

Comment 8 Rex Dieter 2016-05-08 23:31:22 UTC
I built the latest PyQt5 snapshot locally, and the enki tests (still) fail the same way.

Comment 9 Raphael Groner 2016-05-09 17:08:26 UTC
I found the problem in enki source, will prepare a patch and send it to upstream.

Comment 10 Upstream Release Monitoring 2016-05-09 17:49:37 UTC
raphgro's enki-16.04.0-3.fc25 completed http://koji.fedoraproject.org/koji/buildinfo?buildID=761422

Comment 11 Fedora Update System 2016-05-09 18:06:01 UTC
enki-16.04.0-3.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a65c5ce647

Comment 12 Fedora Update System 2016-05-09 18:17:12 UTC
enki-16.04.0-3.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a65c5ce647

Comment 13 Fedora Update System 2016-05-10 20:29:16 UTC
enki-16.04.0-3.fc24 has been pushed to the Fedora 24 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-2016-a65c5ce647

Comment 14 Fedora Update System 2016-05-14 23:29:18 UTC
enki-16.04.0-3.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.