Skip to content

Conversation

keithel-qt
Copy link
Contributor

Qt Releasing was able to cut a special build of PySide2 5.15.2.1 with the final patch that should address the occasional crashes in PySide2 signalmanager that have been seen with Swift-Nav up until now.

The fix (targetting the dev branch) can be seen here (this is publicly viewable):
https://codereview.qt-project.org/c/pyside/pyside-setup/+/413917

The fix ported to the 5.15 branch is not public, but if one has a commercial license assigned to their Qt account, you can see it. It is here:
https://codereview.qt-project.org/c/pyside/tqtc-pyside-setup/+/414778

The change has been cherry-picked to 5.15 LTS, 6.2 LTS, and 6.3 branches, so the next (from today, 20220608) official Qt releases of each of these Qt versions will include the fix. For now, please use these wheels.

They can be used by performing the following with pip:
pip install PySide2-x.y.z.wheel

Ultimately, Qt will make them available at https://download.qt.io such that they can be installed with:
pip install PySide2 --index-url=https://download.qt.io/.....

However, first, Qt Releasing would like them to be tested.

To discover all of the various cherry-picks of this patch, log into gerrit (https://codereview.qt.io/) and search for the Change-Id:
I374ada7fc207d86a062f950751503764a5e5dddf

There are also shiboken2-generator wheels, as well as wheels for Python 2.7 and win32 if those are needed. I did not include them here, as I did not think they were needed.

This also takes use of these wheels in Makefile.toml.

Qt Releasing was able to cut a special build of PySide2 5.15.2.1 with
the final patch that should address the occasional crashes in PySide2
signalmanager that have been seen with Swift-Nav up until now.

The fix (targetting the dev branch) can be seen here (this is publicly
viewable):
https://codereview.qt-project.org/c/pyside/pyside-setup/+/413917

The fix ported to the 5.15 branch is not public, but if one has a
commercial license assigned to their Qt account, you can see it. It is
here:
https://codereview.qt-project.org/c/pyside/tqtc-pyside-setup/+/414778

The change has been cherry-picked to 5.15 LTS, 6.2 LTS, and 6.3
branches, so the next (from today, 20220608) official Qt releases of
each of these Qt versions will include the fix. For now, please use
these wheels.

They can be used by performing the following with pip:
pip install PySide2-x.y.z.wheel

Ultimately, Qt will make them available at https://download.qt.io such
that they can be installed with:
pip install PySide2 --index-url=https://download.qt.io/.....

However, first, Qt Releasing would like them to be tested.

To discover all of the various cherry-picks of this patch, log into
gerrit (https://codereview.qt.io/) and search for the Change-Id:
I374ada7fc207d86a062f950751503764a5e5dddf

There are also shiboken2-generator wheels, as well as wheels for Python
2.7 and win32 if those are needed. I did not include them with this
commit, as I did not think they were needed.
This changes the Makefile.toml rules to use the new custom PySide2
5.15.2.2 wheels that corrects the occasional crashes seen in PySide2
signalmanager.

The speculation is that it is caused by QML calling back into C++ and
accessing Qt objects while the main Python thread accesses those same
objects, causing corruption. The patch adds additional locking to
prevent this concurrent access.
Forgot to add the `abi3-` portion of the shiboken2 and PySide2 wheel
names.
@keithel-qt keithel-qt requested review from RaiBearG and silverjam June 8, 2022 19:27
@silverjam
Copy link
Contributor

@silverjam
Copy link
Contributor

Started some 24hr tests on all three platforms for this installer build

@silverjam
Copy link
Contributor

silverjam commented Jun 10, 2022

Windows: huge memory leak... considering this one as not viable

UPDATE: Seems to be some really weird interaction with Zoom... will restart the test without Zoom running.

@silverjam
Copy link
Contributor

silverjam commented Jun 11, 2022

Linux build crashed after about 5 hours.

@silverjam
Copy link
Contributor

MacOS build is still going

image

@silverjam
Copy link
Contributor

I restarted Windows because of the memory leak issue, but it's at almost 4 hours

image

@silverjam
Copy link
Contributor

Got 17 hours on macOS and 15 hours on Windows, Linux was 10 hours-- calling this good while we wait for a new build from @keithel-qt

@silverjam silverjam merged commit eaea4da into main Jun 11, 2022
@silverjam silverjam deleted the keithel-qt/pyside2-5.15.2.2-custom-tqtc-pyside-setup-414778-wheels branch June 11, 2022 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants