Activity log for bug #1549256

Date Who What changed Old value New value Message
2016-02-24 11:56:43 Andrea Bernabei bug added bug
2016-02-24 11:57:45 Andrea Bernabei description revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5: Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a: Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs: - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item { id: main width: units.gu(50) height: units.gu(100) SignalSpy { id: signalSpy } SignalSpy { id: anotherSignalSpy } Item { anchors.fill: parent Item { width: units.gu(20) height: units.gu(30) property alias flickable: freshFlickable Flickable { id: freshFlickable anchors.fill: parent contentHeight: content.height contentWidth: content.width clip: true //onContentYChanged: console.log(contentY) //onMovingChanged: console.log("MOVING", moving) //onFlickingChanged: console.log("FLICKING", flicking) Rectangle { id: content width: units.gu(40) height: units.gu(200) color: "blue" } } } } UbuntuTestCase { name: "FlickBug" when: windowShown function setupSignalSpy(spy, target, signalName) { spy.clear() //reset signalName otherwise it will look for the old signalName in the new target spy.signalName = "" spy.target = target spy.signalName = signalName } function test_flickUbuntuTestCase() { setupSignalSpy(signalSpy, freshFlickable, "movingChanged") flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10)) signalSpy.wait() compare(signalSpy.count, 1, "No movingChanged signal after simulating a flick.") } } } revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5:   Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a:   Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs: - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item {     id: main     width: units.gu(50)     height: units.gu(100)     SignalSpy {         id: signalSpy     }     SignalSpy {         id: anotherSignalSpy     }     Item {         anchors.fill: parent         Item {             width: units.gu(20)             height: units.gu(30)             property alias flickable: freshFlickable             Flickable {                 id: freshFlickable                 anchors.fill: parent                 contentHeight: content.height                 contentWidth: content.width                 clip: true                 //onContentYChanged: console.log(contentY)                 //onMovingChanged: console.log("MOVING", moving)                 //onFlickingChanged: console.log("FLICKING", flicking)                 Rectangle {                     id: content                     width: units.gu(40)                     height: units.gu(200)                     color: "blue"                 }             }         }     }     UbuntuTestCase {         name: "FlickBug"         when: windowShown         function setupSignalSpy(spy, target, signalName) {             spy.clear()             spy.signalName = ""             spy.target = target             spy.signalName = signalName         }         function test_flickUbuntuTestCase() {             setupSignalSpy(signalSpy, freshFlickable, "movingChanged")             flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))             signalSpy.wait()             compare(signalSpy.count, 1, "Wrong number of movingChanged signals.")         }     } }
2016-02-24 11:58:34 Andrea Bernabei description revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5:   Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a:   Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs: - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item {     id: main     width: units.gu(50)     height: units.gu(100)     SignalSpy {         id: signalSpy     }     SignalSpy {         id: anotherSignalSpy     }     Item {         anchors.fill: parent         Item {             width: units.gu(20)             height: units.gu(30)             property alias flickable: freshFlickable             Flickable {                 id: freshFlickable                 anchors.fill: parent                 contentHeight: content.height                 contentWidth: content.width                 clip: true                 //onContentYChanged: console.log(contentY)                 //onMovingChanged: console.log("MOVING", moving)                 //onFlickingChanged: console.log("FLICKING", flicking)                 Rectangle {                     id: content                     width: units.gu(40)                     height: units.gu(200)                     color: "blue"                 }             }         }     }     UbuntuTestCase {         name: "FlickBug"         when: windowShown         function setupSignalSpy(spy, target, signalName) {             spy.clear()             spy.signalName = ""             spy.target = target             spy.signalName = signalName         }         function test_flickUbuntuTestCase() {             setupSignalSpy(signalSpy, freshFlickable, "movingChanged")             flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))             signalSpy.wait()             compare(signalSpy.count, 1, "Wrong number of movingChanged signals.")         }     } } revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5:   Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a:   Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. I could not manager to reproduce it with both enabled. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs (all debug enabled except qt.quick.mouse.debug: - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item {     id: main     width: units.gu(50)     height: units.gu(100)     SignalSpy {         id: signalSpy     }     SignalSpy {         id: anotherSignalSpy     }     Item {         anchors.fill: parent         Item {             width: units.gu(20)             height: units.gu(30)             property alias flickable: freshFlickable             Flickable {                 id: freshFlickable                 anchors.fill: parent                 contentHeight: content.height                 contentWidth: content.width                 clip: true                 //onContentYChanged: console.log(contentY)                 //onMovingChanged: console.log("MOVING", moving)                 //onFlickingChanged: console.log("FLICKING", flicking)                 Rectangle {                     id: content                     width: units.gu(40)                     height: units.gu(200)                     color: "blue"                 }             }         }     }     UbuntuTestCase {         name: "FlickBug"         when: windowShown         function setupSignalSpy(spy, target, signalName) {             spy.clear()             spy.signalName = ""             spy.target = target             spy.signalName = signalName         }         function test_flickUbuntuTestCase() {             setupSignalSpy(signalSpy, freshFlickable, "movingChanged")             flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))             signalSpy.wait()             compare(signalSpy.count, 1, "Wrong number of movingChanged signals.")         }     } }
2016-02-24 12:21:03 Andrea Bernabei description revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5:   Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a:   Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. I could not manager to reproduce it with both enabled. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs (all debug enabled except qt.quick.mouse.debug: - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item {     id: main     width: units.gu(50)     height: units.gu(100)     SignalSpy {         id: signalSpy     }     SignalSpy {         id: anotherSignalSpy     }     Item {         anchors.fill: parent         Item {             width: units.gu(20)             height: units.gu(30)             property alias flickable: freshFlickable             Flickable {                 id: freshFlickable                 anchors.fill: parent                 contentHeight: content.height                 contentWidth: content.width                 clip: true                 //onContentYChanged: console.log(contentY)                 //onMovingChanged: console.log("MOVING", moving)                 //onFlickingChanged: console.log("FLICKING", flicking)                 Rectangle {                     id: content                     width: units.gu(40)                     height: units.gu(200)                     color: "blue"                 }             }         }     }     UbuntuTestCase {         name: "FlickBug"         when: windowShown         function setupSignalSpy(spy, target, signalName) {             spy.clear()             spy.signalName = ""             spy.target = target             spy.signalName = signalName         }         function test_flickUbuntuTestCase() {             setupSignalSpy(signalSpy, freshFlickable, "movingChanged")             flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))             signalSpy.wait()             compare(signalSpy.count, 1, "Wrong number of movingChanged signals.")         }     } } revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5:   Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a:   Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. I could not manager to reproduce it with both enabled. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs (all debug enabled except qt.quick.mouse.debug: PLEASE NOTE THE ERROR MESSAGE IN THE TEST IS WRONG, SIGNALSPY.COUNT IS 2, WHEN THE TEST FAILS. - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item {     id: main     width: units.gu(50)     height: units.gu(100)     SignalSpy {         id: signalSpy     }     SignalSpy {         id: anotherSignalSpy     }     Item {         anchors.fill: parent         Item {             width: units.gu(20)             height: units.gu(30)             property alias flickable: freshFlickable             Flickable {                 id: freshFlickable                 anchors.fill: parent                 contentHeight: content.height                 contentWidth: content.width                 clip: true                 //onContentYChanged: console.log(contentY)                 //onMovingChanged: console.log("MOVING", moving)                 //onFlickingChanged: console.log("FLICKING", flicking)                 Rectangle {                     id: content                     width: units.gu(40)                     height: units.gu(200)                     color: "blue"                 }             }         }     }     UbuntuTestCase {         name: "FlickBug"         when: windowShown         function setupSignalSpy(spy, target, signalName) {             spy.clear()             spy.signalName = ""             spy.target = target             spy.signalName = signalName         }         function test_flickUbuntuTestCase() {             setupSignalSpy(signalSpy, freshFlickable, "movingChanged")             flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))             signalSpy.wait()             compare(signalSpy.count, 1, "Wrong number of movingChanged signals.")         }     } }
2016-02-24 12:22:50 Andrea Bernabei description revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5:   Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a:   Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. I could not manager to reproduce it with both enabled. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs (all debug enabled except qt.quick.mouse.debug: PLEASE NOTE THE ERROR MESSAGE IN THE TEST IS WRONG, SIGNALSPY.COUNT IS 2, WHEN THE TEST FAILS. - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item {     id: main     width: units.gu(50)     height: units.gu(100)     SignalSpy {         id: signalSpy     }     SignalSpy {         id: anotherSignalSpy     }     Item {         anchors.fill: parent         Item {             width: units.gu(20)             height: units.gu(30)             property alias flickable: freshFlickable             Flickable {                 id: freshFlickable                 anchors.fill: parent                 contentHeight: content.height                 contentWidth: content.width                 clip: true                 //onContentYChanged: console.log(contentY)                 //onMovingChanged: console.log("MOVING", moving)                 //onFlickingChanged: console.log("FLICKING", flicking)                 Rectangle {                     id: content                     width: units.gu(40)                     height: units.gu(200)                     color: "blue"                 }             }         }     }     UbuntuTestCase {         name: "FlickBug"         when: windowShown         function setupSignalSpy(spy, target, signalName) {             spy.clear()             spy.signalName = ""             spy.target = target             spy.signalName = signalName         }         function test_flickUbuntuTestCase() {             setupSignalSpy(signalSpy, freshFlickable, "movingChanged")             flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))             signalSpy.wait()             compare(signalSpy.count, 1, "Wrong number of movingChanged signals.")         }     } } revision 1864 System setup: Vivid + Overlay PPA (i.e. same as phones/tablets) libqt5qml5:   Installed: 5.4.1-1ubuntu11~overlay3 libqt5core5a:   Installed: 5.4.1+dfsg-2ubuntu11~vivid4 UbuntuTestCase provides a flick() function whose main purpose is to produce a flick event when executed on Flickable. I noticed that this does not always happen, causing flakiness of some of the UITK tests (in my case, it's the Scrollbar/ScrollView tests I'm working on) Here is a test case that reproduces the issue, once every 10-200 runs, depending on the configuration (I use a simple script to run it until it fails) Please note that uncommenting the debug lines such as onMovingChanged onFlickingChanged will make it harder to reproduce the bug. Enabling QT_LOGGING_RULES="qt.quick.mouse.debug=true" or onContentYChanged will make it even harder. Since I already went through the effort, I'm posting here the debug log coming from the failed and successful runs: - Typical failed run ---> http://pastebin.ubuntu.com/15186789/ Note how "flicking" never becomes true - Typical successful run ---> http://pastebin.ubuntu.com/15186784/ - Failed test with qt.quick.mouse.debug=true --> http://pastebin.ubuntu.com/15186851/ - Successful test with qt.quick.mouse.debug=true -> http://pastebin.ubuntu.com/15186853/ Here's the code I used to reproduce the bug: import QtQuick 2.4 import QtTest 1.0 import Ubuntu.Test 1.0 import Ubuntu.Components 1.3 import Ubuntu.Components.Styles 1.3 import QtQml.Models 2.1 Item {     id: main     width: units.gu(50)     height: units.gu(100)     SignalSpy {         id: signalSpy     }     SignalSpy {         id: anotherSignalSpy     }     Item {         anchors.fill: parent         Item {             width: units.gu(20)             height: units.gu(30)             property alias flickable: freshFlickable             Flickable {                 id: freshFlickable                 anchors.fill: parent                 contentHeight: content.height                 contentWidth: content.width                 clip: true                 //onContentYChanged: console.log(contentY)                 //onMovingChanged: console.log("MOVING", moving)                 //onFlickingChanged: console.log("FLICKING", flicking)                 Rectangle {                     id: content                     width: units.gu(40)                     height: units.gu(200)                     color: "blue"                 }             }         }     }     UbuntuTestCase {         name: "FlickBug"         when: windowShown         function setupSignalSpy(spy, target, signalName) {             spy.clear()             //reset signalName otherwise it will look for the old signalName in the new target             spy.signalName = ""             spy.target = target             spy.signalName = signalName         }         function test_flickUbuntuTestCase() {             setupSignalSpy(signalSpy, freshFlickable, "movingChanged")             flick(freshFlickable, 50, 50, -units.gu(10), -units.gu(10))             signalSpy.wait()             compare(signalSpy.count, 1, "No movingChanged signal after simulating a flick.")         }     } }
2016-02-26 15:02:43 Andrea Bernabei branch linked lp:~faenil/ubuntu-ui-toolkit/UbuntuTestCase_flick_flakiness_fix
2016-02-26 15:04:29 Cris Dywan ubuntu-ui-toolkit (Ubuntu): status New In Progress
2016-02-26 15:04:33 Cris Dywan ubuntu-ui-toolkit (Ubuntu): importance Undecided High
2016-02-26 15:17:12 Andrea Bernabei ubuntu-ui-toolkit (Ubuntu): assignee Andrea Bernabei (faenil)
2016-02-26 15:17:16 Andrea Bernabei ubuntu-ui-toolkit (Ubuntu): status In Progress Fix Committed
2016-02-26 15:39:55 Andrea Bernabei bug task added canonical-devices-system-image
2016-02-29 21:41:34 Pat McGowan bug task deleted canonical-devices-system-image
2016-03-10 02:26:35 Launchpad Janitor ubuntu-ui-toolkit (Ubuntu): status Fix Committed Fix Released
2016-03-17 13:23:51 Timo Jyrinki bug task added canonical-devices-system-image
2016-03-17 13:30:24 Timo Jyrinki canonical-devices-system-image: status New Fix Committed
2016-03-17 13:30:27 Timo Jyrinki canonical-devices-system-image: importance Undecided High
2016-03-17 13:30:31 Timo Jyrinki canonical-devices-system-image: assignee Zoltan Balogh (bzoltan)
2016-03-17 13:30:33 Timo Jyrinki canonical-devices-system-image: milestone ww08-2016
2016-04-12 17:54:01 Pat McGowan canonical-devices-system-image: status Fix Committed Fix Released