Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
Qt Creator 3.3.0
-
None
-
Ubuntu 12.04 32bit, Qt5.4.0, Qt Creator (3.3, master)
-
09ad56a67b8c0ff4fbf78c802450c51646b11021
Description
Steps to reproduce:
- create Qt Quick Application from template inside Qt Creator
- inside the main.cpp - before the instantiation of QQmlApplicationEngine - add sth. like
QVector<int> v; for (int i = 0; i < 10000; ++i) v.append(qrand());
- place a breakpoint on the line of the instantiation of QQmlApplicationEngine
- add a watch expression for 'v[100]' or similar
- start debugging
- when breakpoint is hit, click 'Continue'
Current result:
- QV4DebugService crashes due to having wrong state
Expected result:
- no crash of the debug service
Note: this does not happen, if you have no watchers.
Stacktrace
0 raise /lib64/libc.so.6 0x7ffff49900f7 1 abort /lib64/libc.so.6 0x7ffff49914ca 2 qt_message_fatal qlogging.cpp 1596 0x7ffff5a746b0 3 QMessageLogger::fatal qlogging.cpp 802 0x7ffff5a70cd4 4 qt_assert qglobal.cpp 2870 0x7ffff5a6a5d8 5 (anonymous namespace)::V8EvaluateRequest::handleRequest qv4debugservice.cpp 1001 0x7ffff6943e6b 6 V8CommandHandler::handle qv4debugservice.cpp 533 0x7ffff694a411 7 QV4DebugService::handleV8Request qv4debugservice.cpp 1261 0x7ffff6946312 8 QV4DebugService::messageReceived qv4debugservice.cpp 1165 0x7ffff6944be9 9 QQmlDebugServer::receiveMessage qqmldebugserver.cpp 567 0x7ffff693426e 10 QTcpServerConnection::readyRead qtcpserverconnection.cpp 200 0x7fffe81aa9cc 11 QTcpServerConnection::qt_static_metacall moc_qtcpserverconnection.cpp 77 0x7fffe81ad96b 12 QMetaObject::activate qobject.cpp 3717 0x7ffff5ce7f20 13 QMetaObject::activate qobject.cpp 3583 0x7ffff5ce7724 14 QPacketProtocol::readyRead moc_qpacketprotocol.cpp 145 0x7fffe81ae149 15 QPacketProtocol::qt_static_metacall moc_qpacketprotocol.cpp 76 0x7fffe81adf1a 16 QMetaObject::activate qobject.cpp 3717 0x7ffff5ce7f20 17 QMetaObject::activate qobject.cpp 3583 0x7ffff5ce7724 18 QPacketProtocolPrivate::readyRead qpacketprotocol.moc 161 0x7fffe81ac087 19 QPacketProtocolPrivate::readyToRead qpacketprotocol.cpp 195 0x7fffe81ac840 20 QPacketProtocolPrivate::qt_static_metacall qpacketprotocol.moc 95 0x7fffe81abe75 21 QMetaObject::activate qobject.cpp 3717 0x7ffff5ce7f20 22 QMetaObject::activate qobject.cpp 3583 0x7ffff5ce7724 23 QIODevice::readyRead moc_qiodevice.cpp 155 0x7ffff5d74c11 24 QAbstractSocketPrivate::canReadNotification qabstractsocket.cpp 731 0x7ffff62839d0 25 QAbstractSocketPrivate::readNotification qabstractsocket_p.h 69 0x7ffff6289b1a 26 QAbstractSocketEngine::readNotification qabstractsocketengine.cpp 152 0x7ffff62753f9 27 QReadNotifier::event qnativesocketengine.cpp 1139 0x7ffff62924e0 28 QCoreApplicationPrivate::notify_helper qcoreapplication.cpp 1038 0x7ffff5caaaec 29 QCoreApplication::notify qcoreapplication.cpp 983 0x7ffff5caa7ce 30 QGuiApplication::notify qguiapplication.cpp 1521 0x7ffff6eae900 31 QCoreApplication::notifyInternal qcoreapplication.cpp 921 0x7ffff5caa6d8 32 QCoreApplication::sendEvent qcoreapplication.h 228 0x7ffff5cae327 33 socketNotifierSourceDispatch qeventdispatcher_glib.cpp 101 0x7ffff5d1d04e 34 g_main_context_dispatch /usr/lib64/libglib-2.0.so.0 0x7ffff2ff8a04 35 ?? /usr/lib64/libglib-2.0.so.0 0x7ffff2ff8c48 36 g_main_context_iteration /usr/lib64/libglib-2.0.so.0 0x7ffff2ff8cec 37 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 418 0x7ffff5d1dce9 38 QEventLoop::processEvents qeventloop.cpp 128 0x7ffff5ca73b8 39 QEventLoop::exec qeventloop.cpp 204 0x7ffff5ca7691 40 QThread::exec qthread.cpp 503 0x7ffff5a80b2c 41 QQmlDebugServerThread::run qqmldebugserver.cpp 315 0x7ffff6932a68 42 QThreadPrivate::start qthread_unix.cpp 331 0x7ffff5a87fa7 43 start_thread /lib64/libpthread.so.0 0x7ffff55213a4 44 clone /lib64/libc.so.6 0x7ffff4a3fa4d
Attachments
For Gerrit Dashboard: QTCREATORBUG-13916 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
104992,3 | V8Debugger: Don't send watcher requests if qml engine has not stopped | 3.3 | qt-creator/qt-creator | Status: MERGED | +2 | 0 |