public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
@ 2021-09-25  1:53 Ken Brown via Cygwin-announce
  2021-09-27  0:57 ` Chris Roehrig
  0 siblings, 1 reply; 8+ messages in thread
From: Ken Brown via Cygwin-announce @ 2021-09-25  1:53 UTC (permalink / raw)
  To: 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
  2021-09-25  1:53 [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST) Ken Brown via Cygwin-announce
@ 2021-09-27  0:57 ` Chris Roehrig
  2021-09-27 14:26   ` Ken Brown
  0 siblings, 1 reply; 8+ messages in thread
From: Chris Roehrig @ 2021-09-27  0:57 UTC (permalink / raw)
  To: Ken Brown

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 <cygwin@cygwin.com> 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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
  2021-09-27  0:57 ` Chris Roehrig
@ 2021-09-27 14:26   ` Ken Brown
  2021-10-16 17:42     ` Chris Roehrig
  0 siblings, 1 reply; 8+ messages in thread
From: Ken Brown @ 2021-09-27 14:26 UTC (permalink / raw)
  To: 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
  2021-09-27 14:26   ` Ken Brown
@ 2021-10-16 17:42     ` Chris Roehrig
  2021-10-17 16:19       ` Ken Brown
  0 siblings, 1 reply; 8+ messages in thread
From: Chris Roehrig @ 2021-10-16 17:42 UTC (permalink / raw)
  To: Ken Brown via Cygwin


On Mon Sep 27 2021, at 7:26 AM, Ken Brown via Cygwin <cygwin@cygwin.com> 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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)
  2021-10-16 17:42     ` Chris Roehrig
@ 2021-10-17 16:19       ` Ken Brown
  2021-10-17 20:52         ` cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)] Chris Roehrig
  0 siblings, 1 reply; 8+ messages in thread
From: Ken Brown @ 2021-10-17 16:19 UTC (permalink / raw)
  To: cygwin

On 10/16/2021 1:42 PM, Chris Roehrig wrote:
> 
> On Mon Sep 27 2021, at 7:26 AM, Ken Brown via Cygwin <cygwin@cygwin.com> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)]
  2021-10-17 16:19       ` Ken Brown
@ 2021-10-17 20:52         ` Chris Roehrig
  2021-10-17 22:15           ` Ken Brown
  0 siblings, 1 reply; 8+ messages in thread
From: Chris Roehrig @ 2021-10-17 20:52 UTC (permalink / raw)
  To: Ken Brown via Cygwin


On Sun Oct 17 2021, at 9:19 AM, Ken Brown via Cygwin <cygwin@cygwin.com> wrote:

> On 10/16/2021 1:42 PM, Chris Roehrig wrote:
>> On Mon Sep 27 2021, at 7:26 AM, Ken Brown via Cygwin <cygwin@cygwin.com> 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<STEPS; i++ )); do
	fifo="$FIFO_PFX$i"

	# create fifo
	mkfifo "$fifo"
	mysleep $FIFO_WAIT

	# fork a process reading from fifo and writing it to stdout
	cat < "$fifo" &
	pid=$!
	printf "Created PID=$pid  reading from $fifo\n"

	# redirect FD3 to the fifo and print a message to it
	exec 3>"$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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)]
  2021-10-17 20:52         ` cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)] Chris Roehrig
@ 2021-10-17 22:15           ` Ken Brown
  2021-10-24 21:51             ` Ken Brown
  0 siblings, 1 reply; 8+ messages in thread
From: Ken Brown @ 2021-10-17 22:15 UTC (permalink / raw)
  To: 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)]
  2021-10-17 22:15           ` Ken Brown
@ 2021-10-24 21:51             ` Ken Brown
  0 siblings, 0 replies; 8+ messages in thread
From: Ken Brown @ 2021-10-24 21:51 UTC (permalink / raw)
  To: 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-10-24 21:51 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-25  1:53 [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST) Ken Brown via Cygwin-announce
2021-09-27  0:57 ` Chris Roehrig
2021-09-27 14:26   ` Ken Brown
2021-10-16 17:42     ` Chris Roehrig
2021-10-17 16:19       ` Ken Brown
2021-10-17 20:52         ` cat fifo hang [Re: [ANNOUNCEMENT] cygwin 3.3.0-0.2.6c1f49f83fde (TEST)] Chris Roehrig
2021-10-17 22:15           ` Ken Brown
2021-10-24 21:51             ` Ken Brown

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