QDeclarativeView and the QML debugger



  • I've found something a bit strange. On OSX, under some circumstances, when I destroy a QDeclarativeView and then try to create a new one, my process hangs inside of QDeclarativeView's constructor. Here's the stack trace:

    @0 select$DARWIN_EXTSN 0x7fff8dcab322
    1 qt_safe_select 0x100e55b66
    2 QNativeSocketEnginePrivate::nativeSelect 0x100b8c4d4
    3 QNativeSocketEngine::waitForReadOrWrite 0x100b89b4a
    4 QAbstractSocket::waitForReadyRead 0x100b80084
    5 QPacketProtocol::waitForReadyRead 0x10034923e
    6 QTcpServerConnection::waitForMessage 0x105787c8a
    7 non-virtual thunk to QTcpServerConnection::waitForMessage() 0x105787cad
    8 QDeclarativeDebugServer::waitForMessage 0x10035842a
    9 QDeclarativeDebugService::waitForMessage 0x10034b080
    10 QJSDebugService::addEngine 0x10035ec38
    11 QDeclarativeEnginePrivate::init 0x10019ffce
    12 QDeclarativeViewPrivate::init 0x100270ef8
    13 QDeclarativeView::QDeclarativeView 0x100270eba
    14 DomainLoginScreen::DomainLoginScreen domainloginscreen.cpp 9 0x10001d00d
    15 DomainLoginScreen::DomainLoginScreen domainloginscreen.cpp 25 0x10001cfcd
    16 ShowDomainLoginInteraction::ShowDomainLoginInteraction active_states.cpp 73 0x10001ec81
    17 ShowDomainLoginInteraction::ShowDomainLoginInteraction active_states.cpp 76 0x10001e945
    18 boost::statechart::state<ShowDomainLoginInteraction, Active, boost::mpl::list<mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, (boost::statechart::history_mode)0>::shallow_construct state.hpp 89 0x10001259c

    ...
    @

    Note that this only happens when I enable QML debugging in my project build options.

    I could probably put together a debug version of Qt to investigate this, but before I do that, does anyone know anything about this? What might be causing this? I'm creating a QMainWindow, then I'm creating a QDeclarativeView and assigning it as the QMainWindows's central widget. Then I create a new QDeclarativeView and assign that as the QMainWindow's central widget.


  • Moderators

    Did you "file a bug report":https://bugreports.qt-project.org/ ? That is the only way to make sure a developer that knows the relevant code will actually notice your problem.



  • No - I didn't. I'm trying to figure out whether this is my problem or a bug (probably my problem). If I'm going to file a bug report, I'd like to put together a small test program to demo the problem. Before I do that, I wanted to know if anyone had seen this before and perhaps had some advice.

    I'll see if I can make a small test program to submit with the bug.


  • Moderators

    I would not be surprised if the declarative view is blocking for the debugger to connect... with the debugger sitting there, considering his day's work done after the first view was closed:).


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.