A few issue with 6.2.0

Damien Elmes pyqt at ankiweb.net
Mon Oct 25 22:54:15 BST 2021


(forgot to copy the list in one this one)

I was hoping to avoid having to deal with the Qt installer :-)

Ok, I've given it a test. It seems broken, but not identically. The
provided binary does not report an invalid signature, and it has a
different checksum to the one bundled with PyQt.

(venv) dae at armmini ~ % shasum
 venv/lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
06e04672a57e037d38e8957ea40b43d89cf3d9cb
 venv/lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
(venv) dae at armmini ~ % shasum
QtLocal/6.2.0/macos/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
7d362e9f6d2fdece86516cabc30ae2f19418b196
 QtLocal/6.2.0/macos/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess

The project fails to actually run, but it prints another error message at
the same time, which does not appear in the PyQt Case:

[64051:259:1025/215822.124520:ERROR:network_service_instance_impl.cc(330)]
Network service crashed, restarting service.

[64093:13827:1025/215822.201114:ERROR:channel_mac.cc(499)] mach_msg
receive: (ipc/rcv) msg too large (0x10004004)

[64093:13827:1025/215822.201279:ERROR:channel_mac.cc(499)] mach_msg
receive: (ipc/rcv) msg too large (0x10004004)


> Does a code signature depend on a file's location in the filesystem?


Presumably not; the other libraries are fine:

(venv) dae at armmini ~ % codesign -dvvv
~/venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so
<http://qtcore.abi3.so/>
Executable=/Users/dae/venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so
<http://qtcore.abi3.so/>
Identifier=-a02ba3.out
Format=Mach-O universal (x86_64 arm64)
CodeDirectory v=20400 size=28772 flags=0x20002(adhoc,linker-signed)
hashes=896+0 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=16a1ad3ab5455019240e5776bf505d8c199a50c0
CandidateCDHashFull
sha256=16a1ad3ab5455019240e5776bf505d8c199a50c0161bfa1776159289ad9d6170
Hash choices=sha256
CMSDigest=16a1ad3ab5455019240e5776bf505d8c199a50c0161bfa1776159289ad9d6170
CMSDigestType=2
CDHash=16a1ad3ab5455019240e5776bf505d8c199a50c0
Signature=adhoc
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements=none
(venv) dae at armmini ~ % codesign -vvv
~/venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so
<http://qtcore.abi3.so/>
/Users/dae/venv/lib/python3.9/site-packages/PyQt6/QtCore.abi3.so
<http://qtcore.abi3.so/>: code object is not signed at all

>From what I can tell, adhoc signing is treated as 'not signed' if it
validates.

> I've uploaded a new PyQt6-WebEngine-Qt6 wheel to the local PyPI server

Signature validates, but there seems to be an rpath issue:

[73466:259:1025/222110.104306:ERROR:network_service_instance_impl.cc(330)]
Network service crashed, restarting service.
dyld: Library not loaded:
@rpath/QtWebEngineCore.framework/Versions/A/QtWebEngineCore
  Referenced from:
/Users/dae/venv/lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess

(The file on the pypi.org wheel continues to work fine if I 'codesign -s -'
it prior to using it)

Cheers,
Damien

On Mon, Oct 25, 2021 at 10:13 PM Phil Thompson <phil at riverbankcomputing.com>
wrote:

> On 25/10/2021 04:07, Damien Elmes wrote:
> >>
> >> I've uploaded to PyPI new arm64 wheels for PyQt6-Qt6 and
> >> PyQt6-WebEngine-Qt6. These use 11_0 in the wheel name and
> >> QtWebEngineProcess is the original fat binary from a Qt installation.
> >> Let me know if these are better.
> >>
> >
> > Thanks, that's fixed the pip install case. The webengine helper is
> > still
> > broken unfortunately. Pop this in test.py:
> >
> > from PyQt6.QtWebEngineWidgets import QWebEngineView
> > from PyQt6.QtWidgets import QApplication
> > import sys
> > app = QApplication(sys.argv)
> > web = QWebEngineView()
> > web.show()
> > app.exec()
> >
> > When run on darwin-arm64, it will spam the console with the following,
> > and
> > the webview won't work:
> >
> >
> [54357:259:1025/125621.698579:ERROR:network_service_instance_impl.cc(330)]
> > Network service crashed, restarting service.
> >
> > The signature still appears to be invalid - maybe Qt are distributing
> > an
> > invalid file, or the act of moving it is causing the problem?
> >
> > $ codesign -vvvv
> >
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
> >
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess:
> > invalid signature (code or signature have been modified)
> >
> > It can be fixed by re-signing it with an ad-hoc signature, which
> > doesn't
> > need any signing key:
> >
> > codesign -s -
> >
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess
> >
> > But if you do it after trying test.py, it won't work, as macOS
> > blacklists
> > the file:
> >
> >
> lib/python3.9/site-packages/PyQt6/Qt6/lib/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess:
> > the codesign_allocate helper tool cannot be found or used
> >
> > Copying the file to a different filename, removing the original, and
> > then
> > renaming it back should allow code-signing to proceed.
>
> I've uploaded a new PyQt6-WebEngine-Qt6 wheel to the local PyPI server
> at...
>
> https://www.riverbankcomputing.com/pypi/simple/pyqt6-webengine-qt6/
>
> ...which hopefully fixes the problem.
>
> Phil
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20211026/e743f0c1/attachment.htm>


More information about the PyQt mailing list