latest Windows binary crashes

Dirk Hohndel dirk at hohndel.org
Mon Jul 3 14:32:35 PDT 2017


> On Jul 3, 2017, at 2:21 PM, Lubomir I. Ivanov <neolit123 at gmail.com> wrote:
> 
> 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.

Grumble.

I was told on the Qt list that there is a MUCH newer branch that I should
try - they have updated to a current WebKit. The thing that's odd... between
5.7.1 (which the Windows binaries used to be based on) and 5.9 there shouldn't
really have been any WebKit changes... so why does it crash now.

:-(

> 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 think they are working on 5.10 ...


> 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

WebKit - I think we are stuck with that for a while
Marble - Tomaz has this working with the latest, maintained Marble
Grantee - I have this working on Mac

> 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.

Massively insanely huge. But it actually is maintained. Just not
as well as one might hope :-/

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

Yes, and that appears to be in the 5.212 branch of Qt that I need to
find the time to investigate...

> 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.

For Windows that's actually an option. BLE isn't supported, anyway,
and that's the main reason we really want 5.9+ on the other platforms

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

Me too. And I want a pony.

/D


More information about the subsurface mailing list