2011/1/8 David Sastre <d.sastre.med...@gmail.com>: > On Fri, Jan 07, 2011 at 06:56:15PM +0100, Jorge Díaz wrote: >> I have prepared a new set of packages, with some changes: > > Building the packages from source works OK, but setup.hint and a README file > should have been included in varnish-${VERSION}.cygwin.patch. > You can let cygport generate that patch by manually copying both files into > varnish-${VERSION}/CYGWIN-PATCHES/ when you build it the first time. > There is a template for the README here¹. >
Ok, I will fix it. > Some tests are failing in 2.1.4-4-src and r5665-4, most of them because /tmp > is failing to get cleaned properly: > > rm: cannot remove `/tmp/vtc.3468.0ae6ed42/v1': Device or resource busy > Assert error in tst_cb(), > /usr/src/varnish/varnish-r5665-4-src/varnish-r5665-4/src/varnish-cache/bin/varnishtest/vtc_main.c > line 194: > Condition((system(buf)) == 0) not true. > make[2]: *** [check] Aborted (core dumped) Varnishtest program, creates a temporary directory for each test in /tmp with entire varnish environment. This directory is used by all subprocess that are launched in the test (gcc, varnishd, etc...). After finish every test, it executes "rm -rf tempdir" with a "system" call. If rm returns error, an assert is launched and "varnishtest" coredumps. I think there is a problem in rm because the directory is in use by other test subprocess and Windows don't allow to rm delete it. It is explained in this thread (it is very big, i have selected the two most important messages) - http://cygwin.com/ml/cygwin/2010-12/msg00215.html - http://cygwin.com/ml/cygwin/2010-12/msg00247.html I have read the entire thread and in few words: It seems that RM in cygwin is a bit tricky because Windows "locks" files and directories and in future cygwin 1.7.8 some problems will disappear. My machine has Windows XP I have no problems in this version, you should have a recent one (vista or 7) Can you try installing recent Cygwin snapshot from http://cygwin.com/snapshots/ replacing cygwin1.dll and execute all tests?? (as said in http://cygwin.com/ml/cygwin/2010-12/msg00247.html) Other solution is to modify source code that in case of error during "rm -rf", varnishtest sleep some seconds to wait subprocess to end and after make a second try, a bit ugly. > > (The stackdump is an empty file) > > $ ls -lrt /tmp/ > total 0 > drwx------+ 1 dawud None 0 Jan 8 19:55 vtc.3468.4ce835d3/ > drwx------+ 1 dawud None 0 Jan 8 19:55 vtc.3468.0ae6ed42/ > > There are other errors as well: > > ### v1 CLI connection fd = 5 > ### v1 CLI RX 107 > #### v1 CLI RX| iqvdmjmzgcpenunnblmauaiwxenptrtd\n > #### v1 CLI RX| \n > #### v1 CLI RX| Authentication required.\n > #### v1 CLI TX| auth > f5a6c3eaf76b5bffd27bb5ca8e6ba116a0a868fdee08c914dd0af69268cad153\n > ### v1 CLI RX 200 > #### v1 CLI RX| -----------------------------\n > #### v1 CLI RX| Varnish HTTP accelerator CLI.\n > #### v1 CLI RX| -----------------------------\n > #### v1 CLI RX| > CYGWIN_NT-6.1,1.7.7(0.230/5/3),i686,-sfile,-hcritbit\n > #### v1 CLI RX| \n > #### v1 CLI RX| Type 'help' for command list.\n > #### v1 CLI RX| Type 'quit' to close CLI session.\n > #### v1 CLI RX| Type 'start' to launch worker process.\n > #### v1 CLI TX| vcl.inline vcl1 "backend s1 { .host = \"127.0.0.1\"; > .port = \"49841\"; }\n\n\tsub vcl_fetch {\n\t\tesi;\n\t}\n" > ### v1 CLI RX 106 > #### v1 CLI RX| Message from C-compiler:\n > #### v1 CLI RX| collect2: vfork: Resource temporarily unavailable\n > #### v1 CLI RX| Running C-compiler failed, exit 1\n > #### v1 CLI RX| VCL compilation failed > ---- v1 FAIL VCL does not compile > # top Test timed out > # # top TEST > # > /usr/src/varnish/varnish-2.1.4-4-src/varnish-2.1.4-4/src/varnish-2.1.4/bin/varnishtest/tests/r00326.vtc > # FAILED > # rm: cannot remove `/tmp/vtc.3380.6b8b4567/v1': Device or resource > # busy > # Assert error in main(), > # > /usr/src/varnish/varnish-2.1.4-4-src/varnish-2.1.4-4/src/varnish-2.1.4/bin/varnishtest/vtc.c > # line 682: > # Condition((system(cmd)) == 0) not true. > # /bin/sh: line 5: 3380 Aborted (core dumped) > # ./varnishtest ${dir}$tst > # FAIL: > # > /usr/src/varnish/varnish-2.1.4-4-src/varnish-2.1.4-4/src/varnish-2.1.4/bin/varnishtest/tests/r00326.vtc > Can you try launching only failed test r00326.vtc?? To launch this test: 1) change to varnishtest builddir: cd /usr/src/varnish/varnish-2.1.4-4-src/varnish-2.1.4-4/build/bin/varnishtest 2) execute varnishtest: ./varnnishtest.exe /usr/src/varnish/varnish-2.1.4-4-src/varnish-2.1.4-4/src/varnish-2.1.4/bin/varnishtest/tests/r00326.vtc In this error, varnishtest has problems launching GCC compiler, the logs says that "vfork" function fails: > #### v1 CLI RX| Message from C-compiler:\n > #### v1 CLI RX| collect2: vfork: Resource temporarily unavailable\n > #### v1 CLI RX| Running C-compiler failed, exit 1\n > #### v1 CLI RX| VCL compilation failed In my machine when CPU usage was very high or when I lauched at same time the tests of the three packages, I had some resource problems during tests. All was fine if it executed only the tests and all other programs were closed (it is a old laptop with winxp and 2 Gb RAM.) Can you try launching all tests again, checking CPU is idle and there is no heavy process? > Modifying c00005.vtc to test IPv6 results in an error, too. Can you send me your IPv6 error log? > > I'd rather send the check-logs to you off-list if you need them, or better > yet, > you could try to reproduce it locally. > > ¹http://sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/packaging/templates/generic-readme?content-type=text/plain&cvsroot=cygwin-apps > > -- > Huella de clave primaria: 0FDA C36F F110 54F4 D42B D0EB 617D 396C 448B 31EB > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > > iEYEARECAAYFAk0owO4ACgkQYX05bESLMeuHvQCdH90nHW9ivVhY44tfIetS2bwo > 7EUAn0RVMl0OmlkBZuNO4WGCyZpQ7Xzw > =OFKp > -----END PGP SIGNATURE----- > >