Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-14600

Race condition causes jom to hang and/or crash on trivial makefile

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • Qt Creator 3.5.0-beta1
    • Qt Creator 3.4.1
    • Jom
    • None
    • Windows 7 SP1 64-bit, Intel Core i7 920 (quad-core hyper-threaded, so 8 logical CPUs)
    • 0d4aa3809ea4bdfb25a07ff85004b05ffb0e39bb

    Description

      A trivial makefile can cause jom to hang or crash when stress-testing it. Most of the time, jom runs as expected but there is a risk it will die. (In real-world usage, this caused the jom generator of CMake to fail intermittently during the configure stage, where jom is repeatedly invoked to test various compiler capabilities).

      To reproduce:

      1. Save the pre-compiled jom 1.0.15 binary downloaded from http://download.qt.io/official_releases/jom/ someplace on your computer. Put it in your PATH.
      2. Save attached Makefile and stress.cmd Windows batch file to some directory on your computer.
      3. Run stress.cmd. Eventually it will hang & die / jom will crash. (No error is printed to console - it just silently hangs and/or crashes).
      4. If one instance of stress.cmd doesn't do the trick, run several concurrent instances of stress.cmd to load your machine. On my system, at least one jom instance will die within a matter of seconds.

      Attachments

        1. Makefile
          0.1 kB
        2. stress.cmd
          0.1 kB

        Issue Links

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

          Activity

            People

              jbornema Joerg Bornemann
              mvsjamesj James Johnston
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes