Re: cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)]
On 10/17/2021 6:15 PM, Ken Brown via Cygwin wrote: On 10/17/2021 4:52 PM, Chris Roehrig wrote: Here's a script that pretty reliably hangs cat after some iterations. [...] Thanks! I can reproduce the hang. I'll look into it. I've done some debugging and have followed up on the cygwin-developers list: https://cygwin.com/pipermail/cygwin-developers/2021-October/012429.html Let's hope someone there can figure out what the problem is. Thanks again for reporting this and, especially, for providing a simple test case. Ken -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)]
On 10/17/2021 4:52 PM, Chris Roehrig wrote: Here's a script that pretty reliably hangs cat after some iterations. [...] Thanks! I can reproduce the hang. I'll look into it. Ken -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)]
On Sun Oct 17 2021, at 9:19 AM, Ken Brown via Cygwin wrote: > On 10/16/2021 1:42 PM, Chris Roehrig wrote: >> On Mon Sep 27 2021, at 7:26 AM, Ken Brown via Cygwin >> wrote: >>> On 9/26/2021 8:57 PM, Chris Roehrig wrote: I have installed this (completely this time) and have encountered no issues with it. I'm getting full gigabit speeds with my rsync transfers. Looks great! >>> >>> Thanks for testing. >> I've encountered a crash that might be related. I had previously been >> having occasional crashes/hangs of cat.exe over the years, but this is the >> first time I've ever gotten an error message: >> cygwin error: 0 [fifo_reader] cat 11398 C:\cygwin\bin\cat.exe: *** fatal >> error - Can't add a client handler, Win32 error 123 > > This isn't a crash in the usual sense. It's the Cygwin fifo code issuing a > fatal error because an attempt to create a new Windows pipe instance failed. > And it's in code that's been around for a while, so it's not related to the > new pipe implementation. > >> cat here is reading from a fifo created with mkfifo. >> I've only encountered it once (out of daily runs over the last couple weeks) >> and don't know how to replicate it. Possibly a race?Looks like my >> script has tried to mitigate this with a sleep 1 between the mkfifo and the >> fork: cat < $fifo & > > The sleep shouldn't be necessary. If it is, there's a bug in the fifo code. > Can you remove the sleep and see what happens? It would be great if that > made it possible to replicate the problem. Here's a script that pretty reliably hangs cat after some iterations.I haven't yet gotten a repeat of that error message though. It runs fine on Ubuntu 20.04 and Mac OS X 10.8.4. #!/bin/bash # take arg as number of iterations (default=100) STEPS="${1-100}" FIFO_PFX="/tmp/catfifo_" FIFO_WAIT=0 STEP_WAIT=0 function mysleep() { if [ -n "$1" -a "$1" != "0" ]; then sleep "$1"; fi } function cleanup(){ rm -f "$FIFO_PFX"* } trap cleanup EXIT printf "Creating $STEPS fifo readers...\n" for ((i=0; i"$fifo" printf "FIFO %d\n" "$i" >&3 # close the file descriptor, wait for process to exit and clean up exec 3>&- wait $pid rm -f "$fifo" mysleep $STEP_WAIT done -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
On 10/16/2021 1:42 PM, Chris Roehrig wrote: On Mon Sep 27 2021, at 7:26 AM, Ken Brown via Cygwin wrote: On 9/26/2021 8:57 PM, Chris Roehrig wrote: I have installed this (completely this time) and have encountered no issues with it. I'm getting full gigabit speeds with my rsync transfers. Looks great! Thanks for testing. I've encountered a crash that might be related. I had previously been having occasional crashes/hangs of cat.exe over the years, but this is the first time I've ever gotten an error message: cygwin error: 0 [fifo_reader] cat 11398 C:\cygwin\bin\cat.exe: *** fatal error - Can't add a client handler, Win32 error 123 This isn't a crash in the usual sense. It's the Cygwin fifo code issuing a fatal error because an attempt to create a new Windows pipe instance failed. And it's in code that's been around for a while, so it's not related to the new pipe implementation. cat here is reading from a fifo created with mkfifo. I've only encountered it once (out of daily runs over the last couple weeks) and don't know how to replicate it. Possibly a race?Looks like my script has tried to mitigate this with a sleep 1 between the mkfifo and the fork: cat < $fifo & The sleep shouldn't be necessary. If it is, there's a bug in the fifo code. Can you remove the sleep and see what happens? It would be great if that made it possible to replicate the problem. Ken -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
On Mon Sep 27 2021, at 7:26 AM, Ken Brown via Cygwin wrote: > On 9/26/2021 8:57 PM, Chris Roehrig wrote: >> I have installed this (completely this time) and have encountered no issues >> with it. I'm getting full gigabit speeds with my rsync transfers. Looks >> great! > > Thanks for testing. I've encountered a crash that might be related. I had previously been having occasional crashes/hangs of cat.exe over the years, but this is the first time I've ever gotten an error message: cygwin error: 0 [fifo_reader] cat 11398 C:\cygwin\bin\cat.exe: *** fatal error - Can't add a client handler, Win32 error 123 cat here is reading from a fifo created with mkfifo. I've only encountered it once (out of daily runs over the last couple weeks) and don't know how to replicate it. Possibly a race?Looks like my script has tried to mitigate this with a sleep 1 between the mkfifo and the fork: cat < $fifo & I only encounter this issue on Cygwin (it has always worked fine without the sleep on Linux and MacOS). -- Chris -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
On 9/26/2021 8:57 PM, Chris Roehrig wrote: I have installed this (completely this time) and have encountered no issues with it. I'm getting full gigabit speeds with my rsync transfers. Looks great! Thanks for testing. Ken -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
I have installed this (completely this time) and have encountered no issues with it. I'm getting full gigabit speeds with my rsync transfers. Looks great! -- Chris On Fri Sep 24 2021, at 6:53 PM, Ken Brown via Cygwin-announce via Cygwin wrote: > The following packages have been uploaded to the Cygwin distribution > as test releases: > > * cygwin-3.3.0-0.2.6c1f49f83fde > * cygwin-devel-3.3.0-0.2.6c1f49f83fde > * cygwin-doc-3.3.0-0.2.6c1f49f83fde > > This is the second test release of the upcoming cygwin-3.3.0. The > only change from the first test release is that there have been > further changes to the internal pipe code. > > Please test! > > === > > What's new: > --- > > - An IP-sampling profiler named 'profiler' has been added. It can be > used to profile any Cygwin program along with any DLLs loaded. > > - A new tool 'gmondump' has been added. It can dump the raw > information of any "gmon.out" file created by profiler, ssp, or use > of the gcc/g++ option '-pg'. (Continue using gprof to get symbolic > profile displays.) > > - New GNU-specific APIs, slated to become part of the next POSIX > standard: pthread_cond_clockwait, pthread_mutex_clocklock, > pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock, > sem_clockwait. > > - New Solaris-specific APIs, slated to become part of the next POSIX > standard: sig2str, str2sig. > > > What changed: > - > > - The speed argument to cfsetspeed(3) can now be a numerical baud rate > rather than a Bnnn constant, as on Linux. > Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248887.html > > - The internal implementation of pipes has been overhauled; this > should result in improved performance. > Addresses: https://cygwin.com/pipermail/cygwin/2021-August/249238.html > > > Bug Fixes > - > > - Fix values returned by select(2) for shutdown sockets. > Addresses: > https://cygwin.com/pipermail/cygwin-developers/2021-April/012092.html > > - Introduce a new hypotl(3) function not suffering unnecessary > overflows. > Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248302.html > > - Fix path handling for paths spanning native symlinks. > Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248307.html > > - Fix tab position evaluation after console window resize. > > - Fix a regression in pseudo console handling, resulting in rlwrap not > being able to start a new pseudo console. > > - Handle two race conditions in pseudo console usage. > Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248292.html > > - Fix a bug in recognizing a successful completion of connect(2) on a > datagram socket. > > - Fix connect(2) when called with an address structure whose family is > AF_UNSPEC. As specified by POSIX and Linux, this is allowed on > datagram sockets, and its effect is to reset the socket's peer > address. > > - Fix nanosleep(2) returning negative rem. NtQueryTimer appears to be > able to return a negative remaining time (less than the timer > resolution) for unsignalled timers. > > - Fix getifaddrs(3) returning address family 0 or IPv4 address 0. > Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248970.html > > - Fix getaddrinfo(3) to return valid ai_socktype and ai_protocol > values if the underlying GetAddrInfoW screws up. > Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248985.html > > - Fix duplicate /proc/partitions entries and (presumably) duplicate > PIDs in ps(1) output. > Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248998.html > https://cygwin.com/pipermail/cygwin/2021-August/249124.html > > === > > > Have fun, > > Ken Brown, on behalf of Corinna > > -- > Problem reports: https://cygwin.com/problems.html > FAQ: https://cygwin.com/faq/ > Documentation:https://cygwin.com/docs.html > Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
[ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
The following packages have been uploaded to the Cygwin distribution as test releases: * cygwin-3.3.0-0.2.6c1f49f83fde * cygwin-devel-3.3.0-0.2.6c1f49f83fde * cygwin-doc-3.3.0-0.2.6c1f49f83fde This is the second test release of the upcoming cygwin-3.3.0. The only change from the first test release is that there have been further changes to the internal pipe code. Please test! === What's new: --- - An IP-sampling profiler named 'profiler' has been added. It can be used to profile any Cygwin program along with any DLLs loaded. - A new tool 'gmondump' has been added. It can dump the raw information of any "gmon.out" file created by profiler, ssp, or use of the gcc/g++ option '-pg'. (Continue using gprof to get symbolic profile displays.) - New GNU-specific APIs, slated to become part of the next POSIX standard: pthread_cond_clockwait, pthread_mutex_clocklock, pthread_rwlock_clockrdlock, pthread_rwlock_clockwrlock, sem_clockwait. - New Solaris-specific APIs, slated to become part of the next POSIX standard: sig2str, str2sig. What changed: - - The speed argument to cfsetspeed(3) can now be a numerical baud rate rather than a Bnnn constant, as on Linux. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248887.html - The internal implementation of pipes has been overhauled; this should result in improved performance. Addresses: https://cygwin.com/pipermail/cygwin/2021-August/249238.html Bug Fixes - - Fix values returned by select(2) for shutdown sockets. Addresses: https://cygwin.com/pipermail/cygwin-developers/2021-April/012092.html - Introduce a new hypotl(3) function not suffering unnecessary overflows. Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248302.html - Fix path handling for paths spanning native symlinks. Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248307.html - Fix tab position evaluation after console window resize. - Fix a regression in pseudo console handling, resulting in rlwrap not being able to start a new pseudo console. - Handle two race conditions in pseudo console usage. Addresses: https://cygwin.com/pipermail/cygwin/2021-April/248292.html - Fix a bug in recognizing a successful completion of connect(2) on a datagram socket. - Fix connect(2) when called with an address structure whose family is AF_UNSPEC. As specified by POSIX and Linux, this is allowed on datagram sockets, and its effect is to reset the socket's peer address. - Fix nanosleep(2) returning negative rem. NtQueryTimer appears to be able to return a negative remaining time (less than the timer resolution) for unsignalled timers. - Fix getifaddrs(3) returning address family 0 or IPv4 address 0. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248970.html - Fix getaddrinfo(3) to return valid ai_socktype and ai_protocol values if the underlying GetAddrInfoW screws up. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248985.html - Fix duplicate /proc/partitions entries and (presumably) duplicate PIDs in ps(1) output. Addresses: https://cygwin.com/pipermail/cygwin/2021-July/248998.html https://cygwin.com/pipermail/cygwin/2021-August/249124.html === Have fun, Ken Brown, on behalf of Corinna -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation:https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple