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

ERROR: AddressSanitizer: memcpy-param-overlap in tst_AspectCommandDebugger::checkBufferTrim()

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P1: Critical
    • 6.7
    • dev
    • Qt3D
    • 6a407b6e9 (dev), 4f1551ab6 (6.6), cfce28560 (6.5)

    Description

      ASAN-enabled test run from one week ago, full log here.

      ==19382==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges [0x62d00000a410,0x62d00000e410) and [0x62d00000a810, 0x62d00000e810) overlap

          #0 0x7fa01368446f  (/usr/lib64/libasan.so.5+0x9946f)
          #1 0x7fa0131cc613 in Qt3DCore::Debug::AspectCommandDebugger::ReadBuffer::trim() (/home/qt/work/install/lib/libQt63DCore.so.6+0x82613)
          #2 0x563d03492e13 in tst_AspectCommandDebugger::checkBufferTrim() /home/qt/work/qt/qt3d/tests/auto/core/aspectcommanddebugger/tst_aspectcommanddebugger.cpp:61
          #3 0x563d0348fed8 in tst_AspectCommandDebugger::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) tests/auto/core/aspectcommanddebugger/tst_aspectcommandddebugger_autogen/include/tst_aspectcommanddebugger.moc:100
          #4 0x7fa00f2e34f9 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/home/qt/work/install/lib/libQt6Core.so.6+0x4d74f9)
          #5 0x7fa00f2e117e in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/home/qt/work/install/lib/libQt6Core.so.6+0x4d517e)
          #6 0x7fa0134e82d4 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<void>(QObject*, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const (/home/qt/work/install/lib/libQt6Test.so.6+0xca2d4)
          #7 0x7fa0134e326d in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<>(QObject*, Qt::ConnectionType) const (/home/qt/work/install/lib/libQt6Test.so.6+0xc526d)
          #8 0x7fa0134c1873  (/home/qt/work/install/lib/libQt6Test.so.6+0xa3873)
          #9 0x7fa0134c35d8  (/home/qt/work/install/lib/libQt6Test.so.6+0xa55d8)
          #10 0x7fa0134c637a  (/home/qt/work/install/lib/libQt6Test.so.6+0xa837a)
          #11 0x7fa0134c8e2d in QTest::qRun() (/home/qt/work/install/lib/libQt6Test.so.6+0xaae2d)
          #12 0x7fa0134c7b67 in QTest::qExec(QObject*, int, char**) (/home/qt/work/install/lib/libQt6Test.so.6+0xa9b67)
          #13 0x563d0348fdcd in main /home/qt/work/qt/qt3d/tests/auto/core/aspectcommanddebugger/tst_aspectcommanddebugger.cpp:69
          #14 0x7fa00e49824c in __libc_start_main (/lib64/libc.so.6+0x3524c)
          #15 0x563d0348d429 in _start ../sysdeps/x86_64/start.S:120
      

      0x62d00000a410 is located 16 bytes inside of 32770-byte region [0x62d00000a400,0x62d000012402)

      allocated by thread T0 here:

          #0 0x7fa0136f4e48 in __interceptor_malloc (/usr/lib64/libasan.so.5+0x109e48)
          #1 0x7fa00f6a3045  (/home/qt/work/install/lib/libQt6Core.so.6+0x897045)
          #2 0x7fa00f6a3399 in QArrayData::allocate(QArrayData**, long long, long long, long long, QArrayData::AllocationOption) (/home/qt/work/install/lib/libQt6Core.so.6+0x897399)
          #3 0x7fa00f536ec6  (/home/qt/work/install/lib/libQt6Core.so.6+0x72aec6)
          #4 0x7fa00f537a22  (/home/qt/work/install/lib/libQt6Core.so.6+0x72ba22)
          #5 0x7fa00f53695f  (/home/qt/work/install/lib/libQt6Core.so.6+0x72a95f)
          #6 0x7fa00f5380f1  (/home/qt/work/install/lib/libQt6Core.so.6+0x72c0f1)
          #7 0x7fa00f526e1c in QByteArray::insert(long long, QByteArrayView) (/home/qt/work/install/lib/libQt6Core.so.6+0x71ae1c)
          #8 0x7fa0131d0406  (/home/qt/work/install/lib/libQt63DCore.so.6+0x86406)
          #9 0x7fa0131cc4dd in Qt3DCore::Debug::AspectCommandDebugger::ReadBuffer::insert(QByteArray const&) (/home/qt/work/install/lib/libQt63DCore.so.6+0x824dd)
          #10 0x563d03492dd4 in tst_AspectCommandDebugger::checkBufferTrim() /home/qt/work/qt/qt3d/tests/auto/core/aspectcommanddebugger/tst_aspectcommanddebugger.cpp:57
          #11 0x563d0348fed8 in tst_AspectCommandDebugger::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) tests/auto/core/aspectcommanddebugger/tst_aspectcommandddebugger_autogen/include/tst_aspectcommanddebugger.moc:100
          #12 0x7fa00f2e34f9 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/home/qt/work/install/lib/libQt6Core.so.6+0x4d74f9)
          #13 0x7fa00f2e117e in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/home/qt/work/install/lib/libQt6Core.so.6+0x4d517e)
          #14 0x7fa0134e82d4 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<void>(QObject*, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const (/home/qt/work/install/lib/libQt6Test.so.6+0xca2d4)
          #15 0x7fa0134e326d in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<>(QObject*, Qt::ConnectionType) const (/home/qt/work/install/lib/libQt6Test.so.6+0xc526d)
          #16 0x7fa0134c1873  (/home/qt/work/install/lib/libQt6Test.so.6+0xa3873)
          #17 0x7fa0134c35d8  (/home/qt/work/install/lib/libQt6Test.so.6+0xa55d8)
          #18 0x7fa0134c637a  (/home/qt/work/install/lib/libQt6Test.so.6+0xa837a)
          #19 0x7fa0134c8e2d in QTest::qRun() (/home/qt/work/install/lib/libQt6Test.so.6+0xaae2d)
          #20 0x7fa0134c7b67 in QTest::qExec(QObject*, int, char**) (/home/qt/work/install/lib/libQt6Test.so.6+0xa9b67)
          #21 0x563d0348fdcd in main /home/qt/work/qt/qt3d/tests/auto/core/aspectcommanddebugger/tst_aspectcommanddebugger.cpp:69
          #22 0x7fa00e49824c in __libc_start_main (/lib64/libc.so.6+0x3524c)
      

      0x62d00000a810 is located 1040 bytes inside of 32770-byte region [0x62d00000a400,0x62d000012402)

      allocated by thread T0 here:

          #0 0x7fa0136f4e48 in __interceptor_malloc (/usr/lib64/libasan.so.5+0x109e48)
          #1 0x7fa00f6a3045  (/home/qt/work/install/lib/libQt6Core.so.6+0x897045)
          #2 0x7fa00f6a3399 in QArrayData::allocate(QArrayData**, long long, long long, long long, QArrayData::AllocationOption) (/home/qt/work/install/lib/libQt6Core.so.6+0x897399)
          #3 0x7fa00f536ec6  (/home/qt/work/install/lib/libQt6Core.so.6+0x72aec6)
          #4 0x7fa00f537a22  (/home/qt/work/install/lib/libQt6Core.so.6+0x72ba22)
          #5 0x7fa00f53695f  (/home/qt/work/install/lib/libQt6Core.so.6+0x72a95f)
          #6 0x7fa00f5380f1  (/home/qt/work/install/lib/libQt6Core.so.6+0x72c0f1)
          #7 0x7fa00f526e1c in QByteArray::insert(long long, QByteArrayView) (/home/qt/work/install/lib/libQt6Core.so.6+0x71ae1c)
          #8 0x7fa0131d0406  (/home/qt/work/install/lib/libQt63DCore.so.6+0x86406)
          #9 0x7fa0131cc4dd in Qt3DCore::Debug::AspectCommandDebugger::ReadBuffer::insert(QByteArray const&) (/home/qt/work/install/lib/libQt63DCore.so.6+0x824dd)
          #10 0x563d03492dd4 in tst_AspectCommandDebugger::checkBufferTrim() /home/qt/work/qt/qt3d/tests/auto/core/aspectcommanddebugger/tst_aspectcommanddebugger.cpp:57
          #11 0x563d0348fed8 in tst_AspectCommandDebugger::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) tests/auto/core/aspectcommanddebugger/tst_aspectcommandddebugger_autogen/include/tst_aspectcommanddebugger.moc:100
          #12 0x7fa00f2e34f9 in QMetaMethodInvoker::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/home/qt/work/install/lib/libQt6Core.so.6+0x4d74f9)
          #13 0x7fa00f2e117e in QMetaMethod::invokeImpl(QMetaMethod, void*, Qt::ConnectionType, long long, void const* const*, char const* const*, QtPrivate::QMetaTypeInterface const* const*) (/home/qt/work/install/lib/libQt6Core.so.6+0x4d517e)
          #14 0x7fa0134e82d4 in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<void>(QObject*, Qt::ConnectionType, QTemplatedMetaMethodReturnArgument<void>) const (/home/qt/work/install/lib/libQt6Test.so.6+0xca2d4)
          #15 0x7fa0134e326d in std::enable_if<!std::disjunction<>::value, bool>::type QMetaMethod::invoke<>(QObject*, Qt::ConnectionType) const (/home/qt/work/install/lib/libQt6Test.so.6+0xc526d)
          #16 0x7fa0134c1873  (/home/qt/work/install/lib/libQt6Test.so.6+0xa3873)
          #17 0x7fa0134c35d8  (/home/qt/work/install/lib/libQt6Test.so.6+0xa55d8)
          #18 0x7fa0134c637a  (/home/qt/work/install/lib/libQt6Test.so.6+0xa837a)
          #19 0x7fa0134c8e2d in QTest::qRun() (/home/qt/work/install/lib/libQt6Test.so.6+0xaae2d)
          #20 0x7fa0134c7b67 in QTest::qExec(QObject*, int, char**) (/home/qt/work/install/lib/libQt6Test.so.6+0xa9b67)
          #21 0x563d0348fdcd in main /home/qt/work/qt/qt3d/tests/auto/core/aspectcommanddebugger/tst_aspectcommanddebugger.cpp:69
          #22 0x7fa00e49824c in __libc_start_main (/lib64/libc.so.6+0x3524c)
      

      SUMMARY: AddressSanitizer: memcpy-param-overlap (/usr/lib64/libasan.so.5+0x9946f)

      ==19382==ABORTING
      sanitizer-testrunner.py     INFO: Test exit code was: 1
      sanitizer-testrunner.py    ERROR: ASAN issues detected
      

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-117065
          # Subject Branch Project Status CR V

          Activity

            People

              seanharmer Sean Harmer
              jimis Dimitrios Apostolou
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes