Uploaded image for project: 'Qt Quality Assurance Infrastructure'
  1. Qt Quality Assurance Infrastructure
  2. QTQAINFRA-6185

Flaky checksum verification in Windows

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P3: Somewhat important
    • None
    • dev
    • None
    • Windows

    Description

      During working on adding Windows 11 23h2 to the CI, the almost identical provision has failed two times to non-matching SHAs with the same file that has been downloaded from cache (ci-files).

      1st fail:

      https://coin.ci.qt.io/coin/integration/qt/qt5/tasks/web_rescheduled_qt_qt5_1708759828162

      Running C:\Users\qt\AppData\Local\Temp\provisioning-1418357365\coin\provisioning\qtci-windows-11_22H2-x86_64\08-libclang.ps1
      Downloading from cached location (http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_15.0.0-based-windows-mingw_64.7z) to c:\users\qt\downloads\libclang.7z
      Verifying checksum of c:\users\qt\downloads\libclang.7z
      Caught System.Management.Automation.RuntimeException
      Checksum verification failed, got: 'F790554769E9DB0896946E05AC9ED642A6776DCD' expected: '6c9300051533d5648ffe3e8ae1eb00decae8e6bf' 

      I rescheduled the run and the provision passed. I later made a small unrelated change which rebuilt the provision and failed again to the SHA mismatch: 

      2nd fail:

      https://testresults.qt.io/coin/integration/qt/qt5/tasks/web_qt_qt5_1709243970960

      Running C:\Users\qt\AppData\Local\Temp\provisioning-3251284727\coin\provisioning\qtci-windows-11_22H2-x86_64\08-libclang.ps1
      Downloading from cached location (http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_15.0.0-based-windows-mingw_64.7z) to c:\users\qt\downloads\libclang.7z
      Verifying checksum of c:\users\qt\downloads\libclang.7z
      Caught System.Management.Automation.RuntimeException
      Checksum verification failed, got: 'F8AC4223086D541DEDCEFC6AC7E5B5FFD6F53D80' expected: '6c9300051533d5648ffe3e8ae1eb00decae8e6bf' 

      The SHAs differ with the failed checksums. This makes me think that Windows runs the verification script on an incomplete libclang.7z file that has not yet finished downloading / writing the complete file on disk.

      The most simple fix is to retry the verification if the SHA doesn't match (2-3 attempts). This may give more room for VM to finalize the file and get the correct checksum consistently.

      Attachments

        Issue Links

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

          Activity

            People

              eltoivol Elias Toivola
              eltoivol Elias Toivola
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There is 1 open Gerrit change