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

qsb built with ASAN fails to process shaders in qt quick

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1: Critical P1: Critical
    • None
    • 6.7
    • Qt Shader Tools
    • None

      I use a Qt build with -sanitize address configure option.
      After the latest submodule update, the qsb tool from Qt Shader Tools does not handle the shaders from Qt Quick properly.

      Sometimes I get an address sanitizer issue like this:

      [4/2592] Generating .qsb/scenegraph/shaders_ng/8bittextmask.frag.qsb
      FAILED: src/quick/.qsb/scenegraph/shaders_ng/8bittextmask.frag.qsb /home/ivan/qt6-build/debug/qtdeclarative/src/quick/.qsb/scenegraph/shaders_ng/8bittextmask.frag.qsb
      cd /home/ivan/qt6-build/debug/qtdeclarative/src/quick && /home/ivan/qt6-build/debug/qtbase/bin/qsb --glsl 100es,120,150 --hlsl 50 --msl 12 -b -O -s -o /home/ivan/qt6-build/debug/qtdeclarative/src/quick/.qsb/scenegraph/shaders_ng/8bittextmask.frag.qsb /home/ivan/qt5/qtdeclarative/src/quick/scenegraph/shaders_ng/8bittextmask.frag
      AddressSanitizer:DEADLYSIGNAL
      =================================================================
      AddressSanitizer:DEADLYSIGNAL
      AddressSanitizer: nested bug in the same thread, aborting.
      

      And sometimes the build just gets stuck with all cores processing various shaders and eating gigabytes of memory.

      The only workaround for now is to have a second build without ASAN, and copy the qsb binary from there.

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

            lagocs Laszlo Agocs
            ivan.solovev Ivan Solovev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes