Description
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.
Attachments
Issue Links
- is replaced by
-
QTBUG-37306 QProcess in a thread can cause a hang on OS X 10.9
- Closed