* 1.7.14-2: pthread_cancel and pthread_kill not working as expected @ 2012-05-09 17:50 Otto Meta 2012-05-18 10:23 ` 1.7.15-1: " Otto Meta 0 siblings, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-09 17:50 UTC (permalink / raw) To: cygwin [-- Attachment #1: Type: text/plain, Size: 5359 bytes --] Greetings everyone, while porting a project from Linux to Cygwin I noticed that pthread_cancel was having trouble cancelling threads blocked on semaphores and reads from stdin. Another user had a similar problem a while ago: http://sourceware.org/ml/cygwin/2011-01/msg00374.html According to the follow-up this was fixed for network sockets, but Windows seems to tread networks socket different from everything else and the problem might not apply in my case. The user also mentioned trying pthread_kill to "wake" blocked threads so I tried that as well, but that resulted in completely different threads in my program waking up. My question is now whether I'm using pthread_cancel and pthread_kill incorrectly or if there's some functionality missing in the certainly not trivial Cygwin implementation of those functions. A program to demonstrate the problems is attached. It contains six different tests that behave slightly different depending on which function the "simplethread" function blocks on. You can find the expected and actual results that I got for the six tests at the bottom of this mail. The expected results correspond to what the readily available man-pages for pthread_cancel and pthread_kill state and I verified the tests on a Linux system. tl;dr version of the results: - Using pthread_cancel on a blocked thread with deferred cancel blocks the calling thread. - Threads blocked on semaphores, reads from stdin or pause() aren't cancelled. - Signals seem to wake the wrong threads in some cases. I have no explanation for this, so any ideas and suggestions are welcome. Cheers, Otto Test 1: Leave threads at deferred cancel and cancel each thread. Expected result: All threads are cancelled. Actual result: Blocking on semapthore: Main thread hangs on first call to pthread_cancel(). Blocking on pause(): Same as semaphore. Blocking on read(): Not deterministic: Main thread hangs on random call to pthread_cancel(). Test 2: Set cancel type to asynchronous and cancel each thread. Expected result: All threads are cancelled. Actual result: Independent of what the threads are blocked on, nothing is cancelled. Test 3: Send SIGUSR1 once to each thread. Expected result: Each thread executes the signal handler once. Actual result: Blocking on semaphore: Poking thread 2 (0x80020410) Thread 0 encountered an error: Interrupted system call (0x80010298) Poking thread 1 (0x80020370) Thread 1 executes signal handler (0x80020370) Thread 1 encountered an error: Interrupted system call (0x80020370) Poking thread 0 (0x80010298) Thread 2 executes signal handler (0x80020410) Thread 2 encountered an error: Interrupted system call (0x80020410) Woken threads don't correspond to signalled threads, not all of them execute the signal handler. Blocking on pause(): Same as semaphore. Blocking on read(): One thread executes the signal handler, the other two don't. Thread chosen seemingly at random. This could be a side-effect of all threads reading from stdin, but I still seems broken. Test 4: Send SIGUSR1 to one thread repeatedly (doesn't exit by design). Expected result: The target thread executes the signal handler each time. Actual result: Blocking on semaphore: Independent of the targeted thread, thread 0 wakes up once and executes the signal handler if thread 0 was signalled. No thread cares about further signals. Blocking on pause(): Same as semaphore. Blocking on read(): Not deterministic: Targeted thread either executes the signal handler every time or not at all. Test 5: Cancel each thread asynchronously and poke them with SIGUSR1 afterwards. Expected result: If a targeted thread isn't cancelled by pthread_cancel(), the signal should wake it up so that the cancel event can be handled. Actual result: Blocking on semaphore: Killing thread 2 (0x80020410) Poking thread 2 (0x80020410) Thread 0 encountered an error: Interrupted system call (0x80010298) Killing thread 1 (0x80020370) Poking thread 1 (0x80020370) Thread 2 exiting (0x80020410) Killing thread 0 (0x80010298) Poking thread 0 (0x80010298) Thread 1 exiting (0x80020370) Responding threads don't correspond to signalled threads, wrong threads exit if they have been cancelled already. Blocking on pause(): Same as semaphore. Blocking on read(): Not deterministic: One thread exits when poked, the other two stay. Test 6: Cancel each thread asynchronously and poke them with SIGUSR1 until they die. Expected result: If a targeted thread isn't cancelled by pthread_cancel(), the signal should wake it up so that the cancel event can be handled. If the first signal "misses", one of the following should hit. Actual result: Blocking on semaphore: Killing and poking thread 2 will result in one response to the signal from thread 0, then nothing. Killing and poking thread 1 will result in one resposne to the signal from thread 0, then nothing. Killing and poking thread 0 will result in one response to the signal from thread 1, then nothing. Blocking on pause(): Same as semaphore. Blocking on read(): Not deterministic: Either the first cancelled and poked thread exits fine and the other two don't care or all three don't care. [-- Attachment #2: pthread_kill_test.c --] [-- Type: text/x-csrc, Size: 4302 bytes --] #include <errno.h> #include <pthread.h> #include <semaphore.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <unistd.h> #define TEST 1 // Test 1: Deferred cancel: Main thread hangs on call to pthread_cancel() // Test 2: Async cancel sent to each thread // Test 3: Signal sent to each thread once // Test 4: Signal sent to one thread repeatedly (doesn't exit by design). // Test 5: Async cancel and signal sent to each thread once // Test 6: Async cancel sent once and signal sent repeatedly to each thread until they die pthread_t tids[3]; sem_t semaphore; static void cleanup_handler(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i exiting (%p)\n", *intptr, self); } static void* simplethread(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i starting (%p)\n", *intptr, self); char buffer[1] __attribute((unused)); pthread_cleanup_push(&cleanup_handler, intptr); int oldtype; #if TEST != 1 pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype); fprintf(stderr, "Changing canceltype from %i to %i\n", oldtype, PTHREAD_CANCEL_ASYNCHRONOUS); #endif pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, &oldtype); fprintf(stderr, "Changing cancelstate from %i to %i\n", oldtype, PTHREAD_CANCEL_ENABLE); while (1) { if (sem_wait(&semaphore) != 0) { //if (pause() == -1) { //if (read(STDIN_FILENO, buffer, 1) <= 0) { fprintf(stderr, "Thread %i encountered an error: %s (%p)\n", *intptr, strerror(errno), self); } else { fprintf(stderr, "Thread %i woke up just fine\n", *intptr); } } pthread_cleanup_pop(1); return NULL; } static void sigusr1_handler(int signal __attribute((unused))) { pthread_t self = pthread_self(); int tnum = 0; while (tnum < 3) { if (tids[tnum] == self) { break; } tnum++; } fprintf(stderr, "Thread %i executes signal handler (%p)\n", tnum, self); } static void install_handler(void) { struct sigaction act; act.sa_handler = &sigusr1_handler; sigemptyset(&(act.sa_mask)); act.sa_flags = 0; if (sigaction(SIGUSR1, &act, NULL) != 0) { fprintf(stderr, "Can't set signal handler: %s\n", strerror(errno)); exit(1); } sigset_t sset; sigemptyset(&sset); sigaddset(&sset, SIGUSR1); if (sigprocmask(SIG_UNBLOCK, &sset, NULL) != 0) { fprintf(stderr, "Can't unblock SIGUSR1: %s\n", strerror(errno)); } } int main() { int i; int result; sem_init(&semaphore, 0, 0); install_handler(); for (i=0; i<3; i++) { int *intptr = (int*)malloc(sizeof(int)); *intptr = i; result = pthread_create(tids+i, NULL, &simplethread, intptr); if (result != 0) { fprintf(stderr, "Can't create thread: %s\n", strerror(result)); return 1; } } sleep(1); install_handler(); fprintf(stderr, "\n"); int mainint = 42; pthread_cleanup_push(&cleanup_handler, &mainint); for (i=2; i>=0; i--) { #if TEST == 1 || TEST == 2 || TEST == 5 || TEST == 6 fprintf(stderr, "Killing thread %i (%p)\n", i, tids[i]); result = pthread_cancel(tids[i]); if (result != 0) { fprintf(stderr, "Error during pthread_cancel: %s\n", strerror(result)); } sleep(1); #endif #if TEST == 3 || TEST == 4 | TEST == 5 || TEST == 6 do { fprintf(stderr, "Poking thread %i (%p)\n", i, tids[i]); result = pthread_kill(tids[i], SIGUSR1); if (result != 0) { fprintf(stderr, "Error during pthread_kill: %s\n", strerror(result)); } sleep(1); result = pthread_kill(tids[i], 0); if (result == 0) { fprintf(stderr, "Thread %i is still there (%p)\n", i, tids[i]); sleep(1); } else { fprintf(stderr, "Thread %i is gone (%p)\n", i, tids[i]); break; } #endif #if TEST == 3 || TEST == 5 } while(0); #elif TEST == 4 || TEST == 6 } while(1); #endif } sleep(1); fprintf(stderr, "\n"); for (i=0; i<3; i++) { result = pthread_kill(tids[i], 0); if (result == 0) { fprintf(stderr, "Thread %i is still there (%p)\n", i, tids[i]); } else { fprintf(stderr, "Thread %i is gone (%p)\n", i, tids[i]); } } pthread_cleanup_pop(0); return 0; } [-- Attachment #3: cygcheck.out --] [-- Type: text/plain, Size: 30417 bytes --] Cygwin Configuration Diagnostics Current System Time: Wed May 09 18:05:21 2012 Windows 7 Enterprise Ver 6.1 Build 7601 Service Pack 1 Running under WOW64 on AMD64 Path: D:\Software\cygwin\usr\local\bin D:\Software\cygwin\bin C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin C:\WinAVR-20100110\bin C:\WinAVR-20100110\utils\bin C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0 C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared C:\Program Files (x86)\Common Files\Roxio Shared\9.0\DLLShared C:\Program Files\MATLAB\R2008a\bin C:\Program Files\MATLAB\R2008a\bin\win64 C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn C:\Program Files (x86)\IVI Foundation\IVI\bin C:\Program Files\IVI Foundation\IVI\bin C:\Program Files (x86)\IVI Foundation\VISA\winnt\agvisa C:\Program Files (x86)\IVI Foundation\VISA\winnt\bin C:\Program Files (x86)\NASM C:\Program Files (x86)\Atmel\Flip 3.4.1\bin D:\Software\Python3.2 Output from D:\Software\cygwin\bin\id.exe UID: 1000(MBA) GID: 513(None) =513(None) 545(Benutzer) 1005(Debuggerbenutzer) SysDir: C:\Windows\system32 WinDir: C:\Windows USER = 'MBA' PWD = '/cygdrive/d' HOME = '/home/MBA' HOMEPATH = '\Users\MBA' MANPATH = '/usr/local/man:/usr/share/man:/usr/man:' APPDATA = 'C:\Users\MBA\AppData\Roaming' ProgramW6432 = 'C:\Program Files' HOSTNAME = 'TempleOfTheDog' SHELL = '/bin/bash' TERM = 'cygwin' RoxioCentral = 'C:\Program Files (x86)\Common Files\Roxio Shared\9.0\Roxio Central33\' PROCESSOR_IDENTIFIER = 'Intel64 Family 6 Model 23 Stepping 10, GenuineIntel' WINDIR = 'C:\Windows' VXIPNPPATH64 = 'C:\Program Files\IVI Foundation\VISA\' PUBLIC = 'C:\Users\Public' OLDPWD = '/cygdrive/c' USERDOMAIN = 'TEMPLEOFTHEDOG' CommonProgramFiles(x86) = 'C:\Program Files (x86)\Common Files' OS = 'Windows_NT' ALLUSERSPROFILE = 'C:\ProgramData' !:: = '::\' temp = 'C:\Users\MBA\AppData\Local\Temp' VS90COMNTOOLS = 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\' COMMONPROGRAMFILES = 'C:\Program Files (x86)\Common Files' tmp = 'C:\Users\MBA\AppData\Local\Temp' VXIPNPPATH = 'C:\Program Files (x86)\IVI Foundation\VISA\' USERNAME = 'MBA' PROCESSOR_LEVEL = '6' ProgramFiles(x86) = 'C:\Program Files (x86)' PSModulePath = 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\' IVIROOTDIR32 = 'C:\Program Files (x86)\IVI Foundation\IVI\' FP_NO_HOST_CHECK = 'NO' CARBON_MEM_DISABLE = '1' SYSTEMDRIVE = 'C:' PROCESSOR_ARCHITEW6432 = 'AMD64' LANG = 'de_DE.UTF-8' USERPROFILE = 'C:\Users\MBA' TZ = 'Europe/Berlin' PS1 = '\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ ' LOGONSERVER = '\\TEMPLEOFTHEDOG' CommonProgramW6432 = 'C:\Program Files\Common Files' PROCESSOR_ARCHITECTURE = 'x86' LOCALAPPDATA = 'C:\Users\MBA\AppData\Local' HISTCONTROL = 'ignoredups' ProgramData = 'C:\ProgramData' SHLVL = '1' IVIROOTDIR64 = 'C:\Program Files\IVI Foundation\IVI\' PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC' HOMEDRIVE = 'C:' !D: = 'D:\Software\cygwin\bin' PROMPT = '$P$G' COMSPEC = 'C:\Windows\system32\cmd.exe' SYSTEMROOT = 'C:\Windows' PRINTER = 'KONICA MINOLTA Universal PS' PROCESSOR_REVISION = '170a' UGII_3DCONNEXION_LIBRARY = '%UGII_BASE_DIR%\ugalliance\vendor\startup\3DxNX.dll' INFOPATH = '/usr/local/info:/usr/share/info:/usr/info:' PROGRAMFILES = 'C:\Program Files (x86)' NUMBER_OF_PROCESSORS = '2' AVR32_HOME = 'C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain' SESSIONNAME = 'Console' COMPUTERNAME = 'TEMPLEOFTHEDOG' _ = '/usr/bin/cygcheck' HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options HKEY_CURRENT_USER\Software\Cygwin HKEY_CURRENT_USER\Software\Cygwin\Installations (default) = '\??\D:\Software\cygwin' HKEY_CURRENT_USER\Software\Cygwin\Program Options HKEY_CURRENT_USER\Software\Cygwin\setup HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Installations (default) = '\??\D:\Software\cygwin' HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Program Options HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup (default) = 'D:\Software\cygwin' obcaseinsensitive set to 1 Cygwin installations found in the registry: System: Key: d1d85fb7bc451065 Path: D:\Software\cygwin User: Key: d1d85fb7bc451065 Path: D:\Software\cygwin c: hd NTFS 76837Mb 63% CP CS UN PA FC Windows-System d: hd NTFS 399999Mb 17% CP CS UN PA FC Daten e: cd N/A N/A D:\Software\cygwin / system binary,auto D:\Software\cygwin\bin /usr/bin system binary,auto D:\Software\cygwin\lib /usr/lib system binary,auto cygdrive prefix /cygdrive user binary,auto Found: D:\Software\cygwin\bin\awk -> D:\Software\cygwin\bin\gawk.exe Found: D:\Software\cygwin\bin\bash.exe Found: D:\Software\cygwin\bin\cat.exe Found: C:\WinAVR-20100110\utils\bin\cat.exe Warning: D:\Software\cygwin\bin\cat.exe hides C:\WinAVR-20100110\utils\bin\cat.exe Found: D:\Software\cygwin\bin\cp.exe Found: C:\WinAVR-20100110\utils\bin\cp.exe Warning: D:\Software\cygwin\bin\cp.exe hides C:\WinAVR-20100110\utils\bin\cp.exe Found: D:\Software\cygwin\bin\cpp.exe -> D:\Software\cygwin\etc\alternatives\cpp -> D:\Software\cygwin\bin\cpp-4.exe Not Found: crontab Found: D:\Software\cygwin\bin\find.exe Found: C:\WinAVR-20100110\utils\bin\find.exe Warning: D:\Software\cygwin\bin\find.exe hides C:\WinAVR-20100110\utils\bin\find.exe Found: C:\Windows\system32\find.exe Warning: D:\Software\cygwin\bin\find.exe hides C:\Windows\system32\find.exe Found: D:\Software\cygwin\bin\gcc.exe -> D:\Software\cygwin\etc\alternatives\gcc -> D:\Software\cygwin\bin\gcc-4.exe Not Found: gdb Found: D:\Software\cygwin\bin\grep.exe Found: C:\WinAVR-20100110\utils\bin\grep.exe Warning: D:\Software\cygwin\bin\grep.exe hides C:\WinAVR-20100110\utils\bin\grep.exe Found: D:\Software\cygwin\bin\kill.exe Found: D:\Software\cygwin\bin\ld.exe Found: D:\Software\cygwin\bin\ls.exe Found: C:\WinAVR-20100110\utils\bin\ls.exe Warning: D:\Software\cygwin\bin\ls.exe hides C:\WinAVR-20100110\utils\bin\ls.exe Found: D:\Software\cygwin\bin\make.exe Found: C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\make.exe Warning: D:\Software\cygwin\bin\make.exe hides C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\make.exe Found: C:\WinAVR-20100110\utils\bin\make.exe Warning: D:\Software\cygwin\bin\make.exe hides C:\WinAVR-20100110\utils\bin\make.exe Found: D:\Software\cygwin\bin\mv.exe Found: C:\WinAVR-20100110\utils\bin\mv.exe Warning: D:\Software\cygwin\bin\mv.exe hides C:\WinAVR-20100110\utils\bin\mv.exe Found: C:\WinAVR-20100110\utils\bin\patch.exe Found: D:\Software\cygwin\bin\perl.exe Found: D:\Software\cygwin\bin\rm.exe Found: C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\rm.exe Warning: D:\Software\cygwin\bin\rm.exe hides C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\rm.exe Found: C:\WinAVR-20100110\utils\bin\rm.exe Warning: D:\Software\cygwin\bin\rm.exe hides C:\WinAVR-20100110\utils\bin\rm.exe Found: D:\Software\cygwin\bin\sed.exe Found: C:\WinAVR-20100110\utils\bin\sed.exe Warning: D:\Software\cygwin\bin\sed.exe hides C:\WinAVR-20100110\utils\bin\sed.exe Not Found: ssh Found: D:\Software\cygwin\bin\sh.exe Found: C:\WinAVR-20100110\utils\bin\sh.exe Warning: D:\Software\cygwin\bin\sh.exe hides C:\WinAVR-20100110\utils\bin\sh.exe Found: D:\Software\cygwin\bin\tar.exe Found: C:\WinAVR-20100110\utils\bin\tar.exe Warning: D:\Software\cygwin\bin\tar.exe hides C:\WinAVR-20100110\utils\bin\tar.exe Found: D:\Software\cygwin\bin\test.exe Found: C:\WinAVR-20100110\utils\bin\test.exe Warning: D:\Software\cygwin\bin\test.exe hides C:\WinAVR-20100110\utils\bin\test.exe Not Found: vi Not Found: vim 14k 2012/05/04 D:\Software\cygwin\bin\cygattr-1.dll - os=4.0 img=1.0 sys=4.0 "cygattr-1.dll" v0.0 ts=2012/5/4 12:35 118k 2012/02/29 D:\Software\cygwin\bin\cygblkid-1.dll - os=4.0 img=1.0 sys=4.0 "cygblkid-1.dll" v0.0 ts=2012/2/29 3:57 62k 2011/05/21 D:\Software\cygwin\bin\cygbz2-1.dll - os=4.0 img=1.0 sys=4.0 "cygbz2-1.dll" v0.0 ts=2011/5/21 20:16 108k 2010/01/05 D:\Software\cygwin\bin\cygcloog-0.dll - os=4.0 img=1.0 sys=4.0 "cygcloog-0.dll" v0.0 ts=2010/1/5 0:45 7k 2012/05/07 D:\Software\cygwin\bin\cygcrypt-0.dll - os=4.0 img=1.0 sys=4.0 "cygcrypt-0.dll" v0.0 ts=2012/5/7 12:18 1246k 2012/04/24 D:\Software\cygwin\bin\cygcrypto-0.9.8.dll - os=4.0 img=1.0 sys=4.0 "cygcrypto-0.9.8.dll" v0.0 ts=2012/4/24 10:06 929k 2011/11/10 D:\Software\cygwin\bin\cygdb-4.5.dll - os=4.0 img=1.0 sys=4.0 "cygdb-4.5.dll" v0.0 ts=2011/11/10 19:52 93k 2011/11/10 D:\Software\cygwin\bin\cygdb_cxx-4.5.dll - os=4.0 img=1.0 sys=4.0 "cygdb_cxx-4.5.dll" v0.0 ts=2011/11/10 19:53 66k 2010/06/02 D:\Software\cygwin\bin\cygelf-0.dll - os=4.0 img=1.0 sys=4.0 "cygelf-0.dll" v0.8 ts=2010/6/2 14:08 118k 2008/05/09 D:\Software\cygwin\bin\cygexpat-1.dll - os=4.0 img=1.0 sys=4.0 "cygexpat-1.dll" v0.0 ts=2008/5/9 5:03 21k 2011/10/26 D:\Software\cygwin\bin\cygffi-4.dll - os=4.0 img=1.0 sys=4.0 "cygffi-4.dll" v0.0 ts=2011/10/23 14:33 175k 2012/02/03 D:\Software\cygwin\bin\cygfontconfig-1.dll - os=4.0 img=1.0 sys=4.0 "cygfontconfig-1.dll" v0.0 ts=2012/2/3 8:53 20k 2010/10/31 D:\Software\cygwin\bin\cygfontenc-1.dll - os=4.0 img=1.0 sys=4.0 "cygfontenc-1.dll" v0.0 ts=2010/10/31 20:19 43k 2010/01/02 D:\Software\cygwin\bin\cygform-10.dll - os=4.0 img=1.0 sys=4.0 "cygform-10.dll" v0.0 ts=2010/1/2 14:49 40k 2009/03/01 D:\Software\cygwin\bin\cygform-8.dll - os=4.0 img=1.0 sys=4.0 "cygform-8.dll" v0.0 ts=2009/3/1 6:32 43k 2009/11/20 D:\Software\cygwin\bin\cygform-9.dll - os=4.0 img=1.0 sys=4.0 "cygform-9.dll" v0.0 ts=2009/11/20 19:14 47k 2010/01/02 D:\Software\cygwin\bin\cygformw-10.dll - os=4.0 img=1.0 sys=4.0 "cygformw-10.dll" v0.0 ts=2010/1/2 17:31 505k 2012/03/27 D:\Software\cygwin\bin\cygfreetype-6.dll - os=4.0 img=1.0 sys=4.0 "cygfreetype-6.dll" v0.0 ts=2012/3/27 5:27 79k 2011/10/26 D:\Software\cygwin\bin\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0 "cyggcc_s-1.dll" v0.0 ts=2011/10/23 14:15 449k 2011/05/20 D:\Software\cygwin\bin\cyggcrypt-11.dll - os=4.0 img=1.0 sys=4.0 "cyggcrypt-11.dll" v0.0 ts=2011/5/20 3:29 19k 2009/02/26 D:\Software\cygwin\bin\cyggdbm-4.dll - os=4.0 img=1.0 sys=4.0 "cyggdbm-4.dll" v0.0 ts=2009/2/26 7:58 8k 2009/02/26 D:\Software\cygwin\bin\cyggdbm_compat-4.dll - os=4.0 img=1.0 sys=4.0 "cyggdbm_compat-4.dll" v0.0 ts=2009/2/26 7:58 325k 2012/02/05 D:\Software\cygwin\bin\cygGL-1.dll - os=4.0 img=1.0 sys=4.0 "cygGL-1.dll" v0.0 ts=2012/2/5 7:13 159k 2012/02/05 D:\Software\cygwin\bin\cygglapi-0.dll - os=4.0 img=1.0 sys=4.0 "cygglapi-0.dll" v0.0 ts=2012/2/5 6:58 317k 2011/07/31 D:\Software\cygwin\bin\cyggmp-3.dll - os=4.0 img=1.0 sys=4.0 "cyggmp-3.dll" v0.0 ts=2011/7/31 6:14 14k 2011/07/31 D:\Software\cygwin\bin\cyggmpxx-4.dll - os=4.0 img=1.0 sys=4.0 "cyggmpxx-4.dll" v0.0 ts=2011/7/31 11:31 42k 2011/10/26 D:\Software\cygwin\bin\cyggomp-1.dll - os=4.0 img=1.0 sys=4.0 "cyggomp-1.dll" v0.0 ts=2011/10/23 14:21 14k 2011/05/20 D:\Software\cygwin\bin\cyggpg-error-0.dll - os=4.0 img=1.0 sys=4.0 "cyggpg-error-0.dll" v0.0 ts=2011/5/20 3:04 25k 2012/05/04 D:\Software\cygwin\bin\cyghistory7.dll - os=4.0 img=1.0 sys=4.0 "cyghistory7.dll" v0.0 ts=2012/5/4 22:07 74k 2010/10/31 D:\Software\cygwin\bin\cygICE-6.dll - os=4.0 img=1.0 sys=4.0 "cygICE-6.dll" v0.0 ts=2010/10/31 20:18 358k 2012/04/14 D:\Software\cygwin\bin\cygicons-0.dll - os=4.0 img=1.4 sys=4.0 "cygicons-0.dll" v0.0 ts=2012/4/14 2:48 985k 2011/10/16 D:\Software\cygwin\bin\cygiconv-2.dll - os=4.0 img=1.0 sys=4.0 "cygiconv-2.dll" v0.0 ts=2011/10/16 18:01 31k 2005/11/20 D:\Software\cygwin\bin\cygintl-3.dll - os=4.0 img=1.0 sys=4.0 "cygintl-3.dll" v0.0 ts=2005/11/20 2:04 35k 2011/10/16 D:\Software\cygwin\bin\cygintl-8.dll - os=4.0 img=1.0 sys=4.0 "cygintl-8.dll" v0.0 ts=2011/10/16 6:38 12928k 2012/01/24 D:\Software\cygwin\bin\cygLLVM-3.0.dll - os=4.0 img=1.0 sys=4.0 "cygLLVM-3.0.dll" v0.0 ts=2012/1/24 12:03 5k 2012/04/25 D:\Software\cygwin\bin\cyglsa.dll - os=4.0 img=1.0 sys=4.0 "cyglsa.dll" v0.0 ts=2012/4/25 8:41 9k 2012/04/25 D:\Software\cygwin\bin\cyglsa64.dll - os=5.2 img=0.0 sys=5.2 125k 2010/04/09 D:\Software\cygwin\bin\cyglzma-1.dll - os=4.0 img=1.0 sys=4.0 "cyglzma-1.dll" v0.0 ts=2010/4/9 16:54 123k 2011/05/19 D:\Software\cygwin\bin\cyglzma-5.dll - os=4.0 img=1.0 sys=4.0 "cyglzma-5.dll" v0.0 ts=2011/5/19 3:41 94k 2012/04/22 D:\Software\cygwin\bin\cygmagic-1.dll - os=4.0 img=1.0 sys=4.0 "cygmagic-1.dll" v0.0 ts=2012/4/22 19:09 25k 2010/01/02 D:\Software\cygwin\bin\cygmenu-10.dll - os=4.0 img=1.0 sys=4.0 "cygmenu-10.dll" v0.0 ts=2010/1/2 14:48 21k 2009/03/01 D:\Software\cygwin\bin\cygmenu-8.dll - os=4.0 img=1.0 sys=4.0 "cygmenu-8.dll" v0.0 ts=2009/3/1 6:31 25k 2009/11/20 D:\Software\cygwin\bin\cygmenu-9.dll - os=4.0 img=1.0 sys=4.0 "cygmenu-9.dll" v0.0 ts=2009/11/20 19:13 25k 2010/01/02 D:\Software\cygwin\bin\cygmenuw-10.dll - os=4.0 img=1.0 sys=4.0 "cygmenuw-10.dll" v0.0 ts=2010/1/2 17:30 213k 2011/07/31 D:\Software\cygwin\bin\cygmp-3.dll - os=4.0 img=1.0 sys=4.0 "cygmp-3.dll" v0.0 ts=2011/7/31 6:12 64k 2009/11/09 D:\Software\cygwin\bin\cygmpc-1.dll - os=4.0 img=1.0 sys=4.0 "cygmpc-1.dll" v0.0 ts=2009/11/9 1:21 269k 2009/06/07 D:\Software\cygwin\bin\cygmpfr-1.dll - os=4.0 img=1.0 sys=4.0 "cygmpfr-1.dll" v0.0 ts=2009/6/7 22:10 1102k 2011/08/07 D:\Software\cygwin\bin\cygmpfr-4.dll - os=4.0 img=1.0 sys=4.0 "cygmpfr-4.dll" v0.0 ts=2011/8/7 2:47 63k 2010/01/02 D:\Software\cygwin\bin\cygncurses++-10.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++-10.dll" v0.0 ts=2010/1/2 15:00 66k 2009/03/01 D:\Software\cygwin\bin\cygncurses++-8.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++-8.dll" v0.0 ts=2009/3/1 6:39 63k 2009/11/20 D:\Software\cygwin\bin\cygncurses++-9.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++-9.dll" v0.0 ts=2009/11/20 19:25 63k 2010/01/02 D:\Software\cygwin\bin\cygncurses++w-10.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++w-10.dll" v0.0 ts=2010/1/2 17:41 195k 2010/01/02 D:\Software\cygwin\bin\cygncurses-10.dll - os=4.0 img=1.0 sys=4.0 "cygncurses-10.dll" v0.0 ts=2010/1/2 14:45 237k 2009/03/01 D:\Software\cygwin\bin\cygncurses-8.dll - os=4.0 img=1.0 sys=4.0 "cygncurses-8.dll" v0.0 ts=2009/3/1 6:28 198k 2009/11/20 D:\Software\cygwin\bin\cygncurses-9.dll - os=4.0 img=1.0 sys=4.0 "cygncurses-9.dll" v0.0 ts=2009/11/20 19:10 244k 2010/01/02 D:\Software\cygwin\bin\cygncursesw-10.dll - os=4.0 img=1.0 sys=4.0 "cygncursesw-10.dll" v0.0 ts=2010/1/2 17:28 13k 2010/01/02 D:\Software\cygwin\bin\cygpanel-10.dll - os=4.0 img=1.0 sys=4.0 "cygpanel-10.dll" v0.0 ts=2010/1/2 14:47 11k 2009/03/01 D:\Software\cygwin\bin\cygpanel-8.dll - os=4.0 img=1.0 sys=4.0 "cygpanel-8.dll" v0.0 ts=2009/3/1 6:30 13k 2009/11/20 D:\Software\cygwin\bin\cygpanel-9.dll - os=4.0 img=1.0 sys=4.0 "cygpanel-9.dll" v0.0 ts=2009/11/20 19:12 13k 2010/01/02 D:\Software\cygwin\bin\cygpanelw-10.dll - os=4.0 img=1.0 sys=4.0 "cygpanelw-10.dll" v0.0 ts=2010/1/2 16:30 255k 2012/02/10 D:\Software\cygwin\bin\cygpcre-0.dll - os=4.0 img=1.0 sys=4.0 "cygpcre-0.dll" v0.0 ts=2012/2/10 10:24 1627k 2010/08/29 D:\Software\cygwin\bin\cygperl5_10.dll - os=4.0 img=1.0 sys=4.0 "cygperl5_10.dll" v0.0 ts=2010/8/28 19:17 509k 2012/03/12 D:\Software\cygwin\bin\cygpixman-1-0.dll - os=4.0 img=1.0 sys=4.0 "cygpixman-1-0.dll" v0.0 ts=2012/3/12 11:06 22k 2002/06/09 D:\Software\cygwin\bin\cygpopt-0.dll - os=4.0 img=1.0 sys=4.0 "cygpopt-0.dll" v0.0 ts=2002/6/9 6:45 695k 2009/04/18 D:\Software\cygwin\bin\cygppl-7.dll - os=4.0 img=1.0 sys=4.0 "cygppl-7.dll" v0.0 ts=2009/4/18 13:44 2481k 2009/04/18 D:\Software\cygwin\bin\cygppl_c-2.dll - os=4.0 img=1.0 sys=4.0 "cygppl_c-2.dll" v0.0 ts=2009/4/18 13:47 18k 2009/04/18 D:\Software\cygwin\bin\cygpwl-4.dll - os=4.0 img=1.0 sys=4.0 "cygpwl-4.dll" v0.0 ts=2009/4/18 13:44 162k 2012/05/04 D:\Software\cygwin\bin\cygreadline7.dll - os=4.0 img=1.0 sys=4.0 "cygreadline7.dll" v0.0 ts=2012/5/4 22:07 8k 2011/05/05 D:\Software\cygwin\bin\cygsigsegv-2.dll - os=4.0 img=1.0 sys=4.0 "cygsigsegv-2.dll" v0.0 ts=2011/5/5 8:33 25k 2010/10/31 D:\Software\cygwin\bin\cygSM-6.dll - os=4.0 img=1.0 sys=4.0 "cygSM-6.dll" v0.0 ts=2010/10/31 20:24 1613k 2010/12/01 D:\Software\cygwin\bin\cygsqlite3-0.dll - os=4.0 img=1.0 sys=4.0 "cygsqlite3-0.dll" v0.0 ts=2010/12/1 12:20 282k 2012/04/24 D:\Software\cygwin\bin\cygssl-0.9.8.dll - os=4.0 img=1.0 sys=4.0 "cygssl-0.9.8.dll" v0.0 ts=2012/4/24 10:06 8k 2011/10/26 D:\Software\cygwin\bin\cygssp-0.dll - os=4.0 img=1.0 sys=4.0 "cygssp-0.dll" v0.0 ts=2011/10/23 14:33 780k 2011/10/26 D:\Software\cygwin\bin\cygstdc++-6.dll - os=4.0 img=1.0 sys=4.0 "cygstdc++-6.dll" v0.0 ts=2011/10/23 14:58 48k 2010/01/02 D:\Software\cygwin\bin\cygtic-10.dll - os=4.0 img=1.0 sys=4.0 "cygtic-10.dll" v0.0 ts=2010/1/2 14:45 48k 2009/11/20 D:\Software\cygwin\bin\cygtic-9.dll - os=4.0 img=1.0 sys=4.0 "cygtic-9.dll" v0.0 ts=2009/11/20 19:10 48k 2010/01/02 D:\Software\cygwin\bin\cygticw-10.dll - os=4.0 img=1.0 sys=4.0 "cygticw-10.dll" v0.0 ts=2010/1/2 17:28 13k 2012/02/29 D:\Software\cygwin\bin\cyguuid-1.dll - os=4.0 img=1.0 sys=4.0 "cyguuid-1.dll" v0.0 ts=2012/2/29 3:56 1045k 2011/08/22 D:\Software\cygwin\bin\cygX11-6.dll - os=4.0 img=1.0 sys=4.0 "cygX11-6.dll" v0.0 ts=2011/8/22 9:25 6k 2011/08/22 D:\Software\cygwin\bin\cygX11-xcb-1.dll - os=4.0 img=1.0 sys=4.0 "cygX11-xcb-1.dll" v0.0 ts=2011/8/22 9:26 11k 2010/08/03 D:\Software\cygwin\bin\cygXau-6.dll - os=4.0 img=1.0 sys=4.0 "cygXau-6.dll" v0.0 ts=2010/8/3 1:32 337k 2011/02/04 D:\Software\cygwin\bin\cygXaw-7.dll - os=4.0 img=1.0 sys=4.0 "cygXaw-7.dll" v0.0 ts=2011/2/4 7:02 75k 2010/12/21 D:\Software\cygwin\bin\cygxcb-1.dll - os=4.0 img=1.0 sys=4.0 "cygxcb-1.dll" v0.0 ts=2010/12/21 1:36 51k 2010/12/21 D:\Software\cygwin\bin\cygxcb-glx-0.dll - os=4.0 img=1.0 sys=4.0 "cygxcb-glx-0.dll" v0.0 ts=2010/12/21 1:36 17k 2010/10/31 D:\Software\cygwin\bin\cygXdmcp-6.dll - os=4.0 img=1.0 sys=4.0 "cygXdmcp-6.dll" v0.0 ts=2010/10/31 20:29 52k 2011/05/23 D:\Software\cygwin\bin\cygXext-6.dll - os=4.0 img=1.0 sys=4.0 "cygXext-6.dll" v0.0 ts=2011/5/23 9:32 66k 2010/11/01 D:\Software\cygwin\bin\cygXft-2.dll - os=4.0 img=1.0 sys=4.0 "cygXft-2.dll" v0.0 ts=2010/11/1 2:10 119k 2010/11/01 D:\Software\cygwin\bin\cygxkbfile-1.dll - os=4.0 img=1.0 sys=4.0 "cygxkbfile-1.dll" v0.0 ts=2010/11/1 2:33 75k 2010/11/01 D:\Software\cygwin\bin\cygXmu-6.dll - os=4.0 img=1.0 sys=4.0 "cygXmu-6.dll" v0.0 ts=2010/11/1 2:19 11k 2010/11/01 D:\Software\cygwin\bin\cygXmuu-1.dll - os=4.0 img=1.0 sys=4.0 "cygXmuu-1.dll" v0.0 ts=2010/11/1 2:19 53k 2010/11/01 D:\Software\cygwin\bin\cygXpm-4.dll - os=4.0 img=1.0 sys=4.0 "cygXpm-4.dll" v0.0 ts=2010/11/1 2:19 32k 2010/08/03 D:\Software\cygwin\bin\cygXrender-1.dll - os=4.0 img=1.0 sys=4.0 "cygXrender-1.dll" v0.0 ts=2010/8/3 5:48 278k 2011/06/07 D:\Software\cygwin\bin\cygXt-6.dll - os=4.0 img=1.0 sys=4.0 "cygXt-6.dll" v0.0 ts=2011/6/7 4:40 76k 2010/08/01 D:\Software\cygwin\bin\cygz.dll - os=4.0 img=1.0 sys=4.0 "cygz.dll" v0.0 ts=2010/8/1 22:04 2779k 2012/04/25 D:\Software\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2012/4/25 8:41 Cygwin DLL version info: DLL version: 1.7.14 DLL epoch: 19 DLL old termios: 5 DLL malloc env: 28 Cygwin conv: 181 API major: 0 API minor: 260 Shared data: 5 DLL identifier: cygwin1 Mount registry: 3 Cygwin registry name: Cygwin Program options name: Program Options Installations name: Installations Cygdrive default prefix: Build date: Shared id: cygwin1S5 1829k 2010/01/19 C:\WinAVR-20100110\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2008/6/12 18:35 Cygwin DLL version info: DLL version: 1.5.25 DLL epoch: 19 DLL bad signal mask: 19005 DLL old termios: 5 DLL malloc env: 28 API major: 0 API minor: 156 Shared data: 4 DLL identifier: cygwin1 Mount registry: 2 Cygnus registry name: Cygnus Solutions Cygwin registry name: Cygwin Program options name: Program Options Cygwin mount registry name: mounts v2 Cygdrive flags: cygdrive flags Cygdrive prefix: cygdrive prefix Cygdrive default prefix: Build date: Thu Jun 12 19:34:46 CEST 2008 CVS tag: cr-0x5f1 Shared id: cygwin1S4 Warning: There are multiple cygwin1.dlls on your path Can't find the cygrunsrv utility, skipping services check. Cygwin Package Information Last downloaded files to: D:\Software\cygwin-install Last downloaded files from: http://linux.rz.ruhr-uni-bochum.de/download/cygwin/ Package Version Status _autorebase 000059-1 OK _update-info-dir 01049-1 OK alternatives 1.3.30c-10 OK base-cygwin 3.1-1 OK base-files 4.1-1 OK Empty package base-passwd base-passwd 3.1-2 OK bash 4.1.10-4 OK binutils 2.22.51-2 OK bzip2 1.0.6-2 OK coreutils 8.15-1 OK crypt 1.2-1 OK cygutils 1.4.10-2 OK cygwin 1.7.14-2 OK cygwin-doc 1.7-1 OK dash 0.5.7-1 OK diffutils 3.2-1 OK dos2unix 6.0-1 OK dri-drivers 7.11.2-1 OK editrights 1.01-2 OK file 5.11-1 OK findutils 4.5.9-2 OK flawfinder 1.27-2 OK font-adobe-dpi75 1.0.2-1 OK font-alias 1.0.3-1 OK font-encodings 1.0.4-1 OK font-misc-misc 1.1.1-1 OK fontconfig 2.8.0-2 OK gawk 4.0.1-1 OK Empty package gcc gcc 3.4.4-999 OK gcc-core 3.4.4-999 OK gcc-g++ 3.4.4-999 OK gcc-mingw-core 20050522-3 OK gcc-mingw-g++ 20050522-3 OK Empty package gcc4 gcc4 4.5.3-3 OK gcc4-core 4.5.3-3 OK gcc4-g++ 4.5.3-3 OK gettext 0.18.1.1-2 OK grep 2.6.3-1 OK groff 1.21-2 OK gzip 1.4-1 OK ipc-utils 1.0-1 OK less 444-1 OK libattr1 2.4.46-1 OK libblkid1 2.21-1 OK libbz2_1 1.0.6-2 OK libcloog0 0.15.7-1 OK libdb4.5 4.5.20.2-3 OK libelf0 0.8.13-2 OK libelf0-devel 0.8.13-2 OK libexpat1 2.0.1-1 OK libffi4 4.5.3-3 OK libfontconfig1 2.8.0-2 OK libfontenc1 1.1.0-1 OK libfreetype6 2.4.9-2 OK libgcc1 4.5.3-3 OK libgcrypt11 1.4.6-1 OK libgdbm4 1.8.3-20 OK libGL1 7.11.2-1 OK libglapi0 7.11.2-1 OK libgmp3 4.3.2-1 OK libgmpxx4 4.3.2-1 OK libgomp1 4.5.3-3 OK libgpg-error0 1.10-1 OK libICE6 1.0.7-1 OK libiconv2 1.14-2 OK libintl3 0.14.5-1 OK libintl8 0.18.1.1-2 OK libllvm3.0 3.0-1 OK liblzma1 4.999.9beta-11 OK liblzma5 5.0.2_20110517-1 OK libmpc1 0.8-1 OK libmpfr1 2.4.1-4 OK libmpfr4 3.0.1-1 OK libncurses10 5.7-18 OK libncurses8 5.5-10 OK libncurses9 5.7-16 OK libncursesw10 5.7-18 OK libopenssl098 0.9.8w-1 OK libpcre0 8.21-2 OK libpixman1_0 0.24.4-1 OK libpopt0 1.6.4-4 OK libppl 0.10.2-1 OK libreadline7 6.1.2-3 OK libsigsegv2 2.10-1 OK libSM6 1.2.0-1 OK libsqlite3_0 3.7.3-1 OK libssp0 4.5.3-3 OK libstdc++6 4.5.3-3 OK libstdc++6-devel 4.5.3-3 OK libuuid1 2.21-1 OK libX11-xcb1 1.4.4-1 OK libX11_6 1.4.4-1 OK libXau6 1.0.6-1 OK libXaw7 1.0.9-1 OK libxcb-glx0 1.7-2 OK libxcb1 1.7-2 OK libXdmcp6 1.1.0-1 OK libXext6 1.3.0-1 OK libXft2 2.2.0-1 OK libxkbfile1 1.0.7-1 OK libXmu6 1.1.0-1 OK libXmuu1 1.1.0-1 OK libXpm4 3.5.9-1 OK libXrender1 0.9.6-1 OK libXt6 1.1.1-1 OK login 1.10-10 OK luit 1.1.0-1 OK make 3.82.90-1 OK man 1.6g-1 OK mingw-runtime 3.20-1 OK mingw-w32api 3.17-2 OK mingw64-i686-binutils 2.22.51-3 OK mingw64-i686-gcc-core 4.5.3-5 OK mingw64-i686-headers 3.0b_svn4913-1 OK mingw64-i686-pthreads 20100619-4 OK mingw64-i686-runtime 3.0b_svn4913-1 OK mintty 1.0.3-1 OK mkfontdir 1.0.6-1 OK mkfontscale 1.0.9-1 OK nano 2.2.5-1 OK perl 5.10.1-5 OK python 2.6.7-1 OK rebase 4.1.0-1 OK rsync 3.0.9-1 OK run 1.1.13-1 OK sed 4.2.1-2 OK setxkbmap 1.2.0-1 OK tar 1.25-1 OK terminfo 5.7_20091114-14 OK terminfo0 5.5_20061104-12 OK texinfo 4.13-4 OK tzcode 2012b-1 OK util-linux 2.21-1 OK w32api 3.17-2 OK which 2.20-2 OK xauth 1.0.6-1 OK xcursor-themes 1.0.3-1 OK xf86-video-dummy 0.3.5-1 OK xf86-video-nested 0.1.0-1 OK xhost 1.0.4-1 OK xkbcomp 1.2.3-1 OK xkeyboard-config 2.5.1-1 OK xmodmap 1.0.5-1 OK xorg-server 1.12.1-1 OK xorg-server-common 1.12.1-1 OK xrdb 1.0.9-1 OK xterm 278-1 OK xz 5.0.2_20110517-1 OK zlib 1.2.5-1 OK zlib-devel 1.2.5-1 OK zlib0 1.2.5-1 OK Use -h to see help about each section [-- Attachment #4: Type: text/plain, Size: 218 bytes --] -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-09 17:50 1.7.14-2: pthread_cancel and pthread_kill not working as expected Otto Meta @ 2012-05-18 10:23 ` Otto Meta 2012-05-18 11:43 ` Earnie Boyd 0 siblings, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-18 10:23 UTC (permalink / raw) To: cygwin Greetings, as I got no response to my first question, I tried two older Cygwin versions to narrow down the problem. Maybe thisÂ’ll help someone to figure out the cause. I tried 1.7.9 and 1.7.12-1, with the results of 1.7.12-1 being exactly like the ones from 1.7.14-2 and 1.7.15-1. Unfortunately I couldnÂ’t dig up any versions between 1.7.9 and 1.7.12-1. Results from 1.7.12-1 (for semaphores, detailed results in my last mail): Test 1: Main thread hangs on pthread_cancel() (PTHREAD_CANCEL_DEFERRED) Test 2: Threads ignore pthread_cancel() (PTHREAD_CANCEL_ASYNCHRONOUS) Test 3: Signals often wake the wrong thread Test 4: Wrong thread wakes up once, then nothing Test 5: Some threads exit, depending on whether the signal reached the right thread Test 6: Thread isn't cancelled even after a waking it with a signal On 1.7.9 things are a bit different: Test 1: PTHREAD_CANCEL_DEFERRED semaphore/pause: All threads are cancelled via pthread_cancel() read: No thread is cancelled Test 2: PTHREAD_CANCEL_ASYNCHRONOUS Threads ignore pthread_cancel() Test 3: semaphore/read: No thread wakes up or executes the signal handler, sleep() doesn't sleep any more after the first signal (returns immediately) pause: All threads wake up on every signal, correct thread executes signal handler Test 4: semaphore/read: No thread wakes up or executes the signal handler, sleep() doesn't sleep any more after the first signal (returns immediately) pause: All threads wake up on every signal, correct thread executes signal handler Test 5: semaphore: No thread is killed, sleep() doesn't sleep any more pause: First thread cancelled, other threads won't pause() any more and run amok read: Some threads are killed, sleep() doesn't sleep any more Test 6: semaphore/pause: No thread is killed, sleep() doesn't sleep any more pause: First thread cancelled, other threads won't pause() any more and run amok Sorry if IÂ’m mixing two (or three?) problems, but they all seem pthreads-related. pthread_cancel deferred: Worked on threads blocked in sem_wait() and pause() in 1.7.9, doesnÂ’t work any more in 1.7.12-1 and newer and instead hangs calling thread. IÂ’d consider this one a regression. DidnÂ’t work on threads blocked in read() in any tested version. pthread_cancel asynchronous: No thread is cancelled in any tested version. Calling thread doesnÂ’t hang, though. pthread_kill: In 1.7.9 a signal to any thread wakes up all threads blocked in pause() and the correct thread executes the signal handler. DoesnÂ’t wake threads blocked in sem_wait() or read(). After delivering a signal, pause() and sleep() donÂ’t block any more and return immediately. In 1.7.12-1 and newer sleep() and pause() wonÂ’t break and not all threads are woken up. Instead only one thread is woken, but unfortunately not always the correct one. While signal handling mostly seems to have improved, cancelling got worse. Especially the fact that the calling thread blocks in pthread_cancel can be quite a show-stopper. Any suggestions or ideas? Cheers, Otto -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-18 10:23 ` 1.7.15-1: " Otto Meta @ 2012-05-18 11:43 ` Earnie Boyd 2012-05-21 10:26 ` Otto Meta 0 siblings, 1 reply; 24+ messages in thread From: Earnie Boyd @ 2012-05-18 11:43 UTC (permalink / raw) To: cygwin On Fri, May 18, 2012 at 6:23 AM, Otto Meta wrote: > > Any suggestions or ideas? You should always try the most recent http://cygwin.com/snapshots. -- Earnie -- https://sites.google.com/site/earnieboyd -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-18 11:43 ` Earnie Boyd @ 2012-05-21 10:26 ` Otto Meta 2012-05-21 10:47 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-21 10:26 UTC (permalink / raw) To: cygwin > You should always try the most recent http://cygwin.com/snapshots. Thanks for the suggestion, that did indeed change something: The tests yield the same half-broken behaviour for pthread_cancel as with 1.7.7 and 1.7.9. Thatâs better than the almost completely broken behaviour from 1.7.12-1 to 1.7.15-1. pthread_kill is still as unreliable as in 1.7.12-1 and newer, though. Results with cygwin1-20120517.dll: Test 1: Blocking on semaphore: Works Blocking on pause(): Works Blocking on read(): Not deterministic: One thread is killed, the other two stay Test 2: Independent of what the threads are blocked on, nothing is cancelled. Test 3: Blocking on semaphore: May or may not signal the correct thread. Blocking on pause(): Same as semaphore. Blocking on read(): One thread executes the signal handler, the other two don't. Thread chosen seemingly at random. Test 4: Not deterministic: Targeted thread either executes the signal handler every time or not at all. Test 5: Not deterministic: Threads may or may not exit after being poked. Test 6: Not deterministic: Threads may or may not exit after being poked. In short: - Deferred pthread_cancel seems to work. - Asynchronous pthtread_cancel seems to have no effect. - pthread_kill is basically hit or miss. Otto -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-21 10:26 ` Otto Meta @ 2012-05-21 10:47 ` Corinna Vinschen 2012-05-21 12:44 ` Otto Meta 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2012-05-21 10:47 UTC (permalink / raw) To: cygwin On May 21 12:26, Otto Meta wrote: > > You should always try the most recent http://cygwin.com/snapshots. > > Thanks for the suggestion, that did indeed change something: The tests > yield the same half-broken behaviour for pthread_cancel as with 1.7.7 > and 1.7.9. Thatâs better than the almost completely broken behaviour > from 1.7.12-1 to 1.7.15-1. pthread_kill is still as unreliable as in > 1.7.12-1 and newer, though. > > Results with cygwin1-20120517.dll: > > Test 1: > Blocking on semaphore: Works > Blocking on pause(): Works > Blocking on read(): Not deterministic: One thread is killed, the other > two stay > > Test 2: > Independent of what the threads are blocked on, nothing is cancelled. > > Test 3: > Blocking on semaphore: May or may not signal the correct thread. > Blocking on pause(): Same as semaphore. > Blocking on read(): One thread executes the signal handler, the other > two don't. Thread chosen seemingly at random. > > Test 4: > Not deterministic: Targeted thread either executes the signal handler > every time or not at all. > > Test 5: > Not deterministic: Threads may or may not exit after being poked. > > Test 6: > Not deterministic: Threads may or may not exit after being poked. > > In short: > - Deferred pthread_cancel seems to work. > - Asynchronous pthtread_cancel seems to have no effect. > - pthread_kill is basically hit or miss. Would you mind to provide *simple* testcases to allow easy debugging of your observations? Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-21 10:47 ` Corinna Vinschen @ 2012-05-21 12:44 ` Otto Meta 2012-05-22 11:03 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-21 12:44 UTC (permalink / raw) To: cygwin [-- Attachment #1: Type: text/plain, Size: 516 bytes --] > Would you mind to provide *simple* testcases to allow easy debugging > of your observations? I reduced the various tests to three rather simple individual testcases because those show possibly different bugs. Testcase cancel deferred: Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 and 1.7.15-1. Testcase cancel asynchronous: Async cancel seems to have no effect with any tested version. Testcase signal/kill: Signals may or may not reach the correct thread with 1.7.12-1 and newer. Otto [-- Attachment #2: testcase_cancel_deferred.c --] [-- Type: text/x-csrc, Size: 1931 bytes --] #include <errno.h> #include <pthread.h> #include <semaphore.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> pthread_t tids[3]; sem_t semaphore; static void cleanup_handler(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i exiting (%p)\n", *intptr, self); } static void* simplethread(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i starting (%p)\n", *intptr, self); pthread_cleanup_push(&cleanup_handler, intptr); while (1) { if (sem_wait(&semaphore) != 0) { fprintf(stderr, "Thread %i encountered an error: %s (%p)\n", *intptr, strerror(errno), self); } else { fprintf(stderr, "Thread %i woke up just fine\n", *intptr); } } pthread_cleanup_pop(1); return NULL; } int main() { fprintf(stderr, "Testing deferred pthread_cancel()\n\n"); int i; int result; sem_init(&semaphore, 0, 0); for (i=0; i<3; i++) { int *intptr = (int*)malloc(sizeof(int)); *intptr = i; result = pthread_create(tids+i, NULL, &simplethread, intptr); if (result != 0) { fprintf(stderr, "Can't create thread: %s\n", strerror(result)); return 1; } } sleep(1); fprintf(stderr, "\n"); int mainint = 42; pthread_cleanup_push(&cleanup_handler, &mainint); for (i=2; i>=0; i--) { fprintf(stderr, "Cancelling thread %i (%p)\n", i, tids[i]); result = pthread_cancel(tids[i]); if (result != 0) { fprintf(stderr, "Error during pthread_cancel: %s\n", strerror(result)); } sleep(1); } fprintf(stderr, "\n"); for (i=0; i<3; i++) { result = pthread_kill(tids[i], 0); if (result == 0) { fprintf(stderr, "Thread %i is still there (%p)\n", i, tids[i]); } else { fprintf(stderr, "Thread %i is gone (%p)\n", i, tids[i]); } } pthread_cleanup_pop(0); return 0; } [-- Attachment #3: testcase_cancel_asynchronous.c --] [-- Type: text/x-csrc, Size: 2111 bytes --] #include <errno.h> #include <pthread.h> #include <semaphore.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> pthread_t tids[3]; sem_t semaphore; static void cleanup_handler(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i exiting (%p)\n", *intptr, self); } static void* simplethread(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i starting (%p)\n", *intptr, self); pthread_cleanup_push(&cleanup_handler, intptr); int oldtype; pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype); fprintf(stderr, "Changing canceltype from %i to %i\n", oldtype, PTHREAD_CANCEL_ASYNCHRONOUS); while (1) { if (sem_wait(&semaphore) != 0) { fprintf(stderr, "Thread %i encountered an error: %s (%p)\n", *intptr, strerror(errno), self); } else { fprintf(stderr, "Thread %i woke up just fine\n", *intptr); } } pthread_cleanup_pop(1); return NULL; } int main() { fprintf(stderr, "Testing asynchronous pthread_cancel()\n\n"); int i; int result; sem_init(&semaphore, 0, 0); for (i=0; i<3; i++) { int *intptr = (int*)malloc(sizeof(int)); *intptr = i; result = pthread_create(tids+i, NULL, &simplethread, intptr); if (result != 0) { fprintf(stderr, "Can't create thread: %s\n", strerror(result)); return 1; } } sleep(1); fprintf(stderr, "\n"); int mainint = 42; pthread_cleanup_push(&cleanup_handler, &mainint); for (i=2; i>=0; i--) { fprintf(stderr, "Cancelling thread %i (%p)\n", i, tids[i]); result = pthread_cancel(tids[i]); if (result != 0) { fprintf(stderr, "Error during pthread_cancel: %s\n", strerror(result)); } sleep(1); } fprintf(stderr, "\n"); for (i=0; i<3; i++) { result = pthread_kill(tids[i], 0); if (result == 0) { fprintf(stderr, "Thread %i is still there (%p)\n", i, tids[i]); } else { fprintf(stderr, "Thread %i is gone (%p)\n", i, tids[i]); } } pthread_cleanup_pop(0); return 0; } [-- Attachment #4: testcase_signal.c --] [-- Type: text/x-csrc, Size: 2488 bytes --] #include <errno.h> #include <pthread.h> #include <semaphore.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> pthread_t tids[3]; sem_t semaphore; static void cleanup_handler(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i exiting (%p)\n", *intptr, self); } static void* simplethread(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i starting (%p)\n", *intptr, self); pthread_cleanup_push(&cleanup_handler, intptr); while (1) { if (sem_wait(&semaphore) != 0) { fprintf(stderr, "Thread %i encountered an error: %s (%p)\n", *intptr, strerror(errno), self); } else { fprintf(stderr, "Thread %i woke up just fine\n", *intptr); } } pthread_cleanup_pop(1); return NULL; } static void sigusr1_handler(int signal __attribute((unused))) { pthread_t self = pthread_self(); int tnum = 0; while (tnum < 3) { if (tids[tnum] == self) { break; } tnum++; } fprintf(stderr, "Thread %i executes signal handler (%p)\n", tnum, self); } static void install_handler(void) { struct sigaction act; act.sa_handler = &sigusr1_handler; sigemptyset(&(act.sa_mask)); act.sa_flags = 0; if (sigaction(SIGUSR1, &act, NULL) != 0) { fprintf(stderr, "Can't set signal handler: %s\n", strerror(errno)); exit(1); } sigset_t sset; sigemptyset(&sset); sigaddset(&sset, SIGUSR1); if (sigprocmask(SIG_UNBLOCK, &sset, NULL) != 0) { fprintf(stderr, "Can't unblock SIGUSR1: %s\n", strerror(errno)); } } int main() { fprintf(stderr, "Testing pthread_kill()\n\n"); int i; int result; sem_init(&semaphore, 0, 0); install_handler(); for (i=0; i<3; i++) { int *intptr = (int*)malloc(sizeof(int)); *intptr = i; result = pthread_create(tids+i, NULL, &simplethread, intptr); if (result != 0) { fprintf(stderr, "Can't create thread: %s\n", strerror(result)); return 1; } } sleep(1); install_handler(); fprintf(stderr, "\n"); int mainint = 42; pthread_cleanup_push(&cleanup_handler, &mainint); for (i=2; i>=0; i--) { fprintf(stderr, "Sending SIGUSR1 to thread %i (%p)\n", i, tids[i]); result = pthread_kill(tids[i], SIGUSR1); if (result != 0) { fprintf(stderr, "Error during pthread_kill: %s\n", strerror(result)); } sleep(1); } pthread_cleanup_pop(0); return 0; } [-- Attachment #5: Type: text/plain, Size: 218 bytes --] -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-21 12:44 ` Otto Meta @ 2012-05-22 11:03 ` Corinna Vinschen 2012-05-22 13:26 ` Otto Meta 2012-07-11 12:36 ` Otto Meta 0 siblings, 2 replies; 24+ messages in thread From: Corinna Vinschen @ 2012-05-22 11:03 UTC (permalink / raw) To: cygwin Hi Otto, On May 21 14:44, Otto Meta wrote: > > Would you mind to provide *simple* testcases to allow easy debugging > > of your observations? > > I reduced the various tests to three rather simple individual testcases > because those show possibly different bugs. Thanks! > Testcase cancel deferred: > Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 > and 1.7.15-1. If that works in the snapshot anyway, I'm not going to look into that one. > Testcase cancel asynchronous: > Async cancel seems to have no effect with any tested version. I think I found a solution for this problem. See the comment in the patch at http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 Please test the today's developer snapshot. > Testcase signal/kill: > Signals may or may not reach the correct thread with 1.7.12-1 and newer. Confirmed. I think the reason is that we only have a single event to signal that a POSIX signal arrived instead of a per-thread event, but I'm not sure. This is cgf's domain so I leave it at that for now. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-22 11:03 ` Corinna Vinschen @ 2012-05-22 13:26 ` Otto Meta 2012-05-23 8:53 ` Corinna Vinschen 2012-07-11 12:36 ` Otto Meta 1 sibling, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-22 13:26 UTC (permalink / raw) To: cygwin [-- Attachment #1: Type: text/plain, Size: 1135 bytes --] >> Testcase cancel deferred: >> Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 >> and 1.7.15-1. > If that works in the snapshot anyway, I'm not going to look into that > one. It worked in the reduced testcase with sem_wait(). With read() itâs still half-broken. See below. >> Testcase cancel asynchronous: >> Async cancel seems to have no effect with any tested version. > I think I found a solution for this problem. See the comment in the > patch at > http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 > Please test the today's developer snapshot. Asynchronous cancel seems to work as well as deferred cancel now. Thanks. Both cancel types work with sem_wait() and pause() now, but for threads blocked in read() theyâre still unreliable. Only one of three blocked threads is killed in the attached updated testcases. >> Testcase signal/kill: >> Signals may or may not reach the correct thread with 1.7.12-1 and newer. > Confirmed. [...] This is cgf's domain so I leave it at that for now. Okay, Iâll hope for him to respond then. Otto [-- Attachment #2: testcase_cancel_asynchronous.c --] [-- Type: text/x-csrc, Size: 2089 bytes --] #include <errno.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> pthread_t tids[3]; static void cleanup_handler(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i exiting (%p)\n", *intptr, self); } static void* simplethread(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i starting (%p)\n", *intptr, self); char buffer[1] __attribute((unused)); pthread_cleanup_push(&cleanup_handler, intptr); int oldtype; pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype); fprintf(stderr, "Changing canceltype from %i to %i\n", oldtype, PTHREAD_CANCEL_ASYNCHRONOUS); while (1) { if (read(STDIN_FILENO, buffer, 1) <= 0) { fprintf(stderr, "Thread %i encountered an error: %s (%p)\n", *intptr, strerror(errno), self); } else { fprintf(stderr, "Thread %i woke up just fine\n", *intptr); } } pthread_cleanup_pop(1); return NULL; } int main() { fprintf(stderr, "Testing asynchronous pthread_cancel()\n\n"); int i; int result; for (i=0; i<3; i++) { int *intptr = (int*)malloc(sizeof(int)); *intptr = i; result = pthread_create(tids+i, NULL, &simplethread, intptr); if (result != 0) { fprintf(stderr, "Can't create thread: %s\n", strerror(result)); return 1; } } sleep(1); fprintf(stderr, "\n"); int mainint = 42; pthread_cleanup_push(&cleanup_handler, &mainint); for (i=2; i>=0; i--) { fprintf(stderr, "Cancelling thread %i (%p)\n", i, tids[i]); result = pthread_cancel(tids[i]); if (result != 0) { fprintf(stderr, "Error during pthread_cancel: %s\n", strerror(result)); } sleep(1); } fprintf(stderr, "\n"); for (i=0; i<3; i++) { result = pthread_kill(tids[i], 0); if (result == 0) { fprintf(stderr, "Thread %i is still there (%p)\n", i, tids[i]); } else { fprintf(stderr, "Thread %i is gone (%p)\n", i, tids[i]); } } pthread_cleanup_pop(0); return 0; } [-- Attachment #3: testcase_cancel_deferred.c --] [-- Type: text/x-csrc, Size: 1910 bytes --] #include <errno.h> #include <pthread.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> pthread_t tids[3]; static void cleanup_handler(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i exiting (%p)\n", *intptr, self); } static void* simplethread(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i starting (%p)\n", *intptr, self); char buffer[1] __attribute((unused)); pthread_cleanup_push(&cleanup_handler, intptr); while (1) { if (read(STDIN_FILENO, buffer, 1) <= 0) { fprintf(stderr, "Thread %i encountered an error: %s (%p)\n", *intptr, strerror(errno), self); } else { fprintf(stderr, "Thread %i woke up just fine\n", *intptr); } } pthread_cleanup_pop(1); return NULL; } int main() { fprintf(stderr, "Testing deferred pthread_cancel()\n\n"); int i; int result; for (i=0; i<3; i++) { int *intptr = (int*)malloc(sizeof(int)); *intptr = i; result = pthread_create(tids+i, NULL, &simplethread, intptr); if (result != 0) { fprintf(stderr, "Can't create thread: %s\n", strerror(result)); return 1; } } sleep(1); fprintf(stderr, "\n"); int mainint = 42; pthread_cleanup_push(&cleanup_handler, &mainint); for (i=2; i>=0; i--) { fprintf(stderr, "Cancelling thread %i (%p)\n", i, tids[i]); result = pthread_cancel(tids[i]); if (result != 0) { fprintf(stderr, "Error during pthread_cancel: %s\n", strerror(result)); } sleep(1); } fprintf(stderr, "\n"); for (i=0; i<3; i++) { result = pthread_kill(tids[i], 0); if (result == 0) { fprintf(stderr, "Thread %i is still there (%p)\n", i, tids[i]); } else { fprintf(stderr, "Thread %i is gone (%p)\n", i, tids[i]); } } pthread_cleanup_pop(0); return 0; } [-- Attachment #4: Type: text/plain, Size: 218 bytes --] -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-22 13:26 ` Otto Meta @ 2012-05-23 8:53 ` Corinna Vinschen 2012-05-23 16:27 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2012-05-23 8:53 UTC (permalink / raw) To: cygwin On May 22 15:25, Otto Meta wrote: > >> Testcase cancel deferred: > >> Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 > >> and 1.7.15-1. > > If that works in the snapshot anyway, I'm not going to look into that > > one. > > It worked in the reduced testcase with sem_wait(). With read() itâs > still half-broken. See below. > > >> Testcase cancel asynchronous: > >> Async cancel seems to have no effect with any tested version. > > I think I found a solution for this problem. See the comment in the > > patch at > > http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 > > Please test the today's developer snapshot. > > Asynchronous cancel seems to work as well as deferred cancel now. Thanks. > > Both cancel types work with sem_wait() and pause() now, but for threads > blocked in read() theyâre still unreliable. Only one of three blocked > threads is killed in the attached updated testcases. Just to let you know I'm working on it. This will take some time. During debugging I stumbled over a heisenbug. As soon as I remove the "Thread %i woke up just fine" printf from your test application, the read function reurns with a "Bad address" error. So far I have onlya vague hunch what the cause may be. Stay tuned. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-23 8:53 ` Corinna Vinschen @ 2012-05-23 16:27 ` Corinna Vinschen 2012-05-23 17:24 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2012-05-23 16:27 UTC (permalink / raw) To: cygwin On May 23 10:52, Corinna Vinschen wrote: > On May 22 15:25, Otto Meta wrote: > > >> Testcase cancel deferred: > > >> Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 > > >> and 1.7.15-1. > > > If that works in the snapshot anyway, I'm not going to look into that > > > one. > > > > It worked in the reduced testcase with sem_wait(). With read() itâs > > still half-broken. See below. > > > > >> Testcase cancel asynchronous: > > >> Async cancel seems to have no effect with any tested version. > > > I think I found a solution for this problem. See the comment in the > > > patch at > > > http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 > > > Please test the today's developer snapshot. > > > > Asynchronous cancel seems to work as well as deferred cancel now. Thanks. > > > > Both cancel types work with sem_wait() and pause() now, but for threads > > blocked in read() theyâre still unreliable. Only one of three blocked > > threads is killed in the attached updated testcases. > > Just to let you know I'm working on it. This will take some time. > During debugging I stumbled over a heisenbug. As soon as I remove the > "Thread %i woke up just fine" printf from your test application, the > read function reurns with a "Bad address" error. So far I have onlya > vague hunch what the cause may be. Stay tuned. Half of the solution is now checked in to CVS. The other half is a bad hack to workaround a shortcoming in newlib's stdio functions. I'd rather have a solution in newlib. see my request on the newlib ML: http://cygwin.com/ml/newlib/2012/msg00188.html Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-23 16:27 ` Corinna Vinschen @ 2012-05-23 17:24 ` Corinna Vinschen 2012-05-23 17:44 ` David Rothenberger 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2012-05-23 17:24 UTC (permalink / raw) To: cygwin On May 23 18:06, Corinna Vinschen wrote: > On May 23 10:52, Corinna Vinschen wrote: > > On May 22 15:25, Otto Meta wrote: > > > >> Testcase cancel deferred: > > > >> Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 > > > >> and 1.7.15-1. > > > > If that works in the snapshot anyway, I'm not going to look into that > > > > one. > > > > > > It worked in the reduced testcase with sem_wait(). With read() itâs > > > still half-broken. See below. > > > > > > >> Testcase cancel asynchronous: > > > >> Async cancel seems to have no effect with any tested version. > > > > I think I found a solution for this problem. See the comment in the > > > > patch at > > > > http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 > > > > Please test the today's developer snapshot. > > > > > > Asynchronous cancel seems to work as well as deferred cancel now. Thanks. > > > > > > Both cancel types work with sem_wait() and pause() now, but for threads > > > blocked in read() theyâre still unreliable. Only one of three blocked > > > threads is killed in the attached updated testcases. > > > > Just to let you know I'm working on it. This will take some time. > > During debugging I stumbled over a heisenbug. As soon as I remove the > > "Thread %i woke up just fine" printf from your test application, the > > read function reurns with a "Bad address" error. So far I have onlya > > vague hunch what the cause may be. Stay tuned. > > Half of the solution is now checked in to CVS. The other half is a bad > hack to workaround a shortcoming in newlib's stdio functions. I'd rather > have a solution in newlib. see my request on the newlib ML: > http://cygwin.com/ml/newlib/2012/msg00188.html Ok, for the time being I checked in my workaround. Please test the today's developer snapshot. THanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-23 17:24 ` Corinna Vinschen @ 2012-05-23 17:44 ` David Rothenberger 2012-05-23 18:26 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: David Rothenberger @ 2012-05-23 17:44 UTC (permalink / raw) To: cygwin On 5/23/2012 10:18 AM, Corinna Vinschen wrote: > On May 23 18:06, Corinna Vinschen wrote: >> On May 23 10:52, Corinna Vinschen wrote: >>> On May 22 15:25, Otto Meta wrote: >>>>>> Testcase cancel deferred: >>>>>> Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 >>>>>> and 1.7.15-1. >>>>> If that works in the snapshot anyway, I'm not going to look into that >>>>> one. >>>> >>>> It worked in the reduced testcase with sem_wait(). With read() itÂ’s >>>> still half-broken. See below. >>>> >>>>>> Testcase cancel asynchronous: >>>>>> Async cancel seems to have no effect with any tested version. >>>>> I think I found a solution for this problem. See the comment in the >>>>> patch at >>>>> http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 >>>>> Please test the today's developer snapshot. >>>> >>>> Asynchronous cancel seems to work as well as deferred cancel now. Thanks. >>>> >>>> Both cancel types work with sem_wait() and pause() now, but for threads >>>> blocked in read() theyÂ’re still unreliable. Only one of three blocked >>>> threads is killed in the attached updated testcases. >>> >>> Just to let you know I'm working on it. This will take some time. >>> During debugging I stumbled over a heisenbug. As soon as I remove the >>> "Thread %i woke up just fine" printf from your test application, the >>> read function reurns with a "Bad address" error. So far I have onlya >>> vague hunch what the cause may be. Stay tuned. >> >> Half of the solution is now checked in to CVS. The other half is a bad >> hack to workaround a shortcoming in newlib's stdio functions. I'd rather >> have a solution in newlib. see my request on the newlib ML: >> http://cygwin.com/ml/newlib/2012/msg00188.html > > Ok, for the time being I checked in my workaround. Please test the > today's developer snapshot. I tried installing this snapshot and found most things hung. Specifically, I ran ash in a Windows cmd window, then tried /bin/echo foo I tried mintty too but bash hangs before I get a prompt. "echo foo" worked fine, though. -- David Rothenberger ---- daveroth@acm.org Glib's Fourth Law of Unreliability: Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some useful work done. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-23 17:44 ` David Rothenberger @ 2012-05-23 18:26 ` Corinna Vinschen 2012-05-23 20:26 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2012-05-23 18:26 UTC (permalink / raw) To: cygwin On May 23 10:42, David Rothenberger wrote: > On 5/23/2012 10:18 AM, Corinna Vinschen wrote: > > On May 23 18:06, Corinna Vinschen wrote: > >> On May 23 10:52, Corinna Vinschen wrote: > >>> On May 22 15:25, Otto Meta wrote: > >>>>>> Testcase cancel deferred: > >>>>>> Works with 1.7.9 and 20120517 snapshot, fails (hangs) with 1.7.12-1 > >>>>>> and 1.7.15-1. > >>>>> If that works in the snapshot anyway, I'm not going to look into that > >>>>> one. > >>>> > >>>> It worked in the reduced testcase with sem_wait(). With read() itâs > >>>> still half-broken. See below. > >>>> > >>>>>> Testcase cancel asynchronous: > >>>>>> Async cancel seems to have no effect with any tested version. > >>>>> I think I found a solution for this problem. See the comment in the > >>>>> patch at > >>>>> http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/thread.cc.diff?cvsroot=src&r1=1.258&r2=1.259 > >>>>> Please test the today's developer snapshot. > >>>> > >>>> Asynchronous cancel seems to work as well as deferred cancel now. Thanks. > >>>> > >>>> Both cancel types work with sem_wait() and pause() now, but for threads > >>>> blocked in read() theyâre still unreliable. Only one of three blocked > >>>> threads is killed in the attached updated testcases. > >>> > >>> Just to let you know I'm working on it. This will take some time. > >>> During debugging I stumbled over a heisenbug. As soon as I remove the > >>> "Thread %i woke up just fine" printf from your test application, the > >>> read function reurns with a "Bad address" error. So far I have onlya > >>> vague hunch what the cause may be. Stay tuned. > >> > >> Half of the solution is now checked in to CVS. The other half is a bad > >> hack to workaround a shortcoming in newlib's stdio functions. I'd rather > >> have a solution in newlib. see my request on the newlib ML: > >> http://cygwin.com/ml/newlib/2012/msg00188.html > > > > Ok, for the time being I checked in my workaround. Please test the > > today's developer snapshot. > > I tried installing this snapshot and found most things hung. > Specifically, I ran ash in a Windows cmd window, then tried > > /bin/echo foo > > I tried mintty too but bash hangs before I get a prompt. Big fat sigh. This all worked fine while debugging. Just that the snapshot is built with optimization and my debugging version is not. Ok, back to the drawing board. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-23 18:26 ` Corinna Vinschen @ 2012-05-23 20:26 ` Corinna Vinschen 2012-05-24 5:52 ` David Rothenberger 2012-05-24 10:36 ` Otto Meta 0 siblings, 2 replies; 24+ messages in thread From: Corinna Vinschen @ 2012-05-23 20:26 UTC (permalink / raw) To: cygwin On May 23 19:54, Corinna Vinschen wrote: > On May 23 10:42, David Rothenberger wrote: > > On 5/23/2012 10:18 AM, Corinna Vinschen wrote: > > > Ok, for the time being I checked in my workaround. Please test the > > > today's developer snapshot. > > > > I tried installing this snapshot and found most things hung. > > Specifically, I ran ash in a Windows cmd window, then tried > > > > /bin/echo foo > > > > I tried mintty too but bash hangs before I get a prompt. > > Big fat sigh. This all worked fine while debugging. Just that the > snapshot is built with optimization and my debugging version is not. > Ok, back to the drawing board. I think I found the problem. I've uploaded a new snapshot. Please give it a try. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-23 20:26 ` Corinna Vinschen @ 2012-05-24 5:52 ` David Rothenberger 2012-05-24 7:07 ` Corinna Vinschen 2012-05-24 10:36 ` Otto Meta 1 sibling, 1 reply; 24+ messages in thread From: David Rothenberger @ 2012-05-24 5:52 UTC (permalink / raw) To: cygwin On 5/23/2012 1:10 PM, Corinna Vinschen wrote: > On May 23 19:54, Corinna Vinschen wrote: >> On May 23 10:42, David Rothenberger wrote: >>> On 5/23/2012 10:18 AM, Corinna Vinschen wrote: >>>> Ok, for the time being I checked in my workaround. Please test the >>>> today's developer snapshot. >>> >>> I tried installing this snapshot and found most things hung. >>> Specifically, I ran ash in a Windows cmd window, then tried >>> >>> /bin/echo foo >>> >>> I tried mintty too but bash hangs before I get a prompt. >> >> Big fat sigh. This all worked fine while debugging. Just that the >> snapshot is built with optimization and my debugging version is not. >> Ok, back to the drawing board. > > I think I found the problem. I've uploaded a new snapshot. Please give > it a try. Works for me now. I also ran the libapr1 tests in case this touched any of the various mutex stuff and they all passed, too. -- David Rothenberger ---- daveroth@acm.org bug, n: A son of a glitch. -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-24 5:52 ` David Rothenberger @ 2012-05-24 7:07 ` Corinna Vinschen 0 siblings, 0 replies; 24+ messages in thread From: Corinna Vinschen @ 2012-05-24 7:07 UTC (permalink / raw) To: cygwin On May 23 13:33, David Rothenberger wrote: > On 5/23/2012 1:10 PM, Corinna Vinschen wrote: > > On May 23 19:54, Corinna Vinschen wrote: > >> On May 23 10:42, David Rothenberger wrote: > >>> On 5/23/2012 10:18 AM, Corinna Vinschen wrote: > >>>> Ok, for the time being I checked in my workaround. Please test the > >>>> today's developer snapshot. > >>> > >>> I tried installing this snapshot and found most things hung. > >>> Specifically, I ran ash in a Windows cmd window, then tried > >>> > >>> /bin/echo foo > >>> > >>> I tried mintty too but bash hangs before I get a prompt. > >> > >> Big fat sigh. This all worked fine while debugging. Just that the > >> snapshot is built with optimization and my debugging version is not. > >> Ok, back to the drawing board. > > > > I think I found the problem. I've uploaded a new snapshot. Please give > > it a try. > > Works for me now. I also ran the libapr1 tests in case this touched any > of the various mutex stuff and they all passed, too. Thanks! Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-23 20:26 ` Corinna Vinschen 2012-05-24 5:52 ` David Rothenberger @ 2012-05-24 10:36 ` Otto Meta 2012-05-24 10:59 ` Otto Meta 1 sibling, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-24 10:36 UTC (permalink / raw) To: cygwin, cygwin [-- Attachment #1: Type: text/plain, Size: 375 bytes --] > I think I found the problem. I've uploaded a new snapshot. Please give > it a try. My testcases for asynchronous and deferred cancel work on threads blocked in sem_wait() but still fail mostly on threads blocked in read(STDIN_FILENO, ...), same as before. Sorry about that. $ uname -v 20120523 21:51:34 Fresh output of cygcheck -s -v -r attached, if that helps. Otto [-- Attachment #2: cygcheck.out --] [-- Type: text/plain, Size: 31171 bytes --] Cygwin Configuration Diagnostics Current System Time: Thu May 24 10:47:11 2012 Windows 7 Enterprise Ver 6.1 Build 7601 Service Pack 1 Running under WOW64 on AMD64 Path: D:\Software\cygwin\usr\local\bin D:\Software\cygwin\bin C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin C:\WinAVR-20100110\bin C:\WinAVR-20100110\utils\bin C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0 C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared C:\Program Files (x86)\Common Files\Roxio Shared\9.0\DLLShared C:\Program Files\MATLAB\R2008a\bin C:\Program Files\MATLAB\R2008a\bin\win64 C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn C:\Program Files (x86)\IVI Foundation\IVI\bin C:\Program Files\IVI Foundation\IVI\bin C:\Program Files (x86)\IVI Foundation\VISA\winnt\agvisa C:\Program Files (x86)\IVI Foundation\VISA\winnt\bin C:\Program Files (x86)\NASM C:\Program Files (x86)\Atmel\Flip 3.4.1\bin D:\Software\Python3.2 Output from D:\Software\cygwin\bin\id.exe UID: 1000(MBA) GID: 513(None) =513(None) 545(Benutzer) 1005(Debuggerbenutzer) SysDir: C:\Windows\system32 WinDir: C:\Windows USER = 'MBA' PWD = '/tmp' HOME = '/home/MBA' HOMEPATH = '\Users\MBA' MANPATH = '/usr/local/man:/usr/share/man:/usr/man:' APPDATA = 'C:\Users\MBA\AppData\Roaming' ProgramW6432 = 'C:\Program Files' HOSTNAME = 'TempleOfTheDog' SHELL = '/bin/bash' TERM = 'cygwin' RoxioCentral = 'C:\Program Files (x86)\Common Files\Roxio Shared\9.0\Roxio Central33\' PROCESSOR_IDENTIFIER = 'Intel64 Family 6 Model 23 Stepping 10, GenuineIntel' WINDIR = 'C:\Windows' VXIPNPPATH64 = 'C:\Program Files\IVI Foundation\VISA\' PUBLIC = 'C:\Users\Public' OLDPWD = '/tmp' USERDOMAIN = 'TEMPLEOFTHEDOG' CommonProgramFiles(x86) = 'C:\Program Files (x86)\Common Files' OS = 'Windows_NT' ALLUSERSPROFILE = 'C:\ProgramData' !:: = '::\' temp = 'C:\Users\MBA\AppData\Local\Temp' VS90COMNTOOLS = 'C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\' COMMONPROGRAMFILES = 'C:\Program Files (x86)\Common Files' tmp = 'C:\Users\MBA\AppData\Local\Temp' VXIPNPPATH = 'C:\Program Files (x86)\IVI Foundation\VISA\' USERNAME = 'MBA' PROCESSOR_LEVEL = '6' ProgramFiles(x86) = 'C:\Program Files (x86)' PSModulePath = 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\' IVIROOTDIR32 = 'C:\Program Files (x86)\IVI Foundation\IVI\' FP_NO_HOST_CHECK = 'NO' CARBON_MEM_DISABLE = '1' SYSTEMDRIVE = 'C:' PROCESSOR_ARCHITEW6432 = 'AMD64' LANG = 'de_DE.UTF-8' USERPROFILE = 'C:\Users\MBA' TZ = 'Europe/Berlin' PS1 = '\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ ' LOGONSERVER = '\\TEMPLEOFTHEDOG' CommonProgramW6432 = 'C:\Program Files\Common Files' PROCESSOR_ARCHITECTURE = 'x86' LOCALAPPDATA = 'C:\Users\MBA\AppData\Local' HISTCONTROL = 'ignoredups' ProgramData = 'C:\ProgramData' SHLVL = '1' IVIROOTDIR64 = 'C:\Program Files\IVI Foundation\IVI\' PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC' HOMEDRIVE = 'C:' !D: = 'D:\Software\cygwin\bin' PROMPT = '$P$G' COMSPEC = 'C:\Windows\system32\cmd.exe' SYSTEMROOT = 'C:\Windows' PRINTER = 'KONICA MINOLTA Universal PS' PROCESSOR_REVISION = '170a' UGII_3DCONNEXION_LIBRARY = '%UGII_BASE_DIR%\ugalliance\vendor\startup\3DxNX.dll' INFOPATH = '/usr/local/info:/usr/share/info:/usr/info:' PROGRAMFILES = 'C:\Program Files (x86)' NUMBER_OF_PROCESSORS = '2' AVR32_HOME = 'C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain' SESSIONNAME = 'Console' COMPUTERNAME = 'TEMPLEOFTHEDOG' _ = '/usr/bin/cygcheck' HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2 HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options HKEY_CURRENT_USER\Software\Cygwin HKEY_CURRENT_USER\Software\Cygwin\Installations (default) = '\??\D:\Software\cygwin' HKEY_CURRENT_USER\Software\Cygwin\Program Options HKEY_CURRENT_USER\Software\Cygwin\setup HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2 HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Installations (default) = '\??\D:\Software\cygwin' HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Program Options HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup (default) = 'D:\Software\cygwin' obcaseinsensitive set to 1 Cygwin installations found in the registry: System: Key: d1d85fb7bc451065 Path: D:\Software\cygwin User: Key: d1d85fb7bc451065 Path: D:\Software\cygwin c: hd NTFS 76837Mb 64% CP CS UN PA FC Windows-System d: hd NTFS 399999Mb 15% CP CS UN PA FC Daten e: cd N/A N/A D:\Software\cygwin / system binary,auto D:\Software\cygwin\bin /usr/bin system binary,auto D:\Software\cygwin\lib /usr/lib system binary,auto cygdrive prefix /cygdrive user binary,auto Found: D:\Software\cygwin\bin\awk -> D:\Software\cygwin\bin\gawk.exe Found: D:\Software\cygwin\bin\bash.exe Found: D:\Software\cygwin\bin\cat.exe Found: C:\WinAVR-20100110\utils\bin\cat.exe Warning: D:\Software\cygwin\bin\cat.exe hides C:\WinAVR-20100110\utils\bin\cat.exe Found: D:\Software\cygwin\bin\cp.exe Found: C:\WinAVR-20100110\utils\bin\cp.exe Warning: D:\Software\cygwin\bin\cp.exe hides C:\WinAVR-20100110\utils\bin\cp.exe Found: D:\Software\cygwin\bin\cpp.exe -> D:\Software\cygwin\etc\alternatives\cpp -> D:\Software\cygwin\bin\cpp-4.exe Not Found: crontab Found: D:\Software\cygwin\bin\find.exe Found: C:\WinAVR-20100110\utils\bin\find.exe Warning: D:\Software\cygwin\bin\find.exe hides C:\WinAVR-20100110\utils\bin\find.exe Found: C:\Windows\system32\find.exe Warning: D:\Software\cygwin\bin\find.exe hides C:\Windows\system32\find.exe Found: D:\Software\cygwin\bin\gcc.exe -> D:\Software\cygwin\etc\alternatives\gcc -> D:\Software\cygwin\bin\gcc-4.exe Not Found: gdb Found: D:\Software\cygwin\bin\grep.exe Found: C:\WinAVR-20100110\utils\bin\grep.exe Warning: D:\Software\cygwin\bin\grep.exe hides C:\WinAVR-20100110\utils\bin\grep.exe Found: D:\Software\cygwin\bin\kill.exe Found: D:\Software\cygwin\bin\ld.exe Found: D:\Software\cygwin\bin\ls.exe Found: C:\WinAVR-20100110\utils\bin\ls.exe Warning: D:\Software\cygwin\bin\ls.exe hides C:\WinAVR-20100110\utils\bin\ls.exe Found: D:\Software\cygwin\bin\make.exe Found: C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\make.exe Warning: D:\Software\cygwin\bin\make.exe hides C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\make.exe Found: C:\WinAVR-20100110\utils\bin\make.exe Warning: D:\Software\cygwin\bin\make.exe hides C:\WinAVR-20100110\utils\bin\make.exe Found: D:\Software\cygwin\bin\mv.exe Found: C:\WinAVR-20100110\utils\bin\mv.exe Warning: D:\Software\cygwin\bin\mv.exe hides C:\WinAVR-20100110\utils\bin\mv.exe Found: C:\WinAVR-20100110\utils\bin\patch.exe Found: D:\Software\cygwin\bin\perl.exe Found: D:\Software\cygwin\bin\rm.exe Found: C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\rm.exe Warning: D:\Software\cygwin\bin\rm.exe hides C:\Program Files (x86)\Atmel\AVR Tools\AVR32 Toolchain\bin\rm.exe Found: C:\WinAVR-20100110\utils\bin\rm.exe Warning: D:\Software\cygwin\bin\rm.exe hides C:\WinAVR-20100110\utils\bin\rm.exe Found: D:\Software\cygwin\bin\sed.exe Found: C:\WinAVR-20100110\utils\bin\sed.exe Warning: D:\Software\cygwin\bin\sed.exe hides C:\WinAVR-20100110\utils\bin\sed.exe Not Found: ssh Found: D:\Software\cygwin\bin\sh.exe Found: C:\WinAVR-20100110\utils\bin\sh.exe Warning: D:\Software\cygwin\bin\sh.exe hides C:\WinAVR-20100110\utils\bin\sh.exe Found: D:\Software\cygwin\bin\tar.exe Found: C:\WinAVR-20100110\utils\bin\tar.exe Warning: D:\Software\cygwin\bin\tar.exe hides C:\WinAVR-20100110\utils\bin\tar.exe Found: D:\Software\cygwin\bin\test.exe Found: C:\WinAVR-20100110\utils\bin\test.exe Warning: D:\Software\cygwin\bin\test.exe hides C:\WinAVR-20100110\utils\bin\test.exe Not Found: vi Not Found: vim 14k 2012/05/04 D:\Software\cygwin\bin\cygattr-1.dll - os=4.0 img=1.0 sys=4.0 "cygattr-1.dll" v0.0 ts=2012/5/4 12:35 118k 2012/02/29 D:\Software\cygwin\bin\cygblkid-1.dll - os=4.0 img=1.0 sys=4.0 "cygblkid-1.dll" v0.0 ts=2012/2/29 3:57 62k 2011/05/21 D:\Software\cygwin\bin\cygbz2-1.dll - os=4.0 img=1.0 sys=4.0 "cygbz2-1.dll" v0.0 ts=2011/5/21 20:16 108k 2010/01/05 D:\Software\cygwin\bin\cygcloog-0.dll - os=4.0 img=1.0 sys=4.0 "cygcloog-0.dll" v0.0 ts=2010/1/5 0:45 7k 2012/05/07 D:\Software\cygwin\bin\cygcrypt-0.dll - os=4.0 img=1.0 sys=4.0 "cygcrypt-0.dll" v0.0 ts=2012/5/7 12:18 1246k 2012/04/24 D:\Software\cygwin\bin\cygcrypto-0.9.8.dll - os=4.0 img=1.0 sys=4.0 "cygcrypto-0.9.8.dll" v0.0 ts=2012/4/24 10:06 929k 2011/11/10 D:\Software\cygwin\bin\cygdb-4.5.dll - os=4.0 img=1.0 sys=4.0 "cygdb-4.5.dll" v0.0 ts=2011/11/10 19:52 93k 2011/11/10 D:\Software\cygwin\bin\cygdb_cxx-4.5.dll - os=4.0 img=1.0 sys=4.0 "cygdb_cxx-4.5.dll" v0.0 ts=2011/11/10 19:53 66k 2010/06/02 D:\Software\cygwin\bin\cygelf-0.dll - os=4.0 img=1.0 sys=4.0 "cygelf-0.dll" v0.8 ts=2010/6/2 14:08 118k 2008/05/09 D:\Software\cygwin\bin\cygexpat-1.dll - os=4.0 img=1.0 sys=4.0 "cygexpat-1.dll" v0.0 ts=2008/5/9 5:03 21k 2011/10/26 D:\Software\cygwin\bin\cygffi-4.dll - os=4.0 img=1.0 sys=4.0 "cygffi-4.dll" v0.0 ts=2011/10/23 14:33 175k 2012/02/03 D:\Software\cygwin\bin\cygfontconfig-1.dll - os=4.0 img=1.0 sys=4.0 "cygfontconfig-1.dll" v0.0 ts=2012/2/3 8:53 20k 2010/10/31 D:\Software\cygwin\bin\cygfontenc-1.dll - os=4.0 img=1.0 sys=4.0 "cygfontenc-1.dll" v0.0 ts=2010/10/31 20:19 43k 2010/01/02 D:\Software\cygwin\bin\cygform-10.dll - os=4.0 img=1.0 sys=4.0 "cygform-10.dll" v0.0 ts=2010/1/2 14:49 40k 2009/03/01 D:\Software\cygwin\bin\cygform-8.dll - os=4.0 img=1.0 sys=4.0 "cygform-8.dll" v0.0 ts=2009/3/1 6:32 43k 2009/11/20 D:\Software\cygwin\bin\cygform-9.dll - os=4.0 img=1.0 sys=4.0 "cygform-9.dll" v0.0 ts=2009/11/20 19:14 47k 2010/01/02 D:\Software\cygwin\bin\cygformw-10.dll - os=4.0 img=1.0 sys=4.0 "cygformw-10.dll" v0.0 ts=2010/1/2 17:31 505k 2012/03/27 D:\Software\cygwin\bin\cygfreetype-6.dll - os=4.0 img=1.0 sys=4.0 "cygfreetype-6.dll" v0.0 ts=2012/3/27 5:27 79k 2011/10/26 D:\Software\cygwin\bin\cyggcc_s-1.dll - os=4.0 img=1.0 sys=4.0 "cyggcc_s-1.dll" v0.0 ts=2011/10/23 14:15 449k 2011/05/20 D:\Software\cygwin\bin\cyggcrypt-11.dll - os=4.0 img=1.0 sys=4.0 "cyggcrypt-11.dll" v0.0 ts=2011/5/20 3:29 19k 2009/02/26 D:\Software\cygwin\bin\cyggdbm-4.dll - os=4.0 img=1.0 sys=4.0 "cyggdbm-4.dll" v0.0 ts=2009/2/26 7:58 8k 2009/02/26 D:\Software\cygwin\bin\cyggdbm_compat-4.dll - os=4.0 img=1.0 sys=4.0 "cyggdbm_compat-4.dll" v0.0 ts=2009/2/26 7:58 325k 2012/02/05 D:\Software\cygwin\bin\cygGL-1.dll - os=4.0 img=1.0 sys=4.0 "cygGL-1.dll" v0.0 ts=2012/2/5 7:13 159k 2012/02/05 D:\Software\cygwin\bin\cygglapi-0.dll - os=4.0 img=1.0 sys=4.0 "cygglapi-0.dll" v0.0 ts=2012/2/5 6:58 317k 2011/07/31 D:\Software\cygwin\bin\cyggmp-3.dll - os=4.0 img=1.0 sys=4.0 "cyggmp-3.dll" v0.0 ts=2011/7/31 6:14 14k 2011/07/31 D:\Software\cygwin\bin\cyggmpxx-4.dll - os=4.0 img=1.0 sys=4.0 "cyggmpxx-4.dll" v0.0 ts=2011/7/31 11:31 42k 2011/10/26 D:\Software\cygwin\bin\cyggomp-1.dll - os=4.0 img=1.0 sys=4.0 "cyggomp-1.dll" v0.0 ts=2011/10/23 14:21 14k 2011/05/20 D:\Software\cygwin\bin\cyggpg-error-0.dll - os=4.0 img=1.0 sys=4.0 "cyggpg-error-0.dll" v0.0 ts=2011/5/20 3:04 25k 2012/05/04 D:\Software\cygwin\bin\cyghistory7.dll - os=4.0 img=1.0 sys=4.0 "cyghistory7.dll" v0.0 ts=2012/5/4 22:07 74k 2010/10/31 D:\Software\cygwin\bin\cygICE-6.dll - os=4.0 img=1.0 sys=4.0 "cygICE-6.dll" v0.0 ts=2010/10/31 20:18 358k 2012/04/14 D:\Software\cygwin\bin\cygicons-0.dll - os=4.0 img=1.4 sys=4.0 "cygicons-0.dll" v0.0 ts=2012/4/14 2:48 985k 2011/10/16 D:\Software\cygwin\bin\cygiconv-2.dll - os=4.0 img=1.0 sys=4.0 "cygiconv-2.dll" v0.0 ts=2011/10/16 18:01 31k 2005/11/20 D:\Software\cygwin\bin\cygintl-3.dll - os=4.0 img=1.0 sys=4.0 "cygintl-3.dll" v0.0 ts=2005/11/20 2:04 35k 2011/10/16 D:\Software\cygwin\bin\cygintl-8.dll - os=4.0 img=1.0 sys=4.0 "cygintl-8.dll" v0.0 ts=2011/10/16 6:38 12928k 2012/01/24 D:\Software\cygwin\bin\cygLLVM-3.0.dll - os=4.0 img=1.0 sys=4.0 "cygLLVM-3.0.dll" v0.0 ts=2012/1/24 12:03 5k 2012/05/09 D:\Software\cygwin\bin\cyglsa.dll - os=4.0 img=1.0 sys=4.0 "cyglsa.dll" v0.0 ts=2012/5/9 9:26 9k 2012/05/09 D:\Software\cygwin\bin\cyglsa64.dll - os=5.2 img=0.0 sys=5.2 125k 2010/04/09 D:\Software\cygwin\bin\cyglzma-1.dll - os=4.0 img=1.0 sys=4.0 "cyglzma-1.dll" v0.0 ts=2010/4/9 16:54 123k 2011/05/19 D:\Software\cygwin\bin\cyglzma-5.dll - os=4.0 img=1.0 sys=4.0 "cyglzma-5.dll" v0.0 ts=2011/5/19 3:41 94k 2012/04/22 D:\Software\cygwin\bin\cygmagic-1.dll - os=4.0 img=1.0 sys=4.0 "cygmagic-1.dll" v0.0 ts=2012/4/22 19:09 25k 2010/01/02 D:\Software\cygwin\bin\cygmenu-10.dll - os=4.0 img=1.0 sys=4.0 "cygmenu-10.dll" v0.0 ts=2010/1/2 14:48 21k 2009/03/01 D:\Software\cygwin\bin\cygmenu-8.dll - os=4.0 img=1.0 sys=4.0 "cygmenu-8.dll" v0.0 ts=2009/3/1 6:31 25k 2009/11/20 D:\Software\cygwin\bin\cygmenu-9.dll - os=4.0 img=1.0 sys=4.0 "cygmenu-9.dll" v0.0 ts=2009/11/20 19:13 25k 2010/01/02 D:\Software\cygwin\bin\cygmenuw-10.dll - os=4.0 img=1.0 sys=4.0 "cygmenuw-10.dll" v0.0 ts=2010/1/2 17:30 213k 2011/07/31 D:\Software\cygwin\bin\cygmp-3.dll - os=4.0 img=1.0 sys=4.0 "cygmp-3.dll" v0.0 ts=2011/7/31 6:12 64k 2009/11/09 D:\Software\cygwin\bin\cygmpc-1.dll - os=4.0 img=1.0 sys=4.0 "cygmpc-1.dll" v0.0 ts=2009/11/9 1:21 269k 2009/06/07 D:\Software\cygwin\bin\cygmpfr-1.dll - os=4.0 img=1.0 sys=4.0 "cygmpfr-1.dll" v0.0 ts=2009/6/7 22:10 1102k 2011/08/07 D:\Software\cygwin\bin\cygmpfr-4.dll - os=4.0 img=1.0 sys=4.0 "cygmpfr-4.dll" v0.0 ts=2011/8/7 2:47 63k 2010/01/02 D:\Software\cygwin\bin\cygncurses++-10.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++-10.dll" v0.0 ts=2010/1/2 15:00 66k 2009/03/01 D:\Software\cygwin\bin\cygncurses++-8.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++-8.dll" v0.0 ts=2009/3/1 6:39 63k 2009/11/20 D:\Software\cygwin\bin\cygncurses++-9.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++-9.dll" v0.0 ts=2009/11/20 19:25 63k 2010/01/02 D:\Software\cygwin\bin\cygncurses++w-10.dll - os=4.0 img=1.0 sys=4.0 "cygncurses++w-10.dll" v0.0 ts=2010/1/2 17:41 195k 2010/01/02 D:\Software\cygwin\bin\cygncurses-10.dll - os=4.0 img=1.0 sys=4.0 "cygncurses-10.dll" v0.0 ts=2010/1/2 14:45 237k 2009/03/01 D:\Software\cygwin\bin\cygncurses-8.dll - os=4.0 img=1.0 sys=4.0 "cygncurses-8.dll" v0.0 ts=2009/3/1 6:28 198k 2009/11/20 D:\Software\cygwin\bin\cygncurses-9.dll - os=4.0 img=1.0 sys=4.0 "cygncurses-9.dll" v0.0 ts=2009/11/20 19:10 244k 2010/01/02 D:\Software\cygwin\bin\cygncursesw-10.dll - os=4.0 img=1.0 sys=4.0 "cygncursesw-10.dll" v0.0 ts=2010/1/2 17:28 13k 2010/01/02 D:\Software\cygwin\bin\cygpanel-10.dll - os=4.0 img=1.0 sys=4.0 "cygpanel-10.dll" v0.0 ts=2010/1/2 14:47 11k 2009/03/01 D:\Software\cygwin\bin\cygpanel-8.dll - os=4.0 img=1.0 sys=4.0 "cygpanel-8.dll" v0.0 ts=2009/3/1 6:30 13k 2009/11/20 D:\Software\cygwin\bin\cygpanel-9.dll - os=4.0 img=1.0 sys=4.0 "cygpanel-9.dll" v0.0 ts=2009/11/20 19:12 13k 2010/01/02 D:\Software\cygwin\bin\cygpanelw-10.dll - os=4.0 img=1.0 sys=4.0 "cygpanelw-10.dll" v0.0 ts=2010/1/2 16:30 255k 2012/02/10 D:\Software\cygwin\bin\cygpcre-0.dll - os=4.0 img=1.0 sys=4.0 "cygpcre-0.dll" v0.0 ts=2012/2/10 10:24 1627k 2010/08/29 D:\Software\cygwin\bin\cygperl5_10.dll - os=4.0 img=1.0 sys=4.0 "cygperl5_10.dll" v0.0 ts=2010/8/28 19:17 509k 2012/03/12 D:\Software\cygwin\bin\cygpixman-1-0.dll - os=4.0 img=1.0 sys=4.0 "cygpixman-1-0.dll" v0.0 ts=2012/3/12 11:06 22k 2002/06/09 D:\Software\cygwin\bin\cygpopt-0.dll - os=4.0 img=1.0 sys=4.0 "cygpopt-0.dll" v0.0 ts=2002/6/9 6:45 695k 2009/04/18 D:\Software\cygwin\bin\cygppl-7.dll - os=4.0 img=1.0 sys=4.0 "cygppl-7.dll" v0.0 ts=2009/4/18 13:44 2481k 2009/04/18 D:\Software\cygwin\bin\cygppl_c-2.dll - os=4.0 img=1.0 sys=4.0 "cygppl_c-2.dll" v0.0 ts=2009/4/18 13:47 18k 2009/04/18 D:\Software\cygwin\bin\cygpwl-4.dll - os=4.0 img=1.0 sys=4.0 "cygpwl-4.dll" v0.0 ts=2009/4/18 13:44 162k 2012/05/04 D:\Software\cygwin\bin\cygreadline7.dll - os=4.0 img=1.0 sys=4.0 "cygreadline7.dll" v0.0 ts=2012/5/4 22:07 8k 2011/05/05 D:\Software\cygwin\bin\cygsigsegv-2.dll - os=4.0 img=1.0 sys=4.0 "cygsigsegv-2.dll" v0.0 ts=2011/5/5 8:33 25k 2010/10/31 D:\Software\cygwin\bin\cygSM-6.dll - os=4.0 img=1.0 sys=4.0 "cygSM-6.dll" v0.0 ts=2010/10/31 20:24 1613k 2010/12/01 D:\Software\cygwin\bin\cygsqlite3-0.dll - os=4.0 img=1.0 sys=4.0 "cygsqlite3-0.dll" v0.0 ts=2010/12/1 12:20 282k 2012/04/24 D:\Software\cygwin\bin\cygssl-0.9.8.dll - os=4.0 img=1.0 sys=4.0 "cygssl-0.9.8.dll" v0.0 ts=2012/4/24 10:06 8k 2011/10/26 D:\Software\cygwin\bin\cygssp-0.dll - os=4.0 img=1.0 sys=4.0 "cygssp-0.dll" v0.0 ts=2011/10/23 14:33 780k 2011/10/26 D:\Software\cygwin\bin\cygstdc++-6.dll - os=4.0 img=1.0 sys=4.0 "cygstdc++-6.dll" v0.0 ts=2011/10/23 14:58 48k 2010/01/02 D:\Software\cygwin\bin\cygtic-10.dll - os=4.0 img=1.0 sys=4.0 "cygtic-10.dll" v0.0 ts=2010/1/2 14:45 48k 2009/11/20 D:\Software\cygwin\bin\cygtic-9.dll - os=4.0 img=1.0 sys=4.0 "cygtic-9.dll" v0.0 ts=2009/11/20 19:10 48k 2010/01/02 D:\Software\cygwin\bin\cygticw-10.dll - os=4.0 img=1.0 sys=4.0 "cygticw-10.dll" v0.0 ts=2010/1/2 17:28 13k 2012/02/29 D:\Software\cygwin\bin\cyguuid-1.dll - os=4.0 img=1.0 sys=4.0 "cyguuid-1.dll" v0.0 ts=2012/2/29 3:56 2235k 2012/05/09 D:\Software\cygwin\bin\cygwin1-1.7.15-1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2012/5/9 9:25 2780k 2012/05/22 D:\Software\cygwin\bin\cygwin1-oldsnap.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2012/5/22 11:32 1045k 2011/08/22 D:\Software\cygwin\bin\cygX11-6.dll - os=4.0 img=1.0 sys=4.0 "cygX11-6.dll" v0.0 ts=2011/8/22 9:25 6k 2011/08/22 D:\Software\cygwin\bin\cygX11-xcb-1.dll - os=4.0 img=1.0 sys=4.0 "cygX11-xcb-1.dll" v0.0 ts=2011/8/22 9:26 11k 2010/08/03 D:\Software\cygwin\bin\cygXau-6.dll - os=4.0 img=1.0 sys=4.0 "cygXau-6.dll" v0.0 ts=2010/8/3 1:32 337k 2011/02/04 D:\Software\cygwin\bin\cygXaw-7.dll - os=4.0 img=1.0 sys=4.0 "cygXaw-7.dll" v0.0 ts=2011/2/4 7:02 75k 2010/12/21 D:\Software\cygwin\bin\cygxcb-1.dll - os=4.0 img=1.0 sys=4.0 "cygxcb-1.dll" v0.0 ts=2010/12/21 1:36 51k 2010/12/21 D:\Software\cygwin\bin\cygxcb-glx-0.dll - os=4.0 img=1.0 sys=4.0 "cygxcb-glx-0.dll" v0.0 ts=2010/12/21 1:36 17k 2010/10/31 D:\Software\cygwin\bin\cygXdmcp-6.dll - os=4.0 img=1.0 sys=4.0 "cygXdmcp-6.dll" v0.0 ts=2010/10/31 20:29 52k 2011/05/23 D:\Software\cygwin\bin\cygXext-6.dll - os=4.0 img=1.0 sys=4.0 "cygXext-6.dll" v0.0 ts=2011/5/23 9:32 66k 2010/11/01 D:\Software\cygwin\bin\cygXft-2.dll - os=4.0 img=1.0 sys=4.0 "cygXft-2.dll" v0.0 ts=2010/11/1 2:10 119k 2010/11/01 D:\Software\cygwin\bin\cygxkbfile-1.dll - os=4.0 img=1.0 sys=4.0 "cygxkbfile-1.dll" v0.0 ts=2010/11/1 2:33 75k 2010/11/01 D:\Software\cygwin\bin\cygXmu-6.dll - os=4.0 img=1.0 sys=4.0 "cygXmu-6.dll" v0.0 ts=2010/11/1 2:19 11k 2010/11/01 D:\Software\cygwin\bin\cygXmuu-1.dll - os=4.0 img=1.0 sys=4.0 "cygXmuu-1.dll" v0.0 ts=2010/11/1 2:19 53k 2010/11/01 D:\Software\cygwin\bin\cygXpm-4.dll - os=4.0 img=1.0 sys=4.0 "cygXpm-4.dll" v0.0 ts=2010/11/1 2:19 32k 2010/08/03 D:\Software\cygwin\bin\cygXrender-1.dll - os=4.0 img=1.0 sys=4.0 "cygXrender-1.dll" v0.0 ts=2010/8/3 5:48 278k 2011/06/07 D:\Software\cygwin\bin\cygXt-6.dll - os=4.0 img=1.0 sys=4.0 "cygXt-6.dll" v0.0 ts=2011/6/7 4:40 76k 2010/08/01 D:\Software\cygwin\bin\cygz.dll - os=4.0 img=1.0 sys=4.0 "cygz.dll" v0.0 ts=2010/8/1 22:04 2782k 2012/05/24 D:\Software\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2012/5/23 20:54 Cygwin DLL version info: DLL version: 1.7.16 DLL epoch: 19 DLL old termios: 5 DLL malloc env: 28 Cygwin conv: 181 API major: 0 API minor: 261 Shared data: 5 DLL identifier: cygwin1 Mount registry: 3 Cygwin registry name: Cygwin Program options name: Program Options Installations name: Installations Cygdrive default prefix: Build date: Snapshot date: 20120523-21:51:34 Shared id: cygwin1S5 1829k 2010/01/19 C:\WinAVR-20100110\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0 "cygwin1.dll" v0.0 ts=2008/6/12 18:35 Cygwin DLL version info: DLL version: 1.5.25 DLL epoch: 19 DLL bad signal mask: 19005 DLL old termios: 5 DLL malloc env: 28 API major: 0 API minor: 156 Shared data: 4 DLL identifier: cygwin1 Mount registry: 2 Cygnus registry name: Cygnus Solutions Cygwin registry name: Cygwin Program options name: Program Options Cygwin mount registry name: mounts v2 Cygdrive flags: cygdrive flags Cygdrive prefix: cygdrive prefix Cygdrive default prefix: Build date: Thu Jun 12 19:34:46 CEST 2008 CVS tag: cr-0x5f1 Shared id: cygwin1S4 Warning: There are multiple cygwin1.dlls on your path Can't find the cygrunsrv utility, skipping services check. Cygwin Package Information Last downloaded files to: D:\Software\cygwin-install Last downloaded files from: http://linux.rz.ruhr-uni-bochum.de/download/cygwin/ Package Version Status _autorebase 000062-1 OK _update-info-dir 01049-1 OK alternatives 1.3.30c-10 OK base-cygwin 3.1-1 OK base-files 4.1-1 OK Empty package base-passwd base-passwd 3.1-2 OK bash 4.1.10-4 OK binutils 2.22.51-2 OK bzip2 1.0.6-2 OK coreutils 8.15-1 OK crypt 1.2-1 OK cygutils 1.4.10-2 OK cygwin 1.7.15-1 OK cygwin-doc 1.7-1 OK dash 0.5.7-1 OK diffutils 3.2-1 OK dos2unix 6.0-1 OK dri-drivers 7.11.2-1 OK editrights 1.01-2 OK file 5.11-1 OK findutils 4.5.9-2 OK flawfinder 1.27-2 OK font-adobe-dpi75 1.0.2-1 OK font-alias 1.0.3-1 OK font-encodings 1.0.4-1 OK font-misc-misc 1.1.1-1 OK fontconfig 2.8.0-2 OK gawk 4.0.1-1 OK Empty package gcc4 gcc4 4.5.3-3 OK Missing file: /usr/share/locale/be/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/da/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/de/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/el/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/es/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/fr/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/ja/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/nl/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/sv/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/locale/tr/LC_MESSAGES/gcc.mo from package gcc4-core Missing file: /usr/share/info/cpp.info.gz from package gcc4-core Missing file: /usr/share/info/cppinternals.info.gz from package gcc4-core Missing file: /usr/share/info/gcc.info.gz from package gcc4-core Missing file: /usr/share/info/gccinstall.info.gz from package gcc4-core Missing file: /usr/share/info/gccint.info.gz from package gcc4-core Missing file: /usr/share/man/man7/fsf-funding.7.gz from package gcc4-core Missing file: /usr/share/man/man7/gfdl.7.gz from package gcc4-core Missing file: /usr/share/man/man7/gpl.7.gz from package gcc4-core gcc4-core 4.5.3-3 Incomplete gcc4-g++ 4.5.3-3 OK gettext 0.18.1.1-2 OK grep 2.6.3-1 OK groff 1.21-2 OK gzip 1.4-1 OK ipc-utils 1.0-1 OK less 444-1 OK libattr1 2.4.46-1 OK libblkid1 2.21-1 OK libbz2_1 1.0.6-2 OK libcloog0 0.15.7-1 OK libdb4.5 4.5.20.2-3 OK libelf0 0.8.13-2 OK libelf0-devel 0.8.13-2 OK libexpat1 2.0.1-1 OK libffi4 4.5.3-3 OK libfontconfig1 2.8.0-2 OK libfontenc1 1.1.0-1 OK libfreetype6 2.4.9-2 OK libgcc1 4.5.3-3 OK libgcrypt11 1.4.6-1 OK libgdbm4 1.8.3-20 OK libGL1 7.11.2-1 OK libglapi0 7.11.2-1 OK libgmp3 4.3.2-1 OK libgmpxx4 4.3.2-1 OK libgomp1 4.5.3-3 OK libgpg-error0 1.10-1 OK libICE6 1.0.7-1 OK libiconv2 1.14-2 OK libintl3 0.14.5-1 OK libintl8 0.18.1.1-2 OK libllvm3.0 3.0-1 OK liblzma1 4.999.9beta-11 OK liblzma5 5.0.2_20110517-1 OK libmpc1 0.8-1 OK libmpfr1 2.4.1-4 OK libmpfr4 3.0.1-1 OK libncurses10 5.7-18 OK libncurses8 5.5-10 OK libncurses9 5.7-16 OK libncursesw10 5.7-18 OK libopenssl098 0.9.8w-1 OK libpcre0 8.21-2 OK libpixman1_0 0.24.4-1 OK libpopt0 1.6.4-4 OK libppl 0.10.2-1 OK libreadline7 6.1.2-3 OK libsigsegv2 2.10-1 OK libSM6 1.2.0-1 OK libsqlite3_0 3.7.3-1 OK libssp0 4.5.3-3 OK libstdc++6 4.5.3-3 OK libstdc++6-devel 4.5.3-3 OK libuuid1 2.21-1 OK libX11-xcb1 1.4.4-1 OK libX11_6 1.4.4-1 OK libXau6 1.0.6-1 OK libXaw7 1.0.9-1 OK libxcb-glx0 1.7-2 OK libxcb1 1.7-2 OK libXdmcp6 1.1.0-1 OK libXext6 1.3.0-1 OK libXft2 2.2.0-1 OK libxkbfile1 1.0.7-1 OK libXmu6 1.1.0-1 OK libXmuu1 1.1.0-1 OK libXpm4 3.5.9-1 OK libXrender1 0.9.6-1 OK libXt6 1.1.1-1 OK login 1.10-10 OK luit 1.1.0-1 OK make 3.82.90-1 OK man 1.6g-1 OK mingw-runtime 3.20-1 OK mingw-w32api 3.17-2 OK mingw64-i686-binutils 2.22.51-3 OK mingw64-i686-headers 3.0b_svn4913-1 OK mingw64-i686-pthreads 20100619-4 OK mingw64-i686-runtime 3.0b_svn4913-1 OK mintty 1.0.3-1 OK mkfontdir 1.0.6-1 OK mkfontscale 1.0.9-1 OK nano 2.2.5-1 OK perl 5.10.1-5 OK python 2.6.7-1 OK rebase 4.1.0-1 OK rsync 3.0.9-1 OK run 1.1.13-1 OK sed 4.2.1-2 OK setxkbmap 1.2.0-1 OK tar 1.25-1 OK terminfo 5.7_20091114-14 OK terminfo0 5.5_20061104-12 OK texinfo 4.13-4 OK tzcode 2012b-1 OK util-linux 2.21-1 OK w32api 3.17-2 OK which 2.20-2 OK xauth 1.0.6-1 OK xcursor-themes 1.0.3-1 OK xf86-video-dummy 0.3.5-1 OK xf86-video-nested 0.1.0-1 OK xhost 1.0.4-1 OK xkbcomp 1.2.3-1 OK xkeyboard-config 2.5.1-1 OK xmodmap 1.0.5-1 OK xorg-server 1.12.1-1 OK xorg-server-common 1.12.1-1 OK xrdb 1.0.9-1 OK xterm 278-1 OK xz 5.0.2_20110517-1 OK zlib 1.2.5-1 OK zlib-devel 1.2.5-1 OK zlib0 1.2.5-1 OK Use -h to see help about each section [-- Attachment #3: Type: text/plain, Size: 218 bytes --] -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-24 10:36 ` Otto Meta @ 2012-05-24 10:59 ` Otto Meta 2012-05-24 11:21 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-24 10:59 UTC (permalink / raw) To: cygwin > My testcases for asynchronous and deferred cancel work on threads > blocked in sem_wait() but still fail mostly on threads blocked in > read(STDIN_FILENO, ...), same as before. Sorry about that. I spoke too soon. There seems to be some kind of runtime decay and a dependency on semaphore.h. Running the same test or the two tests alternating works for about three times just as expected but further runs fail as before. A reboot fixes that and gives me another few chances. This only applies to read(). sem_wait() always works. If the test code includes semaphore.h but doesnÂ’t even use any of its functions it fails right away, just like before. A reboot doesnÂ’t help. ItÂ’s getting weirder by the day... Otto -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-24 10:59 ` Otto Meta @ 2012-05-24 11:21 ` Corinna Vinschen 2012-05-24 15:37 ` Otto Meta 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2012-05-24 11:21 UTC (permalink / raw) To: cygwin On May 24 12:35, Otto Meta wrote: > > My testcases for asynchronous and deferred cancel work on threads > > blocked in sem_wait() but still fail mostly on threads blocked in > > read(STDIN_FILENO, ...), same as before. Sorry about that. > > I spoke too soon. There seems to be some kind of runtime decay and a > dependency on semaphore.h. > > Running the same test or the two tests alternating works for about three > times just as expected but further runs fail as before. A reboot fixes > that and gives me another few chances. This only applies to read(). You know that Cygwin is just a user space DLL, right? There's no state information kept in the OS beyond the lifetime of any process using the Cygwin DLL. In case of pthreads, there's no state at all shared with other processes. But even if so, if you stop *all* Cygwin processes and then start another one, all info from the old processes is gone and you should be back to normal. If that's not the case, I would suspect a case of BLODA. > sem_wait() always works. > > If the test code includes semaphore.h but doesnât even use any of its > functions it fails right away, just like before. A reboot doesnât help. Is that with the same "read" testcases you sent two days ago? If so, I can't reproduce it. I ran both tests in a loop, with and without an additional semaphore.h, but to no avail. They both just work. This is under W7 on a dual-core machine. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-24 11:21 ` Corinna Vinschen @ 2012-05-24 15:37 ` Otto Meta 2012-05-24 16:14 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-24 15:37 UTC (permalink / raw) To: cygwin On 2012-05-24 13:19, Corinna Vinschen wrote: > You know that Cygwin is just a user space DLL, right? There's no state > information kept in the OS beyond the lifetime of any process using the > Cygwin DLL. In case of pthreads, there's no state at all shared with > other processes. Yes, thatâs exactly why Iâm confused about it. > But even if so, if you stop *all* Cygwin processes and then start > another one, all info from the old processes is gone and you should be > back to normal. If that's not the case, I would suspect a case of BLODA. Yes, I tried that and it changed nothing. I took the chance to uninstall some unused software and stopped all dodgy-sounding Windows services, including Windows Defender, so that the only thing left from the BLODA was the nVidia driver: No change. Rebasing also didnât help. >> If the test code includes semaphore.h but doesnât even use any of its >> functions it fails right away, just like before. A reboot doesnât help. > Is that with the same "read" testcases you sent two days ago? If so, I > can't reproduce it. I ran both tests in a loop, with and without an > additional semaphore.h, but to no avail. They both just work. Yes, same tests (the ones blocking on read()), but the semaphore.h was probably unrelated after all. I also ran the tests continuously and discovered the following: Running the same test several times manually from a cmd shell works a few times, then fails. Running the async and deferred tests alternating from cmd works, even after they failed previously. Running one of the tests manually from bash fails most of the time. $ while :; do ./testcase_cancel_asynchronous; done First test run usually fails, further runs succeed. Same for the deferred testcase. $ sleep 1; while :; do ./testcase_cancel_asynchronous; done All test runs succeed, including the first one. Same for the deferred testcase. I am now convinced that my system is toying with me. As I actually donât need to read from stdin with several threads and only discovered this problem while you fixed async cancel (thanks for that), Iâm inclined to ignore this âproblemâ and stop wasting your time, unless you want me to try something else to debug this. > This is under W7 on a dual-core machine. Same here. Otto -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-24 15:37 ` Otto Meta @ 2012-05-24 16:14 ` Corinna Vinschen 2012-05-24 19:15 ` Otto Meta 0 siblings, 1 reply; 24+ messages in thread From: Corinna Vinschen @ 2012-05-24 16:14 UTC (permalink / raw) To: cygwin On May 24 17:03, Otto Meta wrote: > On 2012-05-24 13:19, Corinna Vinschen wrote: > > You know that Cygwin is just a user space DLL, right? There's no state > > information kept in the OS beyond the lifetime of any process using the > > Cygwin DLL. In case of pthreads, there's no state at all shared with > > other processes. > > Yes, thatâs exactly why Iâm confused about it. > > > But even if so, if you stop *all* Cygwin processes and then start > > another one, all info from the old processes is gone and you should be > > back to normal. If that's not the case, I would suspect a case of BLODA. > > Yes, I tried that and it changed nothing. I took the chance to uninstall > some unused software and stopped all dodgy-sounding Windows services, > including Windows Defender, so that the only thing left from the BLODA > was the nVidia driver: No change. > > Rebasing also didnât help. > > >> If the test code includes semaphore.h but doesnât even use any of its > >> functions it fails right away, just like before. A reboot doesnât help. > > Is that with the same "read" testcases you sent two days ago? If so, I > > can't reproduce it. I ran both tests in a loop, with and without an > > additional semaphore.h, but to no avail. They both just work. > > Yes, same tests (the ones blocking on read()), but the semaphore.h was > probably unrelated after all. > > I also ran the tests continuously and discovered the following: > > Running the same test several times manually from a cmd shell works a > few times, then fails. Running the async and deferred tests alternating > from cmd works, even after they failed previously. > > Running one of the tests manually from bash fails most of the time. Weird. I tried under CMD now as well, but it still runs and runs and runs, without a failure. Tested on XP, W7, and 2008 R2. Another idea is that your system also fails due to the problem reported in http://cygwin.com/ml/cygwin/2012-05/msg00522.html I'm just about to generate another snapshot. You could see if that helps for some reason. I doubt it, but still... Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-24 16:14 ` Corinna Vinschen @ 2012-05-24 19:15 ` Otto Meta 2012-05-25 10:04 ` Corinna Vinschen 0 siblings, 1 reply; 24+ messages in thread From: Otto Meta @ 2012-05-24 19:15 UTC (permalink / raw) To: cygwin > Weird. I tried under CMD now as well, but it still runs and runs and > runs, without a failure. Tested on XP, W7, and 2008 R2. Maybe Itâs Just Me then. > Another idea is that your system also fails due to the problem reported > in http://cygwin.com/ml/cygwin/2012-05/msg00522.html > I'm just about to generate another snapshot. You could see if that > helps for some reason. I doubt it, but still... No change. $ sleep 0.001; ./testcase_cancel_asynchronous Fails. $ sleep 0.1; ./testcase_cancel_asynchronous Succeeds. :-? Otto -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-24 19:15 ` Otto Meta @ 2012-05-25 10:04 ` Corinna Vinschen 0 siblings, 0 replies; 24+ messages in thread From: Corinna Vinschen @ 2012-05-25 10:04 UTC (permalink / raw) To: cygwin On May 24 18:34, Otto Meta wrote: > > Weird. I tried under CMD now as well, but it still runs and runs and > > runs, without a failure. Tested on XP, W7, and 2008 R2. > > Maybe Itâs Just Me then. > > > Another idea is that your system also fails due to the problem reported > > in http://cygwin.com/ml/cygwin/2012-05/msg00522.html > > I'm just about to generate another snapshot. You could see if that > > helps for some reason. I doubt it, but still... > > No change. > > $ sleep 0.001; ./testcase_cancel_asynchronous > Fails. > > $ sleep 0.1; ./testcase_cancel_asynchronous > Succeeds. > > :-? ??? This effect doesn't make any sense. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: 1.7.15-1: pthread_cancel and pthread_kill not working as expected 2012-05-22 11:03 ` Corinna Vinschen 2012-05-22 13:26 ` Otto Meta @ 2012-07-11 12:36 ` Otto Meta 1 sibling, 0 replies; 24+ messages in thread From: Otto Meta @ 2012-07-11 12:36 UTC (permalink / raw) To: cygwin [-- Attachment #1: Type: text/plain, Size: 941 bytes --] On 2012-05-22 13:02, Corinna Vinschen wrote: [...] >> Testcase signal/kill: >> Signals may or may not reach the correct thread with 1.7.12-1 and newer. > > Confirmed. I think the reason is that we only have a single event to > signal that a POSIX signal arrived instead of a per-thread event, but > I'm not sure. This is cgf's domain so I leave it at that for now. Is this problem still in the queue? The newest snapshot yields the same results as before. $ uname -srv CYGWIN_NT-6.1-WOW64 1.7.16s(0.261/5/3) 20120708 00:52:15 I attached a slightly simpler version of the testcase. Test output: Sending SIGUSR1 to thread 2 Thread 0 encountered an error: Interrupted system call Sending SIGUSR1 to thread 1 Thread 1 executes signal handler Thread 1 encountered an error: Interrupted system call Sending SIGUSR1 to thread 0 Thread 2 executes signal handler Thread 2 encountered an error: Interrupted system call Otto [-- Attachment #2: testcase_signal.c --] [-- Type: text/x-csrc, Size: 2227 bytes --] #include <errno.h> #include <pthread.h> #include <signal.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> pthread_t tids[3]; static void* simplethread(void *arg) { int *intptr = (int*)arg; pthread_t self = pthread_self(); fprintf(stderr, "Thread %i starting (%p)\n", *intptr, self); while (1) { if (pause() != 0) { fprintf(stderr, "Thread %i encountered an error: %s (%p)\n", *intptr, strerror(errno), self); } else { fprintf(stderr, "Thread %i woke up just fine\n", *intptr); } } return NULL; } static void sigusr1_handler(int signal __attribute((unused))) { pthread_t self = pthread_self(); // Search for thread number int tnum = 0; while (tnum < 3) { if (tids[tnum] == self) { break; } tnum++; } fprintf(stderr, "Thread %i executes signal handler (%p)\n", tnum, self); } static void install_handler(void) { struct sigaction act; act.sa_handler = &sigusr1_handler; sigemptyset(&(act.sa_mask)); act.sa_flags = 0; // Install signal handler if (sigaction(SIGUSR1, &act, NULL) != 0) { fprintf(stderr, "Can't set signal handler: %s\n", strerror(errno)); exit(1); } // Make sure SIGUSR1 is not blocked sigset_t sset; sigemptyset(&sset); sigaddset(&sset, SIGUSR1); if (sigprocmask(SIG_UNBLOCK, &sset, NULL) != 0) { fprintf(stderr, "Can't unblock SIGUSR1: %s\n", strerror(errno)); } } int main() { fprintf(stderr, "Testing pthread_kill()\n\n"); int i; int result; install_handler(); // Create threads for (i=0; i<3; i++) { int *intptr = (int*)malloc(sizeof(int)); *intptr = i; result = pthread_create(tids+i, NULL, &simplethread, intptr); if (result != 0) { fprintf(stderr, "Can't create thread: %s\n", strerror(result)); return 1; } } sleep(1); install_handler(); fprintf(stderr, "\n"); // Poke all threads for (i=2; i>=0; i--) { fprintf(stderr, "Sending SIGUSR1 to thread %i (%p)\n", i, tids[i]); result = pthread_kill(tids[i], SIGUSR1); if (result != 0) { fprintf(stderr, "Error during pthread_kill: %s\n", strerror(result)); } sleep(1); fprintf(stderr, "\n"); } return 0; } [-- Attachment #3: Type: text/plain, Size: 218 bytes --] -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple ^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2012-07-11 12:36 UTC | newest] Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2012-05-09 17:50 1.7.14-2: pthread_cancel and pthread_kill not working as expected Otto Meta 2012-05-18 10:23 ` 1.7.15-1: " Otto Meta 2012-05-18 11:43 ` Earnie Boyd 2012-05-21 10:26 ` Otto Meta 2012-05-21 10:47 ` Corinna Vinschen 2012-05-21 12:44 ` Otto Meta 2012-05-22 11:03 ` Corinna Vinschen 2012-05-22 13:26 ` Otto Meta 2012-05-23 8:53 ` Corinna Vinschen 2012-05-23 16:27 ` Corinna Vinschen 2012-05-23 17:24 ` Corinna Vinschen 2012-05-23 17:44 ` David Rothenberger 2012-05-23 18:26 ` Corinna Vinschen 2012-05-23 20:26 ` Corinna Vinschen 2012-05-24 5:52 ` David Rothenberger 2012-05-24 7:07 ` Corinna Vinschen 2012-05-24 10:36 ` Otto Meta 2012-05-24 10:59 ` Otto Meta 2012-05-24 11:21 ` Corinna Vinschen 2012-05-24 15:37 ` Otto Meta 2012-05-24 16:14 ` Corinna Vinschen 2012-05-24 19:15 ` Otto Meta 2012-05-25 10:04 ` Corinna Vinschen 2012-07-11 12:36 ` Otto Meta
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).