Qt5 Qtwebkit encounter an "StackHash_0a9e" crash with Windows 7+ VS2012
-
OS: winserver_2003 64bit + Oracle VMbox + windows 7 32bit
Complier: VS2012 .
source Pack: qt-everywhere 5.0, extract zip package to d:\Qt\temp
configure paras:
-
-icu (using ICU4C 50 prebuild vs2010, vcredist already installed)
-
-openssl (Compiled with vc2012)
-
-debug-and-release,
-
-prefix D:\Qt\qt5.0.0\5.0.0\msvc2012
sqllite has ben extracted to d:\Qt\sqllite_folder.
- I started nmake in Visual Studio 2012 cmdline, everything went ok, "nmake install" put everything well ok.
- HOWEVER, when I start qtassistant, a crash box poped up, os said "StackHash_0a9e". I tried to start a in-time debugger, it seems that the app went dead in Qt5WebKit.dll, with a bad pointer operation.
- Then, I find that not only qt-assisitant , but ALL of the applicaitons using release version "Qt5Webkit" could fire this error , (debug version is OK). we will mostly get an empty-white main-frame before app dead.
- Is there anyone-else encoutered this problem?
- I googled this problem, seems that some popular Video GAMEs could cause this problem. OpenGL? Network? Unicode and UTF-8 issues? so I'm now trying to roll ICU50 back to ICU49 , and a -opengl desktop conf option, remove -openssl, configure and rebuild Qt5 with force-debug-info again. I hope that debug symbols in release version can give me a clear call-stack when crash happen.
-
-
Make sure everything is build with the same compiler. Using different compiler versions does cause all kinds of crashes!
-
eer, ICU is vc2010 based, may be a rebuild in vc2012 can fix that problem, I'll try agan
-
I spent more than two days to re-compile the code with different configure options. At first I built openssl, ICU4C49 under VS2012, then tried to combine different paraments , with or without -openssl, -opengl desktop。 Unfortunately nothing changed.
The text below is the call stack when assistant.exe failed to start. (Another problem , is, -force-debug-info option makes no debug info for release versions, no PDB file founded).
I notice that there is a ZERO size malloc options, which shall be the reson for this crash.
00000000() Unknown
[Frames below may be incorrect and/or missing]
Qt5WebKit.dll!6ab89aaa() Unknown
Qt5WebKit.dll!6abfd1ea() Unknown
Qt5WebKit.dll!6ae747ec() Unknown
Qt5WebKit.dll!6aae6221() Unknown
Qt5WebKit.dll!6a93a872() Unknown
Qt5WebKit.dll!6a93b21b() Unknown
Qt5WebKit.dll!6a93bfdd() Unknown
Qt5WebKit.dll!6a93bc54() Unknown
Qt5WebKit.dll!6a6fe7d0() Unknown
Qt5WebKitWidgets.dll!6eec3723() Unknown
Qt5WebKitWidgets.dll!6eec7732() Unknown
Qt5Widgets.dll!6b6d4cb0() Unknown
Qt5WebKitWidgets.dll!6eecaef6() Unknown
Qt5WebKitWidgets.dll!6eec57db() Unknown
Qt5WebKitWidgets.dll!6eecea62() Unknown
assistant.exe!00369447() Unknown
assistant.exe!00365db3() Unknown
assistant.exe!00368a74() Unknown
msvcr110.dll!malloc(unsigned int size=0) Line 91 Crash man be caused here??
Qt5Widgets.dll!6b6d4354() Unknown
Qt5Widgets.dll!6b6c926b() Unknown
assistant.exe!00368f25() Unknown
assistant.exe!00367e99() Unknown
assistant.exe!00368331() Unknown
assistant.exe!00357bc3() Unknown
Qt5Core.dll!6cc21ca3() Unknown
assistant.exe!0034e7fe() Unknown
kernel32.dll!75bf3c45() Unknown
ntdll.dll!772037f5() Unknown
kernel32.dll!75bfed38() Unknown
kernel32.dll!75bfed38() Unknown
now I'm building the same package under vc2010.
-
I built it under vc2010, everything is OK!
-
I have the same problem with msvc 2012 and x86.
Every application crashes instantly.I compiled everything with msvc 2012 from the sources.
The x64 builds are working without any problem.Did you got it running with msvc 2012 in the meantime?
-
Not yet. I stopped using vs2012. The purpose I tried to compile Qt under 2012 , is, taking a look at NEW C++ 11 standard features, and for a better performance.
Now, I'm not quite sure to upgrade my project to VS2012, for two reasons:
- Every GUI app using QWebKit will fail under release version.
- Visual C++ 2012 compiler and linker seems not only a bit slower , but more memory-greeding when building such a huge project. The linker often encounted an "Out of memory" error when dealing with 1GB-size libs , eg, webcore. This is mostly due to memory fregment caused by frequently mem-alloc-free, an reboot and re-nmake can fix that problem.
- new C++ 11 standard in VS2012 can mostly be replaced by Qt based features, and new binding style signal-slots is also avalible in VS2010.
-
Thanks a lot for you very usefully answer! :)
Can I ask you a last question? Did you created a bug report for the problem?
If yes, can you please provide me the link? (I cant find anything related to this in the bug tracker) -
Same here, all components are compiled with VS 2012 + QT from git. and QWebView crashes instantly...
-
Exact same problem here, on Win7 x64 MSVC 2012, Qt build from git. Probably this is the reason why there is no prebuild download? ;)
Another thing, on the first build try I enabled LTCG, the build system tries to build an static webkit library and fails on it's size (>2 GB I guess).
And I don't think ICU 5 for MSVC 2010 should pose any problems, C interface should be compatible, else interfacing with any system library would be a problem too.
-
The same here:
Qt 5.0.1, Win8 Pro 64bit, MSVC 2012Webkit crashes reproducible.
-
Amendment: assistant.exe works as expected, but not a programm using Webkit.
-
[quote author="manuel.gysin" date="1358629363"]Thanks a lot for you very usefully answer! :)
Can I ask you a last question? Did you created a bug report for the problem?
If yes, can you please provide me the link? (I cant find anything related to this in the bug tracker)[/quote]Of couse! My pleasure! I'm not quite sure about this problem, maybe, Chinese locale or special hardware/software envs can cause this. I'll try it later under raw eng windows 7, If the error still occur, I'll push a bug report.
-
Sounds good, I wouldn't know how to start a bugreport on this case. Tried to find one, but I don't think there is one.
Got a slow computer, release build takes half a day already. I built 4.8.4 and 5.0.1 in x86 and amd64 archs as release and they fail all the same. 4.8.4 doesn't even build without a patch.
On a side note I don't think it's good for Qt's current makers to say it would be plain possible to build on MSVC 2012, telling the fact there are no downloads for it would be build bot related, when in reality either Qt or the compiler just aren't able to produce a working kit.
Could have spared me hours of rebuilding :p
-
Ah I've got Update 1 on MSVC 2012 so maybe that matters, too. For anyone trying to triage the problem and putting up a bug report.
-
This bug is causing the problem: https://bugs.webkit.org/show_bug.cgi?id=90008 it is still not fixed in 5.0.1
I've put an updated copy of TextEncodingRegistry.cpp that works around the bug here: http://pastebin.com/hMfQH9i7
-
Thank you. I looked at this bug report before and didn't link it to our issue here.
4.8.4 version is different,
(removed link to it)
this patch works for 4.8.4. I'm not so sure that I didn't broke something but assistant doesn't crash anymore.
Hope the patch format is fine. First time ever :D
-
Its definitivly not right and fracks encoding, so don't use my patch. Sorry.
-
I wasn't sure a porper bug report was sent, so here is the bug report:
https://bugreports.qt-project.org/browse/QTBUG-29719
lets hope it will be fixed in 5.0.2 (~end of feb?)
Torben
-
Now it is a confirmed bug an raised to critical: