[Development] CI status as of 22. May 2013
Friedemann Kleint
Friedemann.Kleint at digia.com
Wed May 22 17:57:35 CEST 2013
Hi,
> 4) Windows 8’s cmd.exe problem – NOT FIXED
> This has been a problem since last year. Randomly Windows 8 fails
builds due to this. Won’t go any deeper on that one here.
Just thinking aloud, sharing what I found when I also ran into this
problem when toying with https://codereview.qt-project.org/#change,54814
in the hopes it rings a bell :
This change contains a perl script that crawls the examples folders,
builds and executes the examples one after the other using a special
launcher written in Qt / C++. The launcher launches the example, waits
for a toplevel window to show up, sends it a WM_CLOSE after a while and
records crashes, stderr, etc.
The interesting part is that the launcher code calls the WinAPI function
WaitForInputIdle() to wait for the the application to become responsive.
If that fails, it kills the application (note: older versions of the
patch set just left the QProcess running, this did not matter). Whenever
such failures occur, the next invocation of some command by the perl
script will report the infamous "Can't spawn cmd.exe" message.
These failures are caused by:
- The example application is console application with GUI (CONFIG +=
console). WaitForInputIdle() then fails with return code WAIT_FAIL and
GetLastError() == ERROR_NOT_GUI_PROCESS
- More interesting: I have also seen WaitForInputIdle() fail with error
997: "Overlapped I/O operation is in progress" (typically when the tool
processes the tools/customtype, tools/customtypesending examples). This
might provide some clue .. maybe at some point some process times out/is
killed that does overlapped I/O?
Regards,
Friedemann
--
Friedemann Kleint
Digia, Qt
More information about the Development
mailing list