Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.8.0, 5.10
-
Ubuntu 16.04
-
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
For Gerrit Dashboard: QTBUG-59811 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
214194,24 | QFuture: Wait for result on iterator advance | dev | qt/qtbase | Status: MERGED | +2 | 0 |