Uploaded image for project: 'Coin'
  1. Coin
  2. COIN-1087

Need "Coin Feature" to extract source code from all dependency submodules

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • None
    • Scheduler
    • None

    Description

      Problem description

      When testing an ASAN (Adress SANitizer) enabled configuration in qtvirtualkeyboard, the backtraces are lacking source code information for code that goes into the dependency submodules, for example qtdeclarative. Here is the log that belongs to this task. The problematic part is this:

      PASS   : inputpanel::tst_plugin::test_fullScreenModeWordReselection(row 18)
      =================================================================
      ==2010==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffca65d03d8 at pc 0x7fdebfa92186 bp 0x7fde9c51dd60 sp 0x7fde9c51dd58
      READ of size 1 at 0x7ffca65d03d8 thread T9 (QSGRenderThread)
          #0 0x7fdebfa92185  (/home/qt/work/install/lib/libQt6QuickTest.so.6+0x45185)
          #1 0x7fdebfa912bc  (/home/qt/work/install/lib/libQt6QuickTest.so.6+0x442bc)
          #2 0x7fdebc4082a0 in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (/home/qt/work/install/lib/libQt6Core.so.6+0x4692a0)
          #3 0x7fdebc51e3cc  (/home/qt/work/install/lib/libQt6Core.so.6+0x57f3cc)
          #4 0x7fdebc50803c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (/home/qt/work/install/lib/libQt6Core.so.6+0x56903c)
          #5 0x7fdeba263480 in QQuickWindow::frameSwapped() (/home/qt/work/install/lib/libQt6Quick.so.6+0x902480)
          #6 0x7fdeba2f5143  (/home/qt/work/install/lib/libQt6Quick.so.6+0x994143)
          #7 0x7fdebaa73287  (/home/qt/work/install/lib/libQt6Quick.so.6+0x1112287)
          #8 0x7fdebaa75f4b  (/home/qt/work/install/lib/libQt6Quick.so.6+0x1114f4b)
          #9 0x7fdebc9a30b7  (/home/qt/work/install/lib/libQt6Core.so.6+0xa040b7)
          #10 0x7fdebc9a6150  (/home/qt/work/install/lib/libQt6Core.so.6+0xa07150)
          #11 0x7fdebc9a32ca in QThreadPrivate::start(void*) (/home/qt/work/install/lib/libQt6Core.so.6+0xa042ca)
          #12 0x7fdebb7f56e9 in start_thread (/lib64/libpthread.so.0+0xa6e9)
          #13 0x7fdebb70d94e in clone (/lib64/libc.so.6+0x11794e)
      Address 0x7ffca65d03d8 is located in stack of thread T0 at offset 968 in frame
          #0 0x7fdeb8838b0f in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) (/home/qt/work/install/lib/libQt6Qml.so.6+0xe65b0f)
      

      You can see that it's lacking source code information for the submodules it depends on.

      Suggestion

      Have a "Coin Feature" that I can enable in a configuration, for example "ExtractDependenciesSourceCode", that always extracts the source code of all other submodules, besides the one being tested.

      EDIT: An alternative would be to have a script that would install the source code of all modules on demand, and checkout the correct revision. For example

      ~/coin_util/checkout_source_code.sh

      Actually I like this approach more. It would save a lot of overhead and bandwidth involved in transferring the source in the beginning of the workitem.

      Attachments

        Issue Links

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

          Activity

            People

              tosaario Toni Saario
              jimis Dimitrios Apostolou
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes