Happened when I did a build. It just hung after outputting this:
DEBUG: JS context:
QVariantMap()
DEBUG: JS code:
(function () {
                var process, key;
                // Contains the combination of default, file, and in-source keys and values
                // Start out with the contents of this file as the "base", if given
                var aggregatePlist = BundleTools.infoPlistContents(infoPlistFile) || {};
                // Add local key-value pairs (overrides equivalent keys specified in the file if
                // one was given)
                for (key in infoPlist) {
                    if (infoPlist.hasOwnProperty(key))
                        aggregatePlist[key] = infoPlist[key];
                }
                // Do some postprocessing if desired
                if (processInfoPlist) {
                    // Add default values to the aggregate plist if the corresponding keys
                    // for those values are not already present
                    var defaultValues = ModUtils.moduleProperty(product, "defaultInfoPlist");
                    for (key in defaultValues) {
                        if (defaultValues.hasOwnProperty(key) && !(key in aggregatePlist))
                            aggregatePlist[key] = defaultValues[key];
                    }
                    // Add keys from platform's Info.plist if not already present
                    if (platformPath) {
                        process = new Process();
                        process.start("plutil", ["-convert", "json", "-o", "-",
                                                 [platformPath, "Info.plist"].join('/')]);
                        process.waitForFinished();
                        platformInfo = JSON.parse(process.readAll());
                        var additionalProps = platformInfo["AdditionalInfo"];
                        for (key in additionalProps) {
                            if (additionalProps.hasOwnProperty(key) && !(key in aggregatePlist)) // override infoPlist?
                                aggregatePlist[key] = defaultValues[key];
                        }
                        props = platformInfo['OverrideProperties'];
                        for (key in props) {
                            aggregatePlist[key] = props[key];
                        }
                        if (product.moduleProperty("qbs", "targetOS").contains("ios")) {
                            key = "UIDeviceFamily";
                            if (key in platformInfo && !(key in aggregatePlist))
                                aggregatePlist[key] = platformInfo[key];
                        }
                    } else {
                        print("Missing platformPath property");
                    }
                    if (sysroot) {
                        process = new Process();
                        process.start("plutil", ["-convert", "json", "-o", "-",
                                                 sysroot + "/SDKSettings.plist"]);
                        process.waitForFinished();
                        sdkSettings = JSON.parse(process.readAll());
                    } else {
                        print("Missing sysroot (SDK path)");
                    }
                    if (toolchainInstallPath) {
                        process = new Process();
                        process.start("plutil", ["-convert", "json", "-o", "-",
                                                 toolchainInstallPath + "/../../ToolchainInfo.plist"]);
                        process.waitForFinished();
                        toolchainInfo = JSON.parse(process.readAll());
                    } else {
                        print("Cannot get the ToolchainInfo.plist from the toolchainInstallPath");
                    }
                    process = new Process();
                    process.start("sw_vers", ["-buildVersion"]);
                    process.waitForFinished();
                    aggregatePlist["BuildMachineOSBuild"] = process.readAll().trim();
                    // setup env
                    env = {
                        "SDK_NAME": sdkSettings["CanonicalName"],
                        "XCODE_VERSION_ACTUAL": toolchainInfo["DTXcode"],
                        "SDK_PRODUCT_BUILD_VERSION": toolchainInfo["DTPlatformBuild"],
                        "GCC_VERSION": platformInfo["DTCompiler"],
                        "XCODE_PRODUCT_BUILD_VERSION": platformInfo["DTPlatformBuild"],
                        "PLATFORM_PRODUCT_BUILD_VERSION": platformInfo["ProductBuildVersion"],
                    }
                    process = new Process();
                    process.start("sw_vers", ["-buildVersion"]);
                    process.waitForFinished();
                    env["MAC_OS_X_PRODUCT_BUILD_VERSION"] = process.readAll().trim();
                    for (key in buildEnv)
                        env[key] = buildEnv[key];
                    DarwinTools.doRepl(infoPlist, env, true);
                }
                // Write the plist contents as JSON
                var infoplist = new TextFile(outputs.infoplist[0].fileName, TextFile.WriteOnly);
                infoplist.write(JSON.stringify(aggregatePlist));
                infoplist.close();
                if (infoPlistFormat === "same-as-input" && infoPlistFile)
                    infoPlistFormat = BundleTools.infoPlistFormat(infoPlistFile);
                var validFormats = [ "xml1", "binary1", "json" ];
                if (!validFormats.contains(infoPlistFormat))
                    throw("Invalid Info.plist format " + infoPlistFormat + ". " +
                          "Must be in [xml1, binary1, json].");
                // Convert the written file to the format appropriate for the current platform
                process = new Process();
                process.start("plutil", ["-convert", infoPlistFormat, outputs.infoplist[0].fileName]);
                process.waitForFinished();
            })()
TRACE: Canceling all jobs.
All Ctrl+C did was output:
QEventDispatcherUNIX: internal error, wakeUps.testAndSetRelease(1, 0) failed! QEventDispatcherUNIX: internal error, wakeUps.testAndSetRelease(1, 0) failed!
and continued to hang. Further Ctrl+C had no effect and force quit was required.
More recently, QBS will simply hang without any additional output, and sit indefinitely until force quit.
- is replaced by
 - 
                    
QTBUG-37306 QProcess in a thread can cause a hang on OS X 10.9
-         
 - Closed
 
 -