Part 3 isn't missing, I just wasn't paying attention to formatting. Sorry. On Wed, Apr 21, 2010 at 4:30 PM, Jack Wootton <[email protected]> wrote:
> I do have backtraces; I documented the problem on qtcreator mailing list > because initially I thought it was an issue with Creator. Theres a lot of > content, split into 6 parts, labelled Part 1 to Part 6, ordered > chronologically. > > > *Part 1* > > I cloned the git repositories for the latest versions of both Qt 4.7 and > Creator 2. Qt built successfully as did QtCreator. However when I run > Creator, it loads and the IDE "homepage" is displayed, and after about 10 > seconds it crashes with the following Windows error dialog being displayed: > > *"The instruction at "0x0072a1ec" refereced memory at 0xffffffff. The > memory could not be "read". > > Click OK to terminate the program > Clock CANCEL to debug the program”* > > * * > > *Part 2* > > Here's the crash, from the point where qtcreator was launched > > / ******************* Start trace *******************/ > > Starting program: C:\git\creator\qt-creator\bin/qtcreator.exe > [New Thread 4840.0x12ec] > [New Thread 4840.0xdd0] > [New Thread 4840.0x250] > [New Thread 4840.0x100c] > [New Thread 4840.0x7b4] > [New Thread 4840.0x10a4] > [New Thread 4840.0x1554] > [New Thread 4840.0xdb0] > [New Thread 4840.0x15f0] > warning: BTMMHOOK 20.04.2010 14:58:16 Thread<12EC> Hook DLL loaded > > Utils::SavedAction(0x7b29450) QVariant(bool, false) > QVariant(QString, "8") > Unable to detect Qt version for 'T:/'. > Unable to detect Qt version for 'U:/'. > Unable to detect Qt version for 'D:/Symbian/9.2/S60_3rd_FP1/'. > [New Thread 4840.0x7f4] > [New Thread 4840.0x644] > [New Thread 4840.0xfd4] > [New Thread 4840.0xd44] > [New Thread 4840.0x1700] > > Program received signal SIGSEGV, Segmentation fault. > _mm_set_epi32 (__Z=-1250856, __Y=-1250856, __X=-1250856, __W=-1250856) > at C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/include/emmintrin.h:609 > > / ******************* Finish trace *******************/ > > > > And here's the backtrace from the point of the crash > > / ******************* Start trace *******************/ > > #0 _mm_set_epi32 (__Z=-1250856, __Y=-1250856, __X=-1250856, __W=-1250856) > at C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/include/emmintrin.h:609 > #1 0x0072a09c in qt_memfill32_sse2 (dest=0x24ff0000, value=4293716440, > count=28160) at painting/qdrawhelper_sse2.cpp:294 > #2 0x00f576e5 in qt_memfill<unsigned int> (dest=0x24ff0000, > color=4293716440, count=28160) > at > ../../include/QtGui/private/../../../src/gui/painting/qdrawhelper_p.h:1526 > #3 0x00f59e3c in qt_rectfill<unsigned int> (dest=<incomplete type>, > value=4293716440, x=0, y=0, width=1280, height=22, > stride=5120) at > ../../include/QtGui/private/../../../src/gui/painting/qdrawhelper_p.h:1567 > #4 0x00f71dc1 in qt_rectfill_template<unsigned int> > (rasterBuffer=0x24085050, x=0, y=0, width=1280, height=22, > color=4293716440, dummy=0) at painting/qdrawhelper.cpp:7405 > #5 0x009547de in qt_rectfill_quint32 (rasterBuffer=0x24085050, x=0, y=0, > width=1280, height=22, color=4293716440) > at painting/qdrawhelper.cpp:7418 > #6 0x0093a713 in fillRect_normalized (r=..., data=0x241b3228, > pe=0x24220d60) at painting/qpaintengine_raster.cpp:1484 > #7 0x0093cef9 in QRasterPaintEngine::fillRect (this=0x24215db0, r=..., > data=0x241b3228) > at painting/qpaintengine_raster.cpp:1877 > #8 0x0093d3a6 in QRasterPaintEngine::fillRect (this=0x24215db0, r=..., > brush=...) > at painting/qpaintengine_raster.cpp:1921 > #9 0x008c1338 in QPainter::fillRect (this=0x22cc7c, r=..., brush=...) at > painting/qpainter.cpp:6881 > #10 0x0079783b in fillRegion (painter=0x22cc7c, rgn=..., brush=...) at > kernel/qwidget.cpp:2198 > #11 0x00797353 in QWidgetPrivate::paintBackground (this=0x6837278, > painter=0x22cc7c, rgn=..., flags=5) > at kernel/qwidget.cpp:2229 > #12 0x0079f667 in QWidgetPrivate::drawWidget (this=0x6837278, > pdev=0x24215c48, rgn=..., offset=..., flags=5, > sharedPainter=0x0, backingStore=0x24207cc8) at kernel/qwidget.cpp:5291 > #13 0x009828d8 in QWidgetBackingStore::sync (this=0x24207cc8) at > painting/qbackingstore.cpp:1300 > #14 0x00794f7c in QWidgetPrivate::syncBackingStore (this=0x6837278) at > kernel/qwidget.cpp:1703 > #15 0x007a9766 in QWidget::event (this=0x6837198, event=0x24215df8) at > kernel/qwidget.cpp:8379 > #16 0x00c4f66e in QMainWindow::event (this=0x6837198, event=0x24215df8) at > widgets/qmainwindow.cpp:1417 > #17 0x6e8082aa in Core::Internal::EventFilteringMainWindow::event > (this=0x6837198, event=0x24215df8) > at eventfilteringmainwindow.cpp:65 > #18 0x0074302e in QApplicationPrivate::notify_helper (this=0x3d58b0, > receiver=0x6837198, e=0x24215df8) > at kernel/qapplication.cpp:4341 > #19 0x00742eb2 in QApplication::notify (this=0x22ff30, receiver=0x6837198, > e=0x24215df8) at kernel/qapplication.cpp:4306 > #20 0x6a254327 in QCoreApplication::notifyInternal (this=0x22ff30, > receiver=0x6837198, event=0x24215df8) > at kernel/qcoreapplication.cpp:704 > #21 0x6a2e7f37 in QCoreApplication::sendEvent (receiver=0x6837198, > event=0x24215df8) > at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 > #22 0x6a2556e9 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, > event_type=0, data=0x3d59f0) > at kernel/qcoreapplication.cpp:1345 > #23 0x6a287dd6 in qt_internal_proc (hwnd=0x3027e, message=1025, wp=0, lp=0) > at kernel/qeventdispatcher_win.cpp:501 > #24 0x7e418724 in USER32!GetDC () from C:\WINDOWS\system32\user32.dll > #25 0x0003027e in ?? () > #26 0x00000401 in ?? () > #27 0x00000000 in ?? () > > / ******************* Finish trace *******************/ > > > > *Part 4* > > The penultimate function call is a QT function: void > qt_memfill32_sse2(quint32 *dest, quint32 value, int count) > > located in \src\gui\painting\qdrawhelper_sse2.cpp > > This function calls _mm_set_epi32(value, value, value, value) which is > defined as part of the GCC port, MinGW. This is the last function call > before the crash. > > The value of the 'value' parameter provided by the QT function > "qt_memfill32_sse2" is 4293716440. > > 4293716440 is the Two's Complement of -1,250,856, which fits with the last > bit of output from gdb: > > _mm_set_epi32 (__Z=-1250856, __Y=-1250856, __X=-1250856, __W=-1250856) > > > > I don't see any issues with this since the documentation for _mm_set_epi32 > (http://msdn.microsoft.com/en-us/library/019beekt.aspx) states "Sets the 4 > signed 32-bit integer values." The value 4293716440 is less than 2^32, so it > is within the range of a 32 bit int, and it can be signed. > > > > *Part 5* > > I decided to revert to the slightly older *binary* download of Creator > from the Qt 4.7 snapshot page: > http://qt.nokia.com/developer/qt-qtcreator-prerelease#download > > It installs and opens fine, but when loading a QML project and attempting > to debug it I receive a very similar error to the one I previously reported > wit the QtCreator crash. This time QtCreator remains open since it is > debugging an application that triggered the crash (and not QtCreator > itself). The callstack however seems identical to the backtrace I provided > when *the very latest* QtCreator (from git) was crashing. Here's the > callstack from my application crash using QtCreator binary release: > > 0 _mm_set_epi32 emmintrin.h 609 0x0062a1ec > 1 qt_memfill32_sse2 qdrawhelper_sse2.cpp 294 0x0062a09c > 2 qt_memfill<unsigned int> qdrawhelper_p.h 1526 0x00e576e5 > 3 qt_rectfill<unsigned int> qdrawhelper_p.h 1567 0x00e59e3c > 4 qt_rectfill_template<unsigned int> qdrawhelper.cpp 7405 > 0x00e71dc1 > 5 qt_rectfill_quint32 qdrawhelper.cpp 7418 0x008547de > 6 fillRect_normalized qpaintengine_raster.cpp 1484 > 0x0083a713 > 7 QRasterPaintEngine::fillRect qpaintengine_raster.cpp 1877 > 0x0083cef9 > 8 QRasterPaintEngine::fillRect qpaintengine_raster.cpp 1921 > 0x0083d3a6 > 9 QPainter::fillRect qpainter.cpp 6881 0x007c1338 > 10 fillRegion qwidget.cpp 2198 0x0069783b > 11 QWidgetPrivate::paintBackground qwidget.cpp 2233 > 0x006973d4 > 12 QWidgetPrivate::drawWidget qwidget.cpp 5291 0x0069f667 > 13 QWidgetPrivate::paintSiblingsRecursive qwidget.cpp 5520 > 0x006a0b95 > 14 QWidgetPrivate::drawWidget qwidget.cpp 5362 0x0069ff30 > 15 QWidgetBackingStore::sync qbackingstore.cpp 1300 > 0x008828d8 > 16 QWidgetPrivate::syncBackingStore qwidget.cpp 1703 > 0x00694f7c > 17 QWidget::event qwidget.cpp 8379 0x006a9766 > 18 QFrame::event qframe.cpp 557 0x00b27231 > 19 QAbstractScrollArea::event qabstractscrollarea.cpp 989 > 0x00be5379 > 20 QGraphicsView::event qgraphicsview.cpp 2666 0x00dd5e31 > > The problem points to the same source files in the same places as the > backtrace from the QtCreator crash i.e. emmintrin.h line 609 in the function > > /* Create the vector [Z Y X W]. */ > static __inline __m128i _mm_set_epi32 (int __Z, int __Y, int __X, int __W) > > > > *Part 6* > > Based on advice from mailing list members, I tried running qtdemo.exe from > my compiled version of Qt 4.7. qtdemo.exe crashes with segmentation fault > too, so it's not a Creator issue. The backtrace from gdb is different > though. > > > > > > > > > > > On Wed, Apr 21, 2010 at 3:06 PM, Thiago Macieira < > [email protected]> wrote: > >> Em Quarta-feira 21 Abril 2010, às 14:52:29, ext Jack Wootton escreveu: >> > Hello, >> > >> > I downloaded the very latest Qt 4.7 and QtCreator 2.0 from their >> respective >> > git repositories. Both Qt and Creator built successfully, however >> > QtCreator crashes on startup with a segmentation fault. Using gdb the >> > final call in the backtrace pointed to a file in the Windows gcc port >> > MingGW. A colleague experienced a similar segmentation fault when >> running >> > their application from Creator 2.0. >> >> Hello >> >> Could you post the backtrace that you get? Which compilation options did >> you >> use? >> >> Also, since you're using Windows, can you tell us if you have other >> versions >> of MinGW, Cygwin or Dev-C++ installed? >> >> > Having spoken with a second colleague I was informed that Qt 4.7 doesn’t >> > build with MinGW, at least not without some Makefile hacking. Since >> I’ve >> > spent over one week attempting to build Qt 4.7 with MinGW and would have >> > spent longer, would it be helpful to others to strongly recommend the >> > Microsoft Visual Studio compiler when building Qt? >> >> We have some problems with MinGW in that the compiler crashes while >> compiling >> Qt. Sometimes, moving the code around fixes the issue (or hides it). As Qt >> 4.7 >> development is still at a fast pace, these issues pop up and disappear >> quite >> frequently. In any case, it's not our fault: if the compiler crashes, it's >> a >> bug in the compiler. >> >> But there should be no need for Makefile hacking. If you find out what >> those >> people are recommending, we'd be interested in knowing. >> >> > Currently there is no mention of this problem on the Windows >> installation >> > web pages<http://doc.qt.nokia.com/4.7-snapshot/install-win.html>, >> indeed >> > MinGW is included in the instructions. >> >> Because we know of no problems. It should be working. >> >> -- >> Thiago Macieira - thiago.macieira (AT) nokia.com >> Senior Product Manager - Nokia, Qt Development Frameworks >> Sandakerveien 116, NO-0402 Oslo, Norway >> >> Please don't send me .pptx -- prefer .odp or .ppt >> >> _______________________________________________ >> Qt4-preview-feedback mailing list >> [email protected] >> http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback >> >> > > > -- > Regards > Jack > -- Regards Jack
_______________________________________________ Qt4-preview-feedback mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt4-preview-feedback
