Re: cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)]

2021-10-24 Thread Ken Brown via Cygwin

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)]

2021-10-17 Thread Ken Brown via Cygwin

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)]

2021-10-17 Thread Chris Roehrig


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)

2021-10-17 Thread Ken Brown via Cygwin

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)

2021-10-16 Thread Chris Roehrig


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)

2021-09-27 Thread Ken Brown via Cygwin

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)

2021-09-26 Thread Chris Roehrig
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)

2021-09-24 Thread Ken Brown via Cygwin-announce via Cygwin

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