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

Deadlock in QImage conversion, convert_generic_inplace hangs on futex

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.15.2
    • Fix Version/s: None
    • Component/s: Core: Threads
    • Labels:
      None
    • Platform/s:
      Linux/X11

      Description

      Backtrace says it all I hope, we are seeing random hangs all over our CI because of this:

       

       

      #0 0x00007f47572b013d in syscall () from target:/lib64/libc.so.6 
      #1 0x00007f475952e8bc in bool futexSemaphoreTryAcquire<false>(QBasicAtomicInteger<unsigned long long>&, int, int) () from target:/tandberg/system/releases/hostos/x86_64/20210120-df1db18b3e9/lib/libQt5Core.so.5
      #2 0x00007f4759dc504f in convert_generic_inplace(QImageData*, QImage::Format, QFlags<Qt::ImageConversionFlag>) () from target:/tandberg/system/releases/hostos/x86_64/20210120-df1db18b3e9/lib/libQt5Gui.so.5 
      #3 0x000055cb315c040c in (anonymous namespace)::PhoenixHelmetRenderTest::runRenderTest(char const*, QString) () 
      #4 0x000055cb315c0ed1 in (anonymous namespace)::(anonymous namespace)::register_verify_rendering_of_borderpixmap::register_verify_rendering_of_borderpixmap()::{lambda()#1}::operator()() const [clone .constprop.0] () 
      #5 0x000055cb32b4f24c in cxx_unit_test::TestResult::run_test_crashing_on_unhandled_exceptions(cxx_unit_test::TestCase&) () 
      #6 0x000055cb32b4e94c in cxx_unit_test::TestResult::run_test(cxx_unit_test::TestCase&) () 
      #7 0x000055cb32b4a350 in cxx_unit_test::TestRegistry::listen_and_run(cxx_unit_test::TestResult&, cxx_unit_test::SystemCalls&) () #8 0x000055cb311d9e6b in main ()
       
      

      Suspected commit:

      commit 332816779c42e8a3fed34e9295c09338bc9b4945 
      Author: Allan Sandfeld Jensen <allan.jensen@qt.io> 
      Date:   Fri Nov 22 13:02:31 2019 +0100 
       
          Multithread some QImage routines 
           
          Use QThreadPool to process QImage smooth-scaling, format conversions, 
          and colorspace transforms multithreaded. 
           
          Change-Id: Ic142b1fa899f56e7e5099d36ca713701a47b681b 
          Reviewed-by: Lars Knoll <lars.knoll@qt.io>

        Attachments

        1. bt.txt
          13 kB
        2. bt.txt
          11 kB

          Issue Links

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

            Activity

              People

              Assignee:
              allan.jensen Allan Sandfeld Jensen
              Reporter:
              andrhans Andreas Aardal Hanssen
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes