Qt crashed with BAD_ADDRESS when QQuickTransitionManager::cancel()



  • env: Qt 5.9.1 + macOS 10.12

    First, I have a qml component, use ListView to show some log with animation, like:

    Item {
        id: root
        property int maxHistory: 256
        ListView {
            model: ListModel {
                id: consoleModel
            }
            delegate: item
            displaced: Transition {
                SmoothedAnimation {
                    properties: "y"
                    duration: 240
                    velocity: 100
                }
            }
            focus: true
            clip: true
        }
        Component {
            id: item
            Item {
                width: root.width
                height: 40
            }
        }
        Event {
            key: "consoleUpdate"
            onActive: function (data) {
                consoleModel.insert(0, JSON.parse(data))
                if (consoleModel.count > root.maxHistory) {
                    consoleModel.remove(consoleModel.count - 1)
                }
            }
        }
    }
    

    This component will insert the newer log at row 0, and remove the last one if ListView is too large.

    When log emitted too quick(50/s), the Qt will crashed with QQuickTransitionManager::cancel().

    I can't see any detail in QQuickTransitionManager::cancel(), i use CLion, and this is the debug info:



  • I think this may because the Transition┬áconflict with consoleModel.remove.

    I can't upload my ScreenShot, what the hell?
    As a new user, you can only post once every 300 second(s) until you have earned 1 reputation - please wait before posting again


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.