-
Notifications
You must be signed in to change notification settings - Fork 2
Add and use Qt Releasing swift-nav custom 5.15.2.2 wheels fixing intermittent crashes #594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add and use Qt Releasing swift-nav custom 5.15.2.2 wheels fixing intermittent crashes #594
Conversation
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.
Test installer build will be here: https://github.com/swift-nav/swift-toolbox/releases/tag/v4.0.8-pyside2-5.15.2.2 |
Started some 24hr tests on all three platforms for this installer build |
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. |
Linux build crashed after about 5 hours. |
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 |
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.