Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
5.5.0 Alpha, 5.5.0
-
None
-
Windows 8, Windows 7 + VS2012
-
3b5d37ce3841c4bfdf1c629d33f0e33b881b47fb (qtdeclarative)
Description
Qt 5.5 Alpha does crash the Qt Quick Designer
There seems to be a regression deep in the QQml stack.
The stack trace:
> Qt5Cored.dll!qt_message_fatal(QtMsgType __formal, const QMessageLogContext & context, const QString & message) Line 1568 C++ Qt5Cored.dll!QMessageLogger::fatal(const char * msg, ...) Line 777 C++ Qt5Cored.dll!qt_assert(const char * assertion, const char * file, int line) Line 2894 C++ Qt5Qmld.dll!QV4::RuntimeHelpers::convertToObject(QV4::ExecutionEngine * engine, const QV4::Value & value) Line 439 C++ Qt5Qmld.dll!QV4::Runtime::getProperty(QV4::ExecutionEngine * engine, const QV4::Value & object, int nameIndex) Line 679 C++ [External Code] [Frames below may be incorrect and/or missing] Qt5Qmld.dll!QV4::SimpleScriptFunction::call(QV4::Managed * that, QV4::CallData * callData) Line 539 C++ Qt5Qmld.dll!QV4::Object::call(QV4::CallData * d) Line 302 C++ Qt5Qmld.dll!QQmlJavaScriptExpression::evaluate(QQmlContextData * context, const QV4::Value & function, QV4::CallData * callData, bool * isUndefined) Line 157 C++ Qt5Qmld.dll!QQmlJavaScriptExpression::evaluate(QQmlContextData * context, const QV4::Value & function, bool * isUndefined) Line 115 C++ Qt5Qmld.dll!QQmlBinding::update(QFlags<enum QQmlPropertyPrivate::WriteFlag> flags) Line 215 C++ Qt5Qmld.dll!QQmlBinding::setEnabled(bool e, QFlags<enum QQmlPropertyPrivate::WriteFlag> flags) Line 326 C++ Qt5Qmld.dll!QQmlBinding::setEnabled(QQmlAbstractBinding * This, bool e, QFlags<enum QQmlPropertyPrivate::WriteFlag> f) Line 307 C++ Qt5Qmld.dll!QQmlAbstractBinding::setEnabled(bool e, QFlags<enum QQmlPropertyPrivate::WriteFlag> f) Line 110 C++ Qt5Qmld.dll!QQmlObjectCreator::finalize(QQmlInstantiationInterrupt & interrupt) Line 1213 C++ Qt5Qmld.dll!QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt & i) Line 348 C++ Qt5Qmld.dll!QQmlEnginePrivate::incubate(QQmlIncubator & i, QQmlContextData * forContext) Line 89 C++ Qt5Qmld.dll!QQmlComponent::create(QQmlIncubator & incubator, QQmlContext * context, QQmlContext * forContext) Line 1069 C++ Qt5Quickd.dll!QQuickLoaderPrivate::_q_sourceLoaded() Line 715 C++ Qt5Quickd.dll!QQuickLoaderPrivate::load() Line 597 C++ Qt5Quickd.dll!QQuickLoader::loadFromSourceComponent() Line 497 C++ Qt5Quickd.dll!QQuickLoader::setActive(bool newVal) Line 339 C++ Qt5Quickd.dll!QQuickLoader::qt_static_metacall(QObject * _o, QMetaObject::Call _c, int _id, void * * _a) Line 246 C++ Qt5Quickd.dll!QQuickLoader::qt_metacall(QMetaObject::Call _c, int _id, void * * _a) Line 298 C++ Qt5Qmld.dll!QQmlVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void * * a) Line 972 C++ Qt5Cored.dll!QAbstractDynamicMetaObject::metaCall(QObject * __formal, QMetaObject::Call c, int _id, void * * a) Line 421 C++ Qt5Cored.dll!QMetaObject::metacall(QObject * object, QMetaObject::Call cl, int idx, void * * argv) Line 294 C++ Qt5Qmld.dll!QQmlPropertyPrivate::write(QObject * object, const QQmlPropertyData & property, const QVariant & value, QQmlContextData * context, QFlags<enum QQmlPropertyPrivate::WriteFlag> flags) Line 1307 C++ Qt5Qmld.dll!QV4::QObjectWrapper::setProperty(QObject * object, QV4::ExecutionContext * ctx, QQmlPropertyData * property, const QV4::Value & value) Line 556 C++ Qt5Qmld.dll!QV4::QObjectWrapper::setProperty(QV4::ExecutionContext * ctx, int propertyIndex, const QV4::Value & value) Line 654 C++ Qt5Qmld.dll!QV4::Runtime::setQmlQObjectProperty(QV4::ExecutionEngine * engine, const QV4::Value & object, int propertyIndex, const QV4::Value & value) Line 1404 C++ [External Code] Qt5Qmld.dll!QV4::SimpleScriptFunction::call(QV4::Managed * that, QV4::CallData * callData) Line 539 C++ Qt5Qmld.dll!QV4::Object::call(QV4::CallData * d) Line 302 C++ Qt5Qmld.dll!QQmlJavaScriptExpression::evaluate(QQmlContextData * context, const QV4::Value & function, QV4::CallData * callData, bool * isUndefined) Line 157 C++ Qt5Qmld.dll!QQmlBoundSignalExpression::evaluate(void * * a) Line 282 C++ Qt5Qmld.dll!QQmlBoundSignal_callback(QQmlNotifierEndpoint * e, void * * a) Line 409 C++ Qt5Qmld.dll!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint, void * * a) Line 73 C++ Qt5Qmld.dll!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint, void * * a) Line 68 C++ Qt5Qmld.dll!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal, QObject * object, int index, void * * a) Line 745 C++ Qt5Cored.dll!QMetaObject::activate(QObject * sender, int signalOffset, int local_signal_index, void * * argv) Line 3604 C++ Qt5Qmld.dll!QQmlVMEMetaObject::activate(QObject * object, int index, void * * args) Line 1324 C++ Qt5Qmld.dll!QQmlVMEMetaObject::metaCall(QMetaObject::Call c, int _id, void * * a) Line 844 C++ Qt5Cored.dll!QAbstractDynamicMetaObject::metaCall(QObject * __formal, QMetaObject::Call c, int _id, void * * a) Line 421 C++ Qt5Cored.dll!QMetaObject::metacall(QObject * object, QMetaObject::Call cl, int idx, void * * argv) Line 294 C++ Qt5Qmld.dll!QQmlPropertyPrivate::writeBinding(QObject * object, const QQmlPropertyData & core, QQmlContextData * context, QQmlJavaScriptExpression * expression, const QV4::Value & result, bool isUndefined, QFlags<enum QQmlPropertyPrivate::WriteFlag> flags) Line 1497 C++ Qt5Qmld.dll!QQmlBinding::update(QFlags<enum QQmlPropertyPrivate::WriteFlag> flags) Line 220 C++ Qt5Qmld.dll!QQmlBinding::update() Line 97 C++ Qt5Qmld.dll!QQmlBinding::expressionChanged(QQmlJavaScriptExpression * e) Line 282 C++ Qt5Qmld.dll!QQmlJavaScriptExpressionGuard_callback(QQmlNotifierEndpoint * e, void * * __formal) Line 360 C++ Qt5Qmld.dll!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint, void * * a) Line 73 C++ Qt5Qmld.dll!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal, QObject * object, int index, void * * a) Line 745 C++ Qt5Cored.dll!QMetaObject::activate(QObject * sender, int signalOffset, int local_signal_index, void * * argv) Line 3604 C++ Qt5Cored.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3583 C++ QmlDesignerd.dll!QmlDesigner::PropertyEditorContextObject::specificQmlDataChanged() Line 427 C++ QmlDesignerd.dll!QmlDesigner::PropertyEditorContextObject::setSpecificQmlData(const QString & newSpecificQmlData) Line 205 C++ QmlDesignerd.dll!QmlDesigner::PropertyEditorView::setupQmlBackend() Line 434 C++ QmlDesignerd.dll!QmlDesigner::PropertyEditorView::resetView() Line 358 C++ QmlDesignerd.dll!QmlDesigner::PropertyEditorView::timerEvent(QTimerEvent * timerEvent) Line 338 C++ Qt5Cored.dll!QObject::event(QEvent * e) Line 1228 C++ Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver, QEvent * e) Line 3716 C++ Qt5Widgetsd.dll!QApplication::notify(QObject * receiver, QEvent * e) Line 3160 C++ Qt5Cored.dll!QCoreApplication::notifyInternal(QObject * receiver, QEvent * event) Line 963 C++ Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 228 C++ Qt5Cored.dll!QEventDispatcherWin32Private::sendTimerEvent(int timerId) Line 615 C++ Qt5Cored.dll!qt_internal_proc(HWND__ * hwnd, unsigned int message, unsigned int wp, long lp) Line 418 C++ [External Code] Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 807 C++ qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 73 C++ Qt5Cored.dll!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 129 C++ Qt5Cored.dll!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 204 C++ Qt5Cored.dll!QCoreApplication::exec() Line 1216 C++ Qt5Guid.dll!QGuiApplication::exec() Line 1526 C++ Qt5Widgetsd.dll!QApplication::exec() Line 2977 C++ qtcreator.exe!main(int argc, char * * argv) Line 511 C++ [External Code]
The crash seems to be triggered by a Loader when we change the source URL from the C++ backend.
Attachments
Issue Links
- relates to
-
QTBUG-45279 Crash on QV4MemoryManagement::runGC
-
- Closed
-
For Gerrit Dashboard: QTBUG-45051 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
111390,4 | Fix memory corruption when multiple QML engines have JavaScript wrappers for the same QObject | 5.5 | qt/qtdeclarative | Status: MERGED | +2 | 0 |