latest Windows binary crashes

Lubomir I. Ivanov neolit123 at gmail.com
Mon Jul 3 14:21:40 PDT 2017


On 3 July 2017 at 18:28, Dirk Hohndel <dirk at hohndel.org> wrote:
> Lubomir,
>
> I'm trying to do too many things at once... I updated the build tools and
> most libraries for the Windows builds to current versions.
>
> http://subsurface-divelog.org/downloads/test/subsurface-4.6.4-310-g6451adfec112.exe
>
> Crashes for me at startup in QtCore - before it gets any useful information
> out. The Event Log isn't useful, either.
>
> Could you take a look?
>

i'm checking this source, but not sure if it's the same on your end:
http://download.qt.io/community_releases/5.9/5.9.0-final/

it crashes after the second call to WebCore::initializeWebCoreQt().
(Source/WebKit/qt/WebCoreSupport/InitWebCoreQt.cpp)
the first call succeeds and the second call should be a NOP (return if
the method was already called) and that's what happens.

a prime suspect for me is something which creates a QWebPageAdapter
class instance (it has a call to WebCore::initializeWebCoreQt() in the
constructor) and then it tries to QObject::connect() something related
to ConnectionType and crashes.
QWebPageAdapter is a class which is used *a lot*, so hard to tell what
causes that.

i mean i can possibly find the offending line of code, but i won't
really have a good fix for it. after seeing that unpredictable Marble
multi-threading crash on Windows, i think we are entering the
territory of big, complicated but unmaintained libraries that simply
may not run with the latest Qt version. Qt 6.0 is coming too...

i also saw that Grantlee report in the OSX thread.

so we need to:
1) move away from these unmaintained libraries
WebKit - currently we are stuck with WebKit on Windows
Grantlee - we are stuck with Grantlee due to the template syntax which
the users are already using
Marble - we probably should start using a 2D map of sorts

2) maintain them our self
we already do that for Marble partially, but its hard as these are
complicated projects.
QtWebKit in particular is a pretty big project.

BTW you can try building this QtWebKit port as it's actively updated:
https://github.com/annulen/webkit/releases

3) call the library developers to test and patch against the latest Qt
NOTE: i talked to annulen (maintainer from the above link) and i don't
think he even tests his Windows binaries...release works, debug
doesn't.

4) stick with an older Qt that works
not great as we miss new features in new Qt versions.

i wish that Qt didn't break older libraries and everything just worked... :\

lubomir
--


More information about the subsurface mailing list