On 2017/01/08 10:29, Adam Wolk wrote: > > > > > > Runtime seems fine, but I see a segfault at shutdown (which I don't > > > see with the current amd64 snapshot packages) - any ideas? > > > > > Looks like it's an upstream Qt issue: > https://github.com/OtterBrowser/otter-browser/issues/889 > https://bugreports.qt.io/browse/QTBUG-50829
Ah great, thanks for looking into it. I'm OK with the Otter update then, now building Qt with the diff from the Qt commit to check if it helps (port diff for this below - Vadim, do you agree with committing this if it works?). Index: Makefile =================================================================== RCS file: /cvs/ports/x11/qt5/qtbase/Makefile,v retrieving revision 1.2 diff -u -p -r1.2 Makefile --- Makefile 28 Dec 2016 01:41:23 -0000 1.2 +++ Makefile 8 Jan 2017 11:06:42 -0000 @@ -16,7 +16,7 @@ PKGNAME-psql = qt5-postgresql-${VERSION PKGNAME-sqlite2 = qt5-sqlite2-${VERSION} PKGNAME-tds = qt5-tds-${VERSION} -REVISION-main = 0 +REVISION-main = 1 PKG_ARCH-global = * PKG_ARCH-examples = * Index: patches/patch-src_corelib_plugin_qfactoryloader_cpp =================================================================== RCS file: patches/patch-src_corelib_plugin_qfactoryloader_cpp diff -N patches/patch-src_corelib_plugin_qfactoryloader_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_corelib_plugin_qfactoryloader_cpp 8 Jan 2017 11:06:42 -0000 @@ -0,0 +1,25 @@ +$OpenBSD$ + +Stop unloading plugins in QPluginLoader and QFactoryLoader + +https://bugreports.qt.io/browse/QTBUG-50829 +http://lists.qt-project.org/pipermail/development/2015-November/023681.html +https://codereview.qt-project.org/#/c/140750/4//ALL,unified + +--- src/corelib/plugin/qfactoryloader.cpp.orig Sun Jan 8 10:57:50 2017 ++++ src/corelib/plugin/qfactoryloader.cpp Sun Jan 8 10:58:25 2017 +@@ -208,10 +208,12 @@ void QFactoryLoader::update() + ++keyUsageCount; + } + } +- if (keyUsageCount || keys.isEmpty()) ++ if (keyUsageCount || keys.isEmpty()) { ++ library->setLoadHints(QLibrary::PreventUnloadHint); // once loaded, don't unload + d->libraryList += library; +- else ++ } else { + library->release(); ++ } + } + } + #else Index: patches/patch-src_corelib_plugin_qpluginloader_cpp =================================================================== RCS file: patches/patch-src_corelib_plugin_qpluginloader_cpp diff -N patches/patch-src_corelib_plugin_qpluginloader_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_corelib_plugin_qpluginloader_cpp 8 Jan 2017 11:06:42 -0000 @@ -0,0 +1,36 @@ +$OpenBSD$ + +Stop unloading plugins in QPluginLoader and QFactoryLoader + +https://bugreports.qt.io/browse/QTBUG-50829 +http://lists.qt-project.org/pipermail/development/2015-November/023681.html +https://codereview.qt-project.org/#/c/140750/4//ALL,unified + +--- src/corelib/plugin/qpluginloader.cpp.orig Fri Sep 16 06:49:42 2016 ++++ src/corelib/plugin/qpluginloader.cpp Sun Jan 8 11:00:04 2017 +@@ -148,6 +148,7 @@ QPluginLoader::QPluginLoader(const QString &fileName, + : QObject(parent), d(0), did_load(false) + { + setFileName(fileName); ++ setLoadHints(QLibrary::PreventUnloadHint); + } + + /*! +@@ -342,7 +343,7 @@ static QString locatePlugin(const QString& fileName) + void QPluginLoader::setFileName(const QString &fileName) + { + #if defined(QT_SHARED) +- QLibrary::LoadHints lh; ++ QLibrary::LoadHints lh = QLibrary::PreventUnloadHint; + if (d) { + lh = d->loadHints(); + d->release(); +@@ -391,7 +392,7 @@ Q_GLOBAL_STATIC(StaticPluginList, staticPluginList) + \brief Give the load() function some hints on how it should behave. + + You can give hints on how the symbols in the plugin are +- resolved. By default, none of the hints are set. ++ resolved. By default since Qt 5.7, QLibrary::PreventUnloadHint is set. + + See the documentation of QLibrary::loadHints for a complete + description of how this property works.