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

Crash when changing non cached source of image during animation

    XMLWordPrintable

Details

    • 472950ecab88fc41a99f2a1deb861a4abd273174

    Description

      Testcase:

      import QtQuick 2.0
      
      Item {
          id: root
      
          width: 1024
          height: 786
      
          property url bg: "image1.png"
          property url bg2: "image2.png"
      
          Image {
             id: image
      
             anchors.verticalCenter: root.verticalCenter
             anchors.horizontalCenter: root.horizontalCenter
             cache: false
      
             width: 80
      
             source: bg
      
             SequentialAnimation
             {
                PropertyAction { target: image; property: "source"; value: bg }
                PauseAnimation { duration: 200 }
                PropertyAction { target: image; property: "source"; value: bg2 }
                PauseAnimation { duration: 200 }
                running: true
                loops: Animation.Infinite
             }
      
             NumberAnimation {
                 target: image
                 easing.type: Easing.InOutSine
                 duration: 150
                 properties: "height"
                 from: 1
                 to: 80
                 loops: Animation.Infinite
                 running: true
             }
         }
      }
      
      

      This code causes an imidiate crash on my freescale mxi51 hardware. It also crashes within 2 minutes on my linux desktop pc.

      It does not crash with:

      • debug build
      • with QML_BAD_GUI_RENDER_LOOP=1.
      • Image.cache=true

      I do not have a very good callstack, I can only see that the crash happens somewhere down in material shader.

      I think what happens is that this a race condition between painting the texture and loading the texture. Basically the matrial shader wants to use the old texture which got deleted since its not cached.

      One additional Info: This is working fine in Qt5.02

      Attachments

        For Gerrit Dashboard: QTBUG-32513
        # Subject Branch Project Status CR V

        Activity

          People

            Unassigned Unassigned
            jerebo jeremias bosch
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes