Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-13916

QV4Debugging segfaults when using watchers

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • Qt Creator 3.3.1
    • 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

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            kkohne Kai Köhne
            cstenger Christian Stenger
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes