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

immediate crash in QtConcurrent

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Not Evaluated
    • None
    • 5.2.0 RC1, 5.2.0
    • Core: QtConcurrent
    • None
    • Debian testing, gcc version 4.8.2 (Debian 4.8.2-1)
      Amd64

    Description

      I am running qt5 from git, the stable branch. (qtbase is at c819a8926959)

      After upgrading my concurrent-heavy tool I got a crash (most of the time).
      A simple investigation showed that I got a crash briefly after this;

      QList<Foo*> usedRelations;
      QFuture<void> relationsFuture = QtConcurrent::map(
      usedRelations, normalizeRelation);

      usedRelations had 113 items in it.

      Gdb output;

      [New Thread 0x7fffcffff700 (LWP 23529)]
      [New Thread 0x7fffcf7fe700 (LWP 23530)]
      [New Thread 0x7fffceffd700 (LWP 23531)]
      [New Thread 0x7fffce7fc700 (LWP 23532)]
      [New Thread 0x7fffcdffb700 (LWP 23533)]
      [New Thread 0x7fffcd7fa700 (LWP 23534)]
      [New Thread 0x7fffccff9700 (LWP 23535)]
      [New Thread 0x7fffabfff700 (LWP 23536)]

      Program received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x7fffceffd700 (LWP 23531)]
      0x00007ffff60d06cc in void std::__introselect<double*, long>(double*, double*, double*, long) ()
      from /home/zander/work/build-qt5/installed/lib/libQt5Concurrent.so.5
      (gdb) bt
      #0 0x00007ffff60d06cc in void std::__introselect<double*, long>(double*, double*, double*, long) ()
      from /home/zander/work/build-qt5/installed/lib/libQt5Concurrent.so.5
      #1 0x00007ffff60d010b in QtConcurrent::BlockSizeManager::timeAfterUser() ()
      from /home/zander/work/build-qt5/installed/lib/libQt5Concurrent.so.5
      #2 0x000000000046e79d in QtConcurrent::IterateKernel<QList<OsmParsedRelation*>::iterator, void>::forThreadFunction (this=0x7fffe40ddd80) at ../../installed/include/QtConcurrent/qtconcurrentiteratekernel.h:231
      #3 0x000000000046d37a in QtConcurrent::IterateKernel<QList<OsmParsedRelation*>::iterator, void>::threadFunction (this=0x7fffe40ddd80) at ../../installed/include/QtConcurrent/qtconcurrentiteratekernel.h:192
      #4 0x00007ffff60cf685 in QtConcurrent::ThreadEngineBase::run() ()
      from /home/zander/work/build-qt5/installed/lib/libQt5Concurrent.so.5
      #5 0x00007ffff5093342 in ?? () from /home/zander/work/build-qt5/installed/lib/libQt5Core.so.5
      #6 0x00007ffff5095bf3 in ?? () from /home/zander/work/build-qt5/installed/lib/libQt5Core.so.5
      #7 0x00007ffff4b8fe0e in start_thread (arg=0x7fffceffd700) at pthread_create.c:311
      #8 0x00007ffff40ad9ed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

      If I do a git-revert of 3567f4c2fc9ee45898ed9a0784051d4fa64897e2,
      the crash disappears.

      Attachments

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

        Activity

          People

            shausman Simon Hausmann
            tzander zander
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes