Haunting a Windows "Subsurface not start but becoming zombie" bug

Stefan Fuchs sfuchs at gmx.de
Sun Apr 9 07:33:36 PDT 2017


Hi Lubomir,

thanks for looking into this!


Am 09.04.2017 um 14:37 schrieb Lubomir I. Ivanov:
>> It is that simply sometimes Subsurface under Windows 10 doesn't start. I
>> mean I click on the icon and no window and also no crash info appears. After
>> that I have a zombie Subsurface.exe running. I now for the first time
>> reproduced this with the MXE debug build and again attached drmingw to the
>> zombie exe.
> so it appears to be entering an infinite loop when
> desktop-widgets/globe.cpp calls setShowScaleBar(true);
> it then tries to redirect debug output to a "NullStream" in
> MarbleDebug.cpp which appears to fail on Windows.
> QDebug attempts to acquire a Mutex lock but fails in
> qmutex.cpp::setInternal() (wait()).
>
> i will add a CC to Thiago Macieira to see if he has the time to check
> your stack trace.
>
> you could try:
> 1) in globe.cpp do a on top:
> #include "MarbleDebug.h"
>
> then above setShowScaleBar(true); call:
> MarbleDebug::setEnabled(false);
This variant 1) does build.
Then when running it under Windows 10 it does show a similar behaviour:
It starts 95% of the times but again sometimes I end up with a zombie
process.
I again attached drmingw. Result is attached to this mail. From what I
can see still marble is involved.

> 2) if the above fails try:
> open the Marble source folder and find MarbleDebug.cpp and modify the
> contents of the method mDebug() to be like so:
> QDebug mDebug()
> {
>     return qDebug();
> }
> then rebuild marble.
Depending on your feedback I can test this as well. Didn't do it yet.
> 3) you could also try a different Qt version.
No fun ;-)
I have bad experience with MXE and I'm happy that I found an MXE version
where the release and debug build and the resulting executable works.
This is for me MXE release 2016-10-12 which comes with Qt5.7.

Best regards
Stefan

-- 

Stefan Fuchs
E-Mail: sfuchs at gmx.de <mailto:sfuchs at gmx.de>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20170409/ab4613aa/attachment-0001.html>
-------------- next part --------------
subsurface.exe caused a Breakpoint at location 00007FF8F53D9920 in module ntdll.dll.

Registers:
eax=00000000 ebx=00000004 ecx=00000000 edx=00000000 esi=00000000 edi=00000080
eip=771de5fc esp=03c7e728 ebp=03c7e798 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000206

AddrPC   Params
771DE5FC 00000080 00000000 00000000  ntdll.dll!_NtWaitForSingleObject at 12
76E6AE49 00000080 FFFFFFFF 00000000  KERNELBASE.dll!_WaitForSingleObjectEx at 12
03ED92B9 FFFFFFFF 00000001 03C7E808  Qt5Cored.dll!wait  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex_win.cpp @ 65]
03ED8BAE FFFFFFFF 00000001 03C7E86C  Qt5Cored.dll!lockInternal  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex.cpp @ 508]
03ED8954 00000001 5942D738 03C7E858  Qt5Cored.dll!lockInternal  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex.cpp @ 424]
03ED8851 5931404C 03C7E8FC 03C7E8B8  Qt5Cored.dll!lock  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex.cpp @ 230]
04118CB6 043C706C 00000000 03C7E8E8  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/../../include/QtCore/../../src/corelib/tools/qarraydata.h @ 122]
04089102 59314048 00000003 00000001  Qt5Cored.dll!activate  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qobject.cpp @ 3635]
04088E76 59314048 22A5868C 00000001  Qt5Cored.dll!activate  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qobject.cpp @ 3602]
22783CFA 03C7EA6C 22AA6BC7 03C7EA00  libssrfmarblewidgetd.dll!repaintNeeded  [/home/stefan/Entwicklung/Subsurface/win32/marble/src/lib/marble/TextureLayer.moc @ 248]
2278302C 03C7EBDC 00000000 0000000B  libssrfmarblewidgetd.dll!setNeedsUpdate  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/layers/TextureLayer.cpp @ 420]
227A4980 03C7EBDC 00000000 22AA6B59  libssrfmarblewidgetd.dll!setPropertyValue  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/MarbleMap.cpp @ 1003]
227A207B 03C7EDAC 593A1F18 03C7EDB8  libssrfmarblewidgetd.dll!updateMapTheme  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/MarbleMap.cpp @ 816]
227A6D7A 593A1F14 00000000 00000037  libssrfmarblewidgetd.dll!qt_static_metacall  [/home/stefan/Entwicklung/Subsurface/win32/marble/src/lib/marble/MarbleMap.moc @ 375]
040896E3 593A1F08 00000003 00000001  Qt5Cored.dll!activate  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qobject.cpp @ 3740]
04088E76 593A1F08 22A58750 00000001  Qt5Cored.dll!activate  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qobject.cpp @ 3602]
2279E38F 03C7F1E0 5947A1A0 5942B4E8  libssrfmarblewidgetd.dll!themeChanged  [/home/stefan/Entwicklung/Subsurface/win32/marble/src/lib/marble/MarbleModel.moc @ 270]
2279AA8D 5942A948 03C7F298 03C7F258  libssrfmarblewidgetd.dll!setMapTheme  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/MarbleModel.cpp @ 451]
2279944D 03C7F3DC 007A60F4 0000001E  libssrfmarblewidgetd.dll!setMapThemeId  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/MarbleModel.cpp @ 280]
227A1E21 03C7F3DC 0000001E 00000001  libssrfmarblewidgetd.dll!setMapThemeId  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/MarbleMap.cpp @ 800]
227911EB 03C7F3DC 00000001 03C7F330  libssrfmarblewidgetd.dll!setMapThemeId  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/MarbleWidget.cpp @ 790]
004A25C4 00000000 1A4F4EA8 03C7F448  subsurface.exe! ??   [/home/stefan/Entwicklung/Subsurface/subsurface/desktop-widgets/globe.cpp @ 66]
004A21AB 03C7F5DC 592A7A88 0078D779  subsurface.exe!instance  [/home/stefan/Entwicklung/Subsurface/subsurface/desktop-widgets/globe.cpp @ 29]
004603AE 00000000 00000000 03C7F718  subsurface.exe! ??   [/home/stefan/Entwicklung/Subsurface/subsurface/desktop-widgets/tab-widgets/maintab.cpp @ 68]
00402587 00000790 58840920 00000005  subsurface.exe! ??   [/home/stefan/Entwicklung/Subsurface/subsurface/desktop-widgets/mainwindow.cpp @ 99]
00401F42 006F1040 007FFA40 00050700  subsurface.exe!init_ui  [/home/stefan/Entwicklung/Subsurface/subsurface/subsurface-desktop-helper.cpp @ 35]
00401A3D 58829370 00000035 00000001  subsurface.exe!main  [/home/stefan/Entwicklung/Subsurface/subsurface/subsurface-desktop-main.cpp @ 89]
004013E2 00398000 741F62A0 CFD1A72D  subsurface.exe!__tmainCRTStartup  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-gcc-i686-w64-mingw32.shared/gcc-4.9.4/mingw-w64-v4.0.6/mingw-w64-crt/crt/crtexe.c @ 332]
741F62C4 00398000 CCD0FED3 00000000  KERNEL32.DLL!@BaseThreadInitThunk at 12
771D0FD9 FFFFFFFF 771F2F02 00000000  ntdll.dll!__RtlUserThreadStart
771D0FA4 004014C0 00398000 00000000  ntdll.dll!__RtlUserThreadStart at 8

Registers:
eax=f5401970 ebx=00000000 ecx=00000000 edx=00000000 esi=00000000 edi=00000000
eip=771e0970 esp=5b16fff0 ebp=00000000 iopl=0         nv up ei pl nz na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202

AddrPC   Params
771E0970 00000000 00000000 00000000  ntdll.dll!_RtlUserThreadStart at 8

Registers:
eax=76577410 ebx=00000000 ecx=00000000 edx=00000000 esi=0000000a edi=0000000a
eip=771deb8c esp=59bffb5c ebp=59bffcec iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000206

AddrPC   Params
771DEB8C 0000000A 5929E678 00000001  ntdll.dll!_NtWaitForMultipleObjects at 20
76E71BF0 0000000A 5929E678 00000000  KERNELBASE.dll!_WaitForMultipleObjectsEx at 20
76E71AE8 0000000A 5929E678 00000000  KERNELBASE.dll!_WaitForMultipleObjects at 16
04008D5D 00000001 59428760 00000003  Qt5Cored.dll!run  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/io/qfilesystemwatcher_win.cpp @ 345]
03EE0950 765773A6 5942CD38 97DD30AC  Qt5Cored.dll!start  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qthread_win.cpp @ 391]
765773A6 59BFFF94 741F62C4 592F7C30  msvcrt.dll!_callthreadstartex
76577471 592F7C30 741F62A0 95A9A72D  msvcrt.dll!_threadstartex
741F62C4 592F7C30 96A8FED3 00000000  KERNEL32.DLL!@BaseThreadInitThunk at 12
771D0FD9 FFFFFFFF 771F2F02 00000000  ntdll.dll!__RtlUserThreadStart
771D0FA4 76577410 592F7C30 00000000  ntdll.dll!__RtlUserThreadStart at 8

Registers:
eax=00000000 ebx=6fed6d00 ecx=00000000 edx=00000000 esi=00000000 edi=000001a0
eip=771de5fc esp=5b5ef854 ebp=5b5ef8c4 iopl=0         nv up ei pl nz na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202

AddrPC   Params
771DE5FC 000001A0 00000000 00000000  ntdll.dll!_NtWaitForSingleObject at 12
76E6AE49 000001A0 FFFFFFFF 00000000  KERNELBASE.dll!_WaitForSingleObjectEx at 12
76E6ADA2 000001A0 FFFFFFFF 041E600A  KERNELBASE.dll!_WaitForSingleObject at 8
6FE4A940 043C71C8 00000001 5B5EF9B8  libstdc++-6.dll!__gthr_win32_recursive_mutex_lock  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-gcc-i686-w64-mingw32.shared/gcc-4.9.4/libgcc/config/i386/gthr-win32.c @ 215]
03ED8F17 043C706C 00000000 5B5EF9E8  Qt5Cored.dll!allocate  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex.cpp @ 615]
03ED89D3 FFFFFFFF 00000001 5B5EFA4C  Qt5Cored.dll!lockInternal  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex.cpp @ 444]
03ED8954 00000001 5947A24C 5B5EFA58  Qt5Cored.dll!lockInternal  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex.cpp @ 424]
03ED8851 5B5EFBE0 043AE0DC 00000022  Qt5Cored.dll!lock  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qmutex.cpp @ 230]
04135413 043C706C 043C71C8 5B5EFAB8  Qt5Cored.dll!relock  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/../../include/QtCore/../../src/corelib/kernel/qobjectdefs.h @ 521]
04081B55 0000001E 5B5EFC18 5B5EFB68  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qobject.cpp @ 1007]
04137D60 00000037 00000001 5B5EFC18  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/../../include/QtCore/../../src/corelib/codecs/qtextcodec.h @ 97]
03FC8027 5B5EFB60 5B5EFE78 5B5EFBE8  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/io/qtextstream.cpp @ 344]
04138431 59322BA8 741F5F70 015EFBF8  Qt5Cored.dll!cleanup  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/../../include/QtCore/../../src/corelib/codecs/qtextcodec.h @ 97]
0411CE48 5B5EFC18 5941C9AC 5B5EFC38  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/../../include/QtCore/../../src/corelib/codecs/qtextcodec.h @ 97]
03FCA1D6 59326DDC 76577410 5B5EFC90  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/io/qtextstream.cpp @ 1159]
0417BBA8 00000020 00000001 5B5EFCC8  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/../../include/QtCore/../../src/corelib/io/qtextstream.h @ 217]
03FA8406 5B5EFD90 5B5EFE54 041E600A  Qt5Cored.dll! ??   [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/io/qdebug.cpp @ 158]
228491D2 00000001 59426F00 0000000B  libssrfmarblewidgetd.dll!run  [/home/stefan/Entwicklung/Subsurface/marble-source/src/lib/marble/FileLoader.cpp @ 175]
03EE0950 765773A6 594225B0 953C30AC  Qt5Cored.dll!start  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qthread_win.cpp @ 391]
765773A6 5B5EFF94 741F62C4 592F8D70  msvcrt.dll!_callthreadstartex
76577471 592F8D70 741F62A0 9748A72D  msvcrt.dll!_threadstartex
741F62C4 592F8D70 9449FED3 00000000  KERNEL32.DLL!@BaseThreadInitThunk at 12
771D0FD9 FFFFFFFF 771F2F02 00000000  ntdll.dll!__RtlUserThreadStart
771D0FA4 76577410 592F8D70 00000000  ntdll.dll!__RtlUserThreadStart at 8

Registers:
eax=00000001 ebx=6fed6d00 ecx=00000000 edx=00000000 esi=00000000 edi=000001a0
eip=771de5fc esp=599fdc44 ebp=599fdcb4 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000206

AddrPC   Params
771DE5FC 000001A0 00000000 00000000  ntdll.dll!_NtWaitForSingleObject at 12
76E6AE49 000001A0 FFFFFFFF 00000000  KERNELBASE.dll!_WaitForSingleObjectEx at 12
76E6ADA2 000001A0 FFFFFFFF 599FDD00  KERNELBASE.dll!_WaitForSingleObject at 8
6FE4A940 599FDDCC 00000000 74378A93  libstdc++-6.dll!__gthr_win32_recursive_mutex_lock  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-gcc-i686-w64-mingw32.shared/gcc-4.9.4/libgcc/config/i386/gthr-win32.c @ 215]
74378A93 00030000 00000001 599FDE54  USER32.dll!_DispatchHookW at 16
743780DC 599FDE70 74377FD0 599FFC9C  USER32.dll!CallHookWithSEH
7437802B 599FDE44 00000030 599FFF68  USER32.dll!__fnHkINLPMSG
771E08C6 599FFC9C 00000000 00000000  ntdll.dll!_KiUserCallbackDispatcher at 12
74376AD7 00000000 00000000 00000001  USER32.dll!_PeekMessage
74376A6D 599FFC9C 00000000 00000000  USER32.dll!PeekMessageW
040B5740 00000002 0000FFFF 76577410  Qt5Cored.dll!processEvents  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qeventdispatcher_win.cpp @ 776]
04056C4E 00000024 599FFDCC 599FFDF0  Qt5Cored.dll!processEvents  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qeventloop.cpp @ 134]
04056F87 00000000 599FFF20 599FFEB8  Qt5Cored.dll!exec  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/kernel/qeventloop.cpp @ 210]
03EDCC5C 00000000 00000000 00000000  Qt5Cored.dll!exec  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qthread.cpp @ 507]
03EDCE57 00000001 592F49C0 00000003  Qt5Cored.dll!run  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qthread.cpp @ 574]
03EE0950 765773A6 593166E0 97FD30AC  Qt5Cored.dll!start  [/home/stefan/Entwicklung/Subsurface/mxe-2016-10-12/tmp-qtbase-i686-w64-mingw32.shared/qtbase-opensource-src-5.7.0/src/corelib/thread/qthread_win.cpp @ 391]
765773A6 599FFF94 741F62C4 592F7C30  msvcrt.dll!_callthreadstartex
76577471 592F7C30 741F62A0 9589A72D  msvcrt.dll!_threadstartex
741F62C4 592F7C30 9688FED3 00000000  KERNEL32.DLL!@BaseThreadInitThunk at 12
771D0FD9 FFFFFFFF 771F2F02 00000000  ntdll.dll!__RtlUserThreadStart
771D0FA4 76577410 592F7C30 00000000  ntdll.dll!__RtlUserThreadStart at 8



More information about the subsurface mailing list