Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-54589

[REG 5.5.1->5.6.0]: Calling JSON.stringify() can cause an assert

    XMLWordPrintable

Details

    Description

      [REG 5.5.1->5.6.0]: Calling JSON.stringify() can cause an assert. This is reportedly more likely to happen with a 32bit version of an application, but it has been reported to happen with 64bit applications too.

      >	Qt5Cored.dll!qt_message_fatal(QtMsgType __formal, const QMessageLogContext & context, const QString & message) Line 1641	C++
       	Qt5Cored.dll!QMessageLogger::fatal(const char * msg, ...) Line 790	C++
       	Qt5Cored.dll!qt_assert(const char * assertion, const char * file, int line) Line 3018	C++
       	Qt5Qmld.dll!removeFromPropertyData(QV4::Object * object, int idx, bool accessor) Line 174	C++
       	Qt5Qmld.dll!QV4::InternalClass::removeMember(QV4::Object * object, QV4::Identifier * id) Line 351	C++
       	Qt5Qmld.dll!QV4::Object::internalDeleteProperty(QV4::String * name) Line 839	C++
       	Qt5Qmld.dll!QV4::Object::deleteProperty(QV4::Managed * m, QV4::String * name) Line 446	C++
       	Qt5Qmld.dll!QV4::Object::deleteProperty(QV4::String * name) Line 310	C++
       	Qt5Qmld.dll!QV4::Runtime::deleteMemberString(QV4::ExecutionEngine * engine, const QV4::Value & base, QV4::String * name) Line 304	C++
       	Qt5Qmld.dll!QV4::Runtime::deleteMember(QV4::ExecutionEngine * engine, const QV4::Value & base, int nameIndex) Line 295	C++
       	[External Code]	
       	[Frames below may be incorrect and/or missing]	
       	Qt5Qmld.dll!QV4::SimpleScriptFunction::call(const QV4::Managed * that, QV4::CallData * callData) Line 576	C++
       	Qt5Qmld.dll!QV4::Object::call(QV4::CallData * d) Line 324	C++
       	Qt5Qmld.dll!QV4::Runtime::callActivationProperty(QV4::ExecutionEngine * engine, int nameIndex, QV4::CallData * callData) Line 948	C++
       	[External Code]	
       	Qt5Qmld.dll!QV4::SimpleScriptFunction::call(const QV4::Managed * that, QV4::CallData * callData) Line 576	C++
       	Qt5Qmld.dll!QV4::Object::call(QV4::CallData * d) Line 324	C++
       	Qt5Qmld.dll!QQmlJavaScriptExpression::evaluate(QV4::CallData * callData, bool * isUndefined) Line 189	C++
       	Qt5Qmld.dll!QQmlBoundSignalExpression::evaluate(void * * a) Line 242	C++
       	Qt5Qmld.dll!QQmlBoundSignal_callback(QQmlNotifierEndpoint * e, void * * a) Line 358	C++
       	Qt5Qmld.dll!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint, void * * a) Line 94	C++
       	Qt5Qmld.dll!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal, QObject * object, int index, void * * a) Line 772	C++
       	Qt5Cored.dll!QMetaObject::activate(QObject * sender, int signalOffset, int local_signal_index, void * * argv) Line 3616	C++
       	Qt5Cored.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 3595	C++
       	Qt5Quickd.dll!QQuickMouseArea::clicked(QQuickMouseEvent * _t1) Line 644	C++
       	Qt5Quickd.dll!QQuickMouseArea::setPressed(Qt::MouseButton button, bool p) Line 1200	C++
       	Qt5Quickd.dll!QQuickMouseArea::mouseReleaseEvent(QMouseEvent * event) Line 779	C++
       	Qt5Quickd.dll!QQuickItem::event(QEvent * ev) Line 7521	C++
       	Qt5Cored.dll!QCoreApplicationPrivate::notify_helper(QObject * receiver, QEvent * event) Line 1150	C++
       	Qt5Cored.dll!doNotify(QObject * receiver, QEvent * event) Line 1090	C++
       	Qt5Cored.dll!QCoreApplication::notify(QObject * receiver, QEvent * event) Line 1076	C++
       	Qt5Guid.dll!QGuiApplication::notify(QObject * object, QEvent * event) Line 1619	C++
       	Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1015	C++
       	Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver, QEvent * event) Line 225	C++
       	Qt5Quickd.dll!QQuickWindow::sendEvent(QQuickItem * item, QEvent * e) Line 2675	C++
       	Qt5Quickd.dll!QQuickWindowPrivate::deliverMouseEvent(QMouseEvent * event) Line 1591	C++
       	Qt5Quickd.dll!QQuickWindow::mouseReleaseEvent(QMouseEvent * event) Line 1631	C++
       	Qt5Guid.dll!QWindow::event(QEvent * ev) Line 2009	C++
       	Qt5Quickd.dll!QQuickWindow::event(QEvent * e) Line 1493	C++
       	Qt5Cored.dll!QCoreApplicationPrivate::notify_helper(QObject * receiver, QEvent * event) Line 1150	C++
       	Qt5Cored.dll!doNotify(QObject * receiver, QEvent * event) Line 1090	C++
       	Qt5Cored.dll!QCoreApplication::notify(QObject * receiver, QEvent * event) Line 1076	C++
       	Qt5Guid.dll!QGuiApplication::notify(QObject * object, QEvent * event) Line 1619	C++
       	Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver, QEvent * event) Line 1015	C++
       	Qt5Cored.dll!QCoreApplication::sendSpontaneousEvent(QObject * receiver, QEvent * event) Line 228	C++
       	Qt5Guid.dll!QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent * e) Line 1879	C++
       	Qt5Guid.dll!QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent * e) Line 1663	C++
       	Qt5Guid.dll!QWindowSystemInterface::sendWindowSystemEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 648	C++
       	qwindowsd.dll!QWindowsGuiEventDispatcher::sendPostedEvents() Line 76	C++
       	Qt5Cored.dll!qt_internal_proc(HWND__ * hwnd, unsigned int message, unsigned int wp, long lp) Line 438	C++
       	[External Code]	
       	Qt5Cored.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 838	C++
       	qwindowsd.dll!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags) Line 68	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 1285	C++
       	Qt5Guid.dll!QGuiApplication::exec() Line 1610	C++
       	JSONTestApp.exe!main(int argc, char * * argv) Line 11	C++
       	JSONTestApp.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 113	C++
       	[External Code]
      

      Asserts with "to >= inlineSize && from > to"

      The example attached reproduces it consistently at least with 32bit on Windows.

      Attachments

        Issue Links

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

          Activity

            People

              laknoll Lars Knoll
              andysh Andy Shaw
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes