(PyQt 6.2.3) Creating a QQmlListProperty will cause access violation on application close (windows)

Jared Jones jared.randall.jones at gmail.com
Sat Feb 12 00:59:02 GMT 2022


Also, I forgot to mention, My environment is python 3.9, using PyQt 6.2.3
(installed from binary wheel on pypi) and the latest distribution of sip. I
use windows 10 20H2.

On Fri, Feb 11, 2022 at 2:44 PM Jared Jones <jared.randall.jones at gmail.com>
wrote:

> Hi everyone,
>
> Recently I upgraded an Application in my organization from PyQt 5.5 to
> PyQt 6.2.3. I noticed that after upgrading my application, it would cause a
> windows access violation everytime I closed my application. I eventually
> tracked the issue down to the QQmlListProperty() objects in my program.
> When the application closes, the underlying QQmlListProperty() objects (at
> the C++ level) do not seem to be deleted, which causes the access
> violation. When I removed all QQmlListProperty() objects, my program no
> longer throws an Access violation. Even when I have no QQmlListProperty()
> objects in my program, if I drop into pdb, and create a basic
> QQmlListProperty() object using the syntax "QQmlListProperty(QObject,
> QObject(), [])", and do not assign this object to any python variable,
> simply continuing execution after doing this (and then ultimately closing
> my app). will cause an access violation.
>
> As of right now, there is no way around this bug, except for not using
> QQmlListProperty() entirely. QQmlListProperty() cannot be deleted with
> sip.delete(), so once the object is created, an access violation WILL
> happen when your application closes.There doesn't seem to be any way to
> delete an underlying QQmlListProperty() object
>
> Hopefully, this issue can be resolved in a future release.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20220211/b2b62dac/attachment.htm>


More information about the PyQt mailing list