[Qt-creator] QTCreator loads but crashes

Jack Wootton jackwootton at gmail.com
Wed Apr 21 12:54:29 CEST 2010


I'm not sure if this would help at all, but I thought I would add it:

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)

Regards,
Jack


On Wed, Apr 21, 2010 at 10:20 AM, Jack Wootton <jackwootton at gmail.com>wrote:

> I'm unsure what I'm looking for, but I thought I'd just work back from the
> crash.
>
> 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.
>
>
>
>
>
> On Tue, Apr 20, 2010 at 3:06 PM, Jack Wootton <jackwootton at gmail.com>wrote:
>
>> *Here's the crash, from the point where qtcreator was launched*
>>
>> /*************************************** Start
>> *************************************************************/
>>
>> 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
>> *********************************************************/
>>
>> *And here's the backtrace from the point of the crash*
>>
>> /**************************************** Start
>> ************************************************************/
>>
>> #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
>> *********************************************************/
>>
>>
>> On Tue, Apr 20, 2010 at 11:35 AM, Daniel Teske <daniel.teske at nokia.com>wrote:
>>
>>> ext Jack Wootton schrieb:
>>> > Hello,
>>> >
>>> > 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"/
>>> >
>>> > Any suggestions?
>>> A backtrace would help.
>>>
>>> daniel
>>> _______________________________________________
>>> Qt-creator mailing list
>>> Qt-creator at trolltech.com
>>> http://lists.trolltech.com/mailman/listinfo/qt-creator
>>>
>>
>>
>>
>> --
>> Regards
>> Jack
>>
>
>
>
> --
> Regards
> Jack
>



-- 
Regards
Jack
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-creator-old/attachments/20100421/010e007b/attachment.html 


More information about the Qt-creator-old mailing list