regular toolchain test runs

  • Rainer Emrich
    Rainer Emrich

    as mentioned in several places, we need regular toolchain testing.
    As far as my spare time allows, I try to afford that. I already do this for linux.

    So, the only option I see at the moment is using cygwin. Trying this I got an issue at the real beginning.
    As usual the first step is building an native cygwin gcc-4.4.0 compiler. That worked out of the box using a recent cygwin-1.5.25-15 setup. Before building the cross compiler, I thought it would be a good idea to test the cygwin compiler as well. So I started a "make -k check". First observation, extremely slow progress and nearly no cpu utilization, that way it's nearly impossible to run the testsuite. So I looked into the windows system event viewer and found a lot entries of the following form:

    cygserver: error getting handle(692) to server (5).
    cygserver: error duplicating from_master handle, error = 997.
    cygserver: error getting handle(640) to server (5).
    cygserver: error duplicating to_master handle, error = 997.

    So I googled around to find a solution, but couldn't find any. So, I tried several things.
    1.) tried several Windows XP x64 systems with different setups, always the same issue.
    2.) tried the binutils test suite using the cygwin 3.4.4.-999 compiler, same issue.
    3.) ignored the system events and forced a reasonable progress speed using the parallel mode "make -j 8 -k check" on a 2 cpu machine.

    That showed a progress speed that I hoped to finish the test suite run in a couple of hours, but somewhere in between the machine got locked up completely.

    So, before I get any further, I like to ask if there is somebody around with a working setup.
    Without a working setup for the test suite runs giving a reasonable throughput it's nearly impossible to do regular testing.

    Does somebody has an idea how to approach this issue. The cygserver issue is caused by expect, I think.
    Any help, any hints?



    • Kai Tietz
      Kai Tietz

      Hello Rainer,

      that you want to do a regular testrun would be great. There are two different ways to do it (at least they worked for NightStrike and me).
      a) Using cygwin with the expect and dejagnu package installed
      b) Using a linux host doing the compile via a cross-compiler and setup a sshd on a Vista64, which gets the task of remote execution. For this solution NightStrike can tell you more.

      I do normally variant a). But cygwin is a bit unstable on 64-bit systems as I had to notice. It dislikes some applications running in parallel (there is a black list to be found on and it is very slow on file access (also we found that some old dongle drivers make troubles, too). So I assume that you have something of the blacklist installed on your system. The option -j8 is a good thing. It speeds up the testrun from 38 hours to something about 14-15 hours.