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

Valgrind: Invalid read of size in Hello world

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.14.2, 5.15.1, 5.15.2
    • None
    • Kubuntu 20.10 on VirtualBox
    • Linux/X11

    Description

      ==3537== Invalid read of size 8
      ==3537== at 0x4021800: strncmp (strcmp.S:173)
      ==3537== by 0x40069BD: is_dst (dl-load.c:210)
      ==3537== by 0x40085DE: _dl_dst_count (dl-load.c:247)
      ==3537== by 0x40085DE: expand_dynamic_string_token (dl-load.c:389)
      ==3537== by 0x4008787: fillin_rpath.isra.0 (dl-load.c:461)
      ==3537== by 0x4008AD2: decompose_rpath (dl-load.c:632)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== Address 0xa2a7e01 is 1 bytes inside a block of size 8 alloc'd
      ==3537== at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3537== by 0x402034F: malloc (rtld-malloc.h:56)
      ==3537== by 0x402034F: strdup (strdup.c:42)
      ==3537== by 0x4008A64: decompose_rpath (dl-load.c:607)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== by 0x76EC34B: dlopen_doit (dlopen.c:66)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537==
      ==3537== Invalid read of size 8
      ==3537== at 0x4021808: strncmp (strcmp.S:175)
      ==3537== by 0x40069BD: is_dst (dl-load.c:210)
      ==3537== by 0x40085DE: _dl_dst_count (dl-load.c:247)
      ==3537== by 0x40085DE: expand_dynamic_string_token (dl-load.c:389)
      ==3537== by 0x4008787: fillin_rpath.isra.0 (dl-load.c:461)
      ==3537== by 0x4008AD2: decompose_rpath (dl-load.c:632)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== Address 0xa2a7e09 is 1 bytes after a block of size 8 alloc'd
      ==3537== at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3537== by 0x402034F: malloc (rtld-malloc.h:56)
      ==3537== by 0x402034F: strdup (strdup.c:42)
      ==3537== by 0x4008A64: decompose_rpath (dl-load.c:607)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== by 0x76EC34B: dlopen_doit (dlopen.c:66)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537==
      ==3537== Invalid read of size 8
      ==3537== at 0x4021800: strncmp (strcmp.S:173)
      ==3537== by 0x40069BD: is_dst (dl-load.c:210)
      ==3537== by 0x400845E: _dl_dst_substitute (dl-load.c:289)
      ==3537== by 0x4008787: fillin_rpath.isra.0 (dl-load.c:461)
      ==3537== by 0x4008AD2: decompose_rpath (dl-load.c:632)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== Address 0xa2a7e01 is 1 bytes inside a block of size 8 alloc'd
      ==3537== at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3537== by 0x402034F: malloc (rtld-malloc.h:56)
      ==3537== by 0x402034F: strdup (strdup.c:42)
      ==3537== by 0x4008A64: decompose_rpath (dl-load.c:607)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== by 0x76EC34B: dlopen_doit (dlopen.c:66)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537==
      ==3537== Invalid read of size 8
      ==3537== at 0x4021808: strncmp (strcmp.S:175)
      ==3537== by 0x40069BD: is_dst (dl-load.c:210)
      ==3537== by 0x400845E: _dl_dst_substitute (dl-load.c:289)
      ==3537== by 0x4008787: fillin_rpath.isra.0 (dl-load.c:461)
      ==3537== by 0x4008AD2: decompose_rpath (dl-load.c:632)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== Address 0xa2a7e09 is 1 bytes after a block of size 8 alloc'd
      ==3537== at 0x483C7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==3537== by 0x402034F: malloc (rtld-malloc.h:56)
      ==3537== by 0x402034F: strdup (strdup.c:42)
      ==3537== by 0x4008A64: decompose_rpath (dl-load.c:607)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:674)
      ==3537== by 0x400AF9C: cache_rpath (dl-load.c:655)
      ==3537== by 0x400AF9C: _dl_map_object (dl-load.c:2161)
      ==3537== by 0x400F594: openaux (dl-deps.c:64)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x400FD78: _dl_map_object_deps (dl-deps.c:248)
      ==3537== by 0x4016265: dl_open_worker (dl-open.c:584)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)
      ==3537== by 0x4015B5C: _dl_open (dl-open.c:864)
      ==3537== by 0x76EC34B: dlopen_doit (dlopen.c:66)
      ==3537== by 0x76144A7: _dl_catch_exception (dl-error-skeleton.c:208)

      main.cpp

      #include <QApplication>
      
      
      int main(int argc, char *argv[]) {
        QApplication a(argc, argv);
        return a.exec();
      }
      
      

      pro file

      QT       += core gui
      
      greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
      
      CONFIG += c++11
      
      # You can make your code fail to compile if it uses deprecated APIs.
      # In order to do so, uncomment the following line.
      #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
      
      SOURCES += \
          main.cpp
      
      HEADERS +=
      
      # Default rules for deployment.
      qnx: target.path = /tmp/$${TARGET}/bin
      else: unix:!android: target.path = /opt/$${TARGET}/bin
      !isEmpty(target.path): INSTALLS += target
      

      I used kubuntu 20.10 on virtualbox, catched this error with 5.14.2, 5.15.1, 5.15.2, maybe more versions affected.
      Clang -v

      clang -v
      Ubuntu clang version 11.0.0-2
      Target: x86_64-pc-linux-gnu
      Thread model: posix
      InstalledDir: /usr/bin
      Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
      Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/9
      Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
      Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
      Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/10
      Candidate multilib: .;@m64
      Selected multilib: .;@m64

      Attachments

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

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            atom-tc Anton 0xNULL
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes