Re: help understanding a Windows crash report

2014-10-30 Thread Lubomir I. Ivanov
On 30 October 2014 00:07, Dirk Hohndel d...@hohndel.org wrote:

 Please test
 http://subsurface-divelog.org/downloads/daily/subsurface-4.2-349-g2b8043b82b99.exe
 if you have a chance to make sure that it's not just my system where this
 works again...

 This one also implements the long missing don't install 64bit binaries on
 a 32bit system feature...


quickly tested the installer and there are no crashes.

lubomir
--
___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: help understanding a Windows crash report

2014-10-30 Thread Dirk Hohndel

 On Oct 30, 2014, at 3:15 AM, Lubomir I. Ivanov neolit...@gmail.com wrote:
 
 On 30 October 2014 00:07, Dirk Hohndel d...@hohndel.org wrote:
 
 Please test
 http://subsurface-divelog.org/downloads/daily/subsurface-4.2-349-g2b8043b82b99.exe
 if you have a chance to make sure that it's not just my system where this
 works again...
 
 This one also implements the long missing don't install 64bit binaries on
 a 32bit system feature...
 
 
 quickly tested the installer and there are no crashes.

Good. Thanks.

/D
___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: help understanding a Windows crash report

2014-10-30 Thread Dirk Hohndel
On Wed, Oct 29, 2014 at 09:19:22PM -0700, Dirk Hohndel wrote:
 
  On Oct 29, 2014, at 6:50 PM, Thiago Macieira thi...@macieira.org wrote:
  
  I'm fairly certain it's not a Qt bug now. This is a binary incompatibility 
  issue between QtGui and QtWidgets due either a bug in Dirk's packaging or 
  in 
  Fedora's packaging.
  
  Dirk: verify that the DLLs you gave me are exactly the ones that Fedora 
  shipped. If they are, the bug is in Fedora's build, somehow. It looks like 
  a 
  stale Qt5Gui.dll got packaged instead of the right one.
 
 I am 99% certain that the package I gave you had the correct DLLs from the
 Fedora packages. I’ll need to hunt down the md5 values for those DLLs to be
 100% sure.

I am now certain that I am packaging the Qt DLLs as delivered by Fedora 20.
I uninstalled the corresponding packages, reinstalled them from the server
and compared md5 fingerprints of all the Qt DLLs with the ones from the
DLLs that were in the package that crashed...

/D
___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: help understanding a Windows crash report

2014-10-29 Thread Tomaz Canabrava
On Wed, Oct 29, 2014 at 6:38 PM, Dirk Hohndel d...@hohndel.org wrote:


 Running my latest daily build (not on the server, yet, for obvious
 reasons) I get the following crash. And I have no clue how to read
 those...

 Problem signature:
   Problem Event Name:  APPCRASH
   Application Name:subsurface.exe
   Application Version: 4.2.0.349
   Application Timestamp:   545147c1
   Fault Module Name:   Qt5Core.dll
   Fault Module Version:5.3.2.0
   Fault Module Timestamp:  541cda2f
   Exception Code:  c005
   Exception Offset:00094d90
   OS Version:  6.1.7601.2.1.0.256.4
   Locale ID:   1033
   Additional Information 1:70c7
   Additional Information 2: 70c70372fad2f93bb2b69b6202626cb6
   Additional Information 3:dfe1
   Additional Information 4: dfe1b677b69a5298073538898968a3dd

 It looks like it's crashing in Qt5Core.dll - but how do I figure out what
 the rest means? There's an offset but no function name???


Dirk,

Can you build the app in debug mode?
Qt libraries have them build in debug mode to help that kind of stuff.

Tomaz



 /D
 ___
 subsurface mailing list
 subsurface@subsurface-divelog.org
 http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: help understanding a Windows crash report

2014-10-29 Thread Dirk Hohndel
On Wed, Oct 29, 2014 at 06:46:12PM -0200, Tomaz Canabrava wrote:
 On Wed, Oct 29, 2014 at 6:38 PM, Dirk Hohndel d...@hohndel.org wrote:
 
 
  Running my latest daily build (not on the server, yet, for obvious
  reasons) I get the following crash. And I have no clue how to read
  those...
 
  Problem signature:
Problem Event Name:  APPCRASH
Application Name:subsurface.exe
Application Version: 4.2.0.349
Application Timestamp:   545147c1
Fault Module Name:   Qt5Core.dll
Fault Module Version:5.3.2.0
Fault Module Timestamp:  541cda2f
Exception Code:  c005
Exception Offset:00094d90
OS Version:  6.1.7601.2.1.0.256.4
Locale ID:   1033
Additional Information 1:70c7
Additional Information 2: 70c70372fad2f93bb2b69b6202626cb6
Additional Information 3:dfe1
Additional Information 4: dfe1b677b69a5298073538898968a3dd
 
  It looks like it's crashing in Qt5Core.dll - but how do I figure out what
  the rest means? There's an offset but no function name???
 
 
 Dirk,
 
 Can you build the app in debug mode?
 Qt libraries have them build in debug mode to help that kind of stuff.

I remember this rat hole. My Qt libraries come from Fedora (cross built
for Win64). A debug build of Marble alone is several hundred megabytes and
takes roughly forever... and I have yet to be able to build a single
installer that actually works as debug build.
Literally. That's why I gave up trying to get Qt5 work in 32bit.

Sooo frustrating.

/D
___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: help understanding a Windows crash report

2014-10-29 Thread Dirk Hohndel
On Wed, Oct 29, 2014 at 01:52:07PM -0700, Dirk Hohndel wrote:
 I remember this rat hole. My Qt libraries come from Fedora (cross built
 for Win64). A debug build of Marble alone is several hundred megabytes and
 takes roughly forever... and I have yet to be able to build a single
 installer that actually works as debug build.
 Literally. That's why I gave up trying to get Qt5 work in 32bit.

Brilliant. Apparently a Fedora update broke things. If I replace the
current Qt DLLs with the ones from a built a few months ago everything
works.

So now I need to undo those updates to mingw64-qt5-qtbase and friends.

/D
___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: help understanding a Windows crash report

2014-10-29 Thread Tomaz Canabrava
On Wed, Oct 29, 2014 at 7:04 PM, Dirk Hohndel d...@hohndel.org wrote:

 On Wed, Oct 29, 2014 at 01:52:07PM -0700, Dirk Hohndel wrote:
  I remember this rat hole. My Qt libraries come from Fedora (cross built
  for Win64). A debug build of Marble alone is several hundred megabytes
 and
  takes roughly forever... and I have yet to be able to build a single
  installer that actually works as debug build.
  Literally. That's why I gave up trying to get Qt5 work in 32bit.

 Brilliant. Apparently a Fedora update broke things. If I replace the
 current Qt DLLs with the ones from a built a few months ago everything
 works.

 So now I need to undo those updates to mingw64-qt5-qtbase and friends.


And poke fedora guys.


 /D

___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface


Re: help understanding a Windows crash report

2014-10-29 Thread Thiago Macieira
On Wednesday 29 October 2014 15:07:35 Dirk Hohndel wrote:
 I have no debug symbols. Thiago is looking into this and he came to the
 conclusion that this might be a Qt 5.3.2 bug. The previous Fedora version
 was 5.3.1 - but I can't get those RPMs anymore.

I'm fairly certain it's not a Qt bug now. This is a binary incompatibility 
issue between QtGui and QtWidgets due either a bug in Dirk's packaging or in 
Fedora's packaging.

Dirk: verify that the DLLs you gave me are exactly the ones that Fedora 
shipped. If they are, the bug is in Fedora's build, somehow. It looks like a 
stale Qt5Gui.dll got packaged instead of the right one.

Explanation:

The backtrace that I managed to obtain with Dirk made little sense, but after 
realising that the debugger wasn't picking up the names of unexported 
functions, I reconstructed the following backtrace:

#3 QPlatformFontDatabase::resolveFontFamilyAlias(const QString ) const
#4 QFontComboBoxPrivate::_q_updateModel()
[not shown] QFontComboBox::setWritingSystem(QFontDatabase::WritingSystem)
#5 QFontComboBox::QFontComboBox(QWidget *)

If you look at _q_updateModel, you'll see that it does not call 
resolveFontFamilyAlias. But by comparing the assembly with the source code, 
the crash point is on line:

if (pfdb-isPrivateFontFamily(list.at(i)))

pfdb is a QPlatformFontDatabase.

Here's how I know it's a BIC issue: both resolveFontFamilyAlias and 
isPrivateFontFamily are virtual functions and isPrivateFontFamily was added 
between Qt 5.3.1 and 5.3.2, inserted just before resolveFontFamilyAlias. That 
means the caller in QtWidget placed a call to the correct virtual slot, but 
the QPlatformFontDatabase's virtual table in QtGui contained the old function 
at that position.

This problem cannot happen in a clean build. The only way for this to happen 
is if Fedora rebuilt without cleaning up the .o files or if they accidentally 
packaged a pre-release Qt5Gui.dll.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center
  PGP/GPG: 0x6EF45358; fingerprint:
  E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

___
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface