[Interest] can the QRegExpEngine cache acces objects belonging to an unloaded library during global destruction?

Konstantin Tokarev annulen at yandex.ru
Mon Jan 29 15:53:44 CET 2018



29.01.2018, 17:49, "René J.V. Bertin" <rjvbertin at gmail.com>:
> Hi,
>
> I've already touched on this in a previous message. I'm seeing an issue (crash or hang on exit) during the destruction of the QRegExpEngine globalEngineCache.
>
> This happens on Mac when I have used a class (KFileWidget) via a platform theme plugin; KFileWidget is provided by a library (KF5's KIOWidgets) which is linked only to the platform plugin. Just creating a KFileWidget instance (and deleting it at the appropriate location) is enough.
>
> - linking the application to KIOWidgets fixes the issue but isn't a desirable solution (defeats the purpose of using a platform theme plugin to provide a more capable and cross-platform file dialog).
> - inserting the KIOWidgets library via DYLD_INSERT_LIBRARY also fixes the issue
>
> Interesting tidbits: in all these cases the KIOWidgets library is unloaded before globalEngineCache is taken down.
> This surprises me in itself: I was under the impression that plugins are no longer unloaded explicitly (so logically the libraries they use shouldn't be either?)
>
> On Linux, the same principle is used by the plasma integration plugin, and there the KIOWidgets library is unloaded AFTER the cache has been destroyed.
>
> I'm not having much luck pinpointing what in or used by KFileWidget could possibly be the culprit here. Suggestions would be appreciated!

Port applications to QRegularExpression

>
> Thanks,
> R.
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest

-- 
Regards,
Konstantin




More information about the Interest mailing list