[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