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

QFuture::end() is not updated as soon as last result is set

    XMLWordPrintable

Details

    • 6faa4d4a87662a6254542da37b3a6fff528e0a6c

    Description

      Attached application crashes randomly (around 20% of the time for me). Looks like there is a delay when iterator returned from end() is updated after resultAt() call for the last element.

      Maybe this is not proper use case, but at the very least, documentation of begin() and end() should be extended to say that it is not safe to iterate over the list until the task is finished.

      Output when crashing:

      At: 0 Is last: false 0
      	value: 1
      At: 1 Is last: false 9
      	value: 2
      At: 2 Is last: false 10
      	value: 3
      At: 3 Is last: false 10
      	value: 4
      At: 4 Is last: false 10
      	value: 5
      At: 5 Is last: false 10
      	value: 6
      At: 6 Is last: false 10
      	value: 7
      At: 7 Is last: false 10
      	value: 8
      At: 8 Is last: false 10
      	value: 9
      At: 9 Is last: false 10
      	value: 10
      At: 10 Is last: false 10
      The program has unexpectedly finished.
      

      Output of normal run:

      At: 0 Is last: false 0
      	value: 1
      At: 1 Is last: false 6
      	value: 2
      At: 2 Is last: false 10
      	value: 3
      At: 3 Is last: false 10
      	value: 4
      At: 4 Is last: false 10
      	value: 5
      At: 5 Is last: false 10
      	value: 6
      At: 6 Is last: false 10
      	value: 7
      At: 7 Is last: false 10
      	value: 8
      At: 8 Is last: false 10
      	value: 9
      At: 9 Is last: true 10
      	value: 10
      

      Attachments

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

        Activity

          People

            sorvig Morten Sørvig
            poikelin Joni Poikelin
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes