[ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

Corinna Vinschen-2
Hi folks,


I uploaded a new Cygwin test release 3.0.0-0.1

This release comes with a couple of new features and some interesting
bug fixes.

It also changes the output of uname(2) for newly built applications.
Applications built so far (that includes uname(1) from coreutils)
will still print the old uname output.  The new format allows for longer
strings.  Compare:

Old uname content:

  sysname:  CYGWIN_NT-10.0     or  CYGWIN_NT-10.0-WOW   on WOW64
  release:  3.0.0(0.335/5/3)   or  3.0.0s(0.335/5/3)    for snapshots
  version:  2019-01-29 19:23   Local build time

Upcoming new uname content:

  sysname:  CYGWIN_NT-10.0-17763   or  CYGWIN_NT-10.0-17763-WOW64
  release:  3.0.0-335.x86_64       or  3.0.0-335.x86_64.snap
  version:  2019-01-29 19:23 UTC   Build time in UTC


Please test.

=======================================================================

What's new:
-----------

- Support for CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_COARSE,
  CLOCK_MONOTONIC_RAW, CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM,
  CLOCK_BOOTTIME_ALARM clocks.

- Support for case sensitive directories.  mkdir(2) automatically
  creates directories within the Cygwin installation dir as case
  sensitive now.

  This feature requires Windows 10 1803 or later and WSL installed!

- New file ioctls's FS_IOC_GETFLAGS and FS_IOC_SETFLAGS.  The actual
  inode flags are Cygwin-specific.  This allows to set or reset
  DOS attributes, file sparseness, FS level encryption and compression,
  as well as directory case sensitivity programatically.

- New tools chattr(1) and lsattr(1) to utilize setting and viewing the
  aforementioned new ioctl's on the command line.

- Support for exFAT.

- Support Linux-specific open(2) flag O_PATH.

- Support Linux-specific linkat(2) flag AT_EMPTY_PATH.

- Support overrun counter for posix timers (via timer_getoverrun() or
  siginfo_t::si_overrun).

- New APIs: signalfd, timerfd_create, timerfd_gettime, timerfd_settime,
  timer_getoverrun.


What changed:
-------------

- clock_nanosleep, pthread_condattr_setclock and timer_create now support
  all clocks, except CLOCK_PROCESS_CPUTIME_ID and CLOCK_THREAD_CPUTIME_ID.

- clock_setres is a no-op now.

- Use the new POSIX unlink semantics on NTFS starting with Windows 10 1709.
  Deleting an in-use file now actually removes the file, rather than moving
  it to the recycler bin.

- Use the new POSIX rename semantics on NTFS starting with Windows 10 1809.
  Renaming a file to another in-use file now actually removes the other file,
  rather than moving it to the recycler bin.

- open(..., O_TMPFILE) now moves the file to the trash bin immediately,
  to free the parent directory.

- Wctype functions updated to Unicode 11.0.

- Remove matherr, and SVID and X/Open math library configurations.
  Default math library configuration is now IEEE.

- Improve uname(2) for newly built applications.

- Kerberos/MSV1_0 S4U authentication replaces two old methods:
  Creating a token from scratch and Cygwin LSA authentication package.


Bug Fixes
---------

- Fix a thread race when initializing CLOCK_MONOTONIC.
  Addresses: https://cygwin.com/ml/cygwin/2018-11/msg00017.html

- Fix early timeout from pthread_cond_timedwait.
  Addresses: https://cygwin.com/ml/cygwin/2018-11/msg00171.html

- Fix a bug in recognizing remote FAT/FAT32/exFAT correctly.

- Allow open(2)/stat(2)/linkat(2) of a file via /proc/PID/fd/DESCRIPTOR
  even if file has been deleted.
  Addresses: https://cygwin.com/ml/cygwin/2018-12/msg00125.html
             https://cygwin.com/ml/cygwin/2018-12/msg00028.html

- Fix a bug in select(2) when polling HANDLE-less descriptors.

- Fix WEOF handling in wctype functions.
  Addresses: https://cygwin.com/ml/cygwin/2018-12/msg00173.html

- Fix thread names in GDB when cygthreads get reused.

- Fix return value of gethostname in a border case.

- Disallow seteuid on disabled or locked out accounts.
  Addresses: https://cygwin.com/ml/cygwin/2019-01/msg00197.html

=======================================================================


Have fun,
Corinna

--
Corinna Vinschen
Cygwin Maintainer

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

Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

Steven Penny
On Tue, 29 Jan 2019 20:59:59, Corinna Vinschen wrote:
> - New file ioctls's FS_IOC_GETFLAGS and FS_IOC_SETFLAGS.  The actual
>   inode flags are Cygwin-specific.  This allows to set or reset
>   DOS attributes, file sparseness, FS level encryption and compression,
>   as well as directory case sensitivity programatically.
>
> - New tools chattr(1) and lsattr(1) to utilize setting and viewing the
>   aforementioned new ioctl's on the command line.

these are very much appreciated. going back to my previous post:

https://cygwin.com/ml/cygwin/2018-12/msg00163.html

i re-ran with the new tool, however i am getting unexpected result:

$ lsattr /cygdrive/c
-hs--------- /cygdrive/c/$Recycle.Bin
-hs--------- /cygdrive/c/Config.Msi
------------ /cygdrive/c/cygwin64
lsattr: Device or resource busy while trying to open /cygdrive/c/pagefile.sys
------------ /cygdrive/c/PerfLogs
r----------- /cygdrive/c/Program Files
r----------- /cygdrive/c/Program Files (x86)
-h-------n-- /cygdrive/c/ProgramData
-hs------n-- /cygdrive/c/Recovery
-hs--------- /cygdrive/c/System Volume Information
r----------- /cygdrive/c/Users
------------ /cygdrive/c/Windows

compare with cmd.exe:

> dir /A C:\
2018-10-08  11:20 AM    <DIR>          $Recycle.Bin
2019-01-10  05:20 PM    <DIR>          Config.Msi
2019-01-29  06:33 PM    <DIR>          cygwin64
2009-07-13  11:08 PM    <JUNCTION>     Documents and Settings [C:\Users]
2018-10-08  07:48 PM    <DIR>          NVIDIA
2018-12-23  09:57 AM    17,138,294,784 pagefile.sys
2009-07-13  09:20 PM    <DIR>          PerfLogs
2019-01-01  02:10 PM    <DIR>          Program Files
2018-12-19  01:19 PM    <DIR>          Program Files (x86)
2018-10-31  06:07 PM    <DIR>          ProgramData
2018-10-08  11:14 AM    <DIR>          Recovery
2019-01-29  03:36 PM    <DIR>          System Volume Information
2018-11-18  01:10 AM    <DIR>          Users
2018-11-09  08:18 AM    <DIR>          Windows

or attrib:

> attrib C:\pagefile.sys
A  SH        C:\pagefile.sys


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

Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

Steven Penny
In reply to this post by Corinna Vinschen-2
On Tue, 29 Jan 2019 20:59:59, Corinna Vinschen wrote:
> Hi folks,
>
>
> I uploaded a new Cygwin test release 3.0.0-0.1
>
> This release comes with a couple of new features and some interesting
> bug fixes.

something big broke here. as someone else reported here:

https://cygwin.com/ml/cygwin/2019-01/msg00276.html

i am getting similar result:

$ git log -1
   0 [main] git 4128 fixup_mmaps_after_fork: VirtualQueryEx failed for
                     MAP_PRIVATE address 0x6FFFFE10000, Win32 error 5
 828 [main] git 4128 C:\cygwin64\bin\git.exe: *** fatal error in forked process
                     - recreate_mmaps_after_fork_failed
1632 [main] git 4128 cygwin_exception::open_stackdumpfile: Dumping stack trace
                     to git.exe.stackdump
   0 [main] git 2632 fork: child -1 - forked process 4128 died unexpectedly,
                     retry 0, exit code 0x100, errno 11
error: cannot fork() for less: Resource temporarily unavailable

workaround is to stop forking:

$ git --no-pager log -1

Personally I am going back Cygwin 2 until this is resolved. Cheers


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

Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

Christian Franke
In reply to this post by Corinna Vinschen-2
Corinna Vinschen wrote:

> I uploaded a new Cygwin test release 3.0.0-0.1
>
> ...
> What's new:
> -----------
>
> ...
>
> - Support for case sensitive directories.  mkdir(2) automatically
>    creates directories within the Cygwin installation dir as case
>    sensitive now.
>
>    This feature requires Windows 10 1803 or later and WSL installed!

Before enabling WSL and relying on this new feature, users should check
their backup tool. Some tools fail if a directory contains names which
differ only in letter case. I don't know whether this may also happen if
a case sensitive directory simply exists.

At least Windows' own imaging tool dism.exe is affected. It is used for
example by c't-WIMage (https://heise.de/-3863074, German). This cmd
script creates compact incremental backups of the system partition in
install.wim files. Depending on the version of dism.exe, the failure
occurs during image creation or (even worse) during restore.

I have also seen a report that some Paragon imaging tool is affected.

Regards,
Christian


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

Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

Corinna Vinschen-2
On Jan 30 12:43, Christian Franke wrote:

> Corinna Vinschen wrote:
> > I uploaded a new Cygwin test release 3.0.0-0.1
> >
> > ...
> > What's new:
> > -----------
> >
> > ...
> >
> > - Support for case sensitive directories.  mkdir(2) automatically
> >    creates directories within the Cygwin installation dir as case
> >    sensitive now.
> >
> >    This feature requires Windows 10 1803 or later and WSL installed!
>
> Before enabling WSL and relying on this new feature, users should check
> their backup tool. Some tools fail if a directory contains names which
> differ only in letter case. I don't know whether this may also happen if a
> case sensitive directory simply exists.
>
> At least Windows' own imaging tool dism.exe is affected. It is used for
> example by c't-WIMage (https://heise.de/-3863074, German). This cmd script
> creates compact incremental backups of the system partition in install.wim
> files. Depending on the version of dism.exe, the failure occurs during image
> creation or (even worse) during restore.
>
> I have also seen a report that some Paragon imaging tool is affected.
Good point.  To expand a bit on the above text:

To reduce side-effects, case-sensitive subdirs are *only* created with
the Cygwin installation directory.  Outside, on the rest of the system,
Cygwin won't do that and just rely on the standard case-sensitivity
settings per

https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive

Which reminds me... I guess I have to tweak the documentation.


Corinna

--
Corinna Vinschen
Cygwin Maintainer

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

Corinna Vinschen-2
In reply to this post by Steven Penny
On Jan 29 16:45, Steven Penny wrote:

> On Tue, 29 Jan 2019 20:59:59, Corinna Vinschen wrote:
> > - New file ioctls's FS_IOC_GETFLAGS and FS_IOC_SETFLAGS.  The actual
> >   inode flags are Cygwin-specific.  This allows to set or reset
> >   DOS attributes, file sparseness, FS level encryption and compression,
> >   as well as directory case sensitivity programatically.
> >
> > - New tools chattr(1) and lsattr(1) to utilize setting and viewing the
> >   aforementioned new ioctl's on the command line.
>
> these are very much appreciated. going back to my previous post:
>
> https://cygwin.com/ml/cygwin/2018-12/msg00163.html
>
> i re-ran with the new tool, however i am getting unexpected result:
>
> $ lsattr /cygdrive/c
> -hs--------- /cygdrive/c/$Recycle.Bin
> -hs--------- /cygdrive/c/Config.Msi
> ------------ /cygdrive/c/cygwin64
> lsattr: Device or resource busy while trying to open /cygdrive/c/pagefile.sys
> ------------ /cygdrive/c/PerfLogs
> r----------- /cygdrive/c/Program Files
> r----------- /cygdrive/c/Program Files (x86)
> -h-------n-- /cygdrive/c/ProgramData
> -hs------n-- /cygdrive/c/Recovery
> -hs--------- /cygdrive/c/System Volume Information
> r----------- /cygdrive/c/Users
> ------------ /cygdrive/c/Windows
>
> compare with cmd.exe:
>
> > dir /A C:\
> 2018-10-08  11:20 AM    <DIR>          $Recycle.Bin
> 2019-01-10  05:20 PM    <DIR>          Config.Msi
> 2019-01-29  06:33 PM    <DIR>          cygwin64
> 2009-07-13  11:08 PM    <JUNCTION>     Documents and Settings [C:\Users]
> 2018-10-08  07:48 PM    <DIR>          NVIDIA
> 2018-12-23  09:57 AM    17,138,294,784 pagefile.sys
> 2009-07-13  09:20 PM    <DIR>          PerfLogs
> 2019-01-01  02:10 PM    <DIR>          Program Files
> 2018-12-19  01:19 PM    <DIR>          Program Files (x86)
> 2018-10-31  06:07 PM    <DIR>          ProgramData
> 2018-10-08  11:14 AM    <DIR>          Recovery
> 2019-01-29  03:36 PM    <DIR>          System Volume Information
> 2018-11-18  01:10 AM    <DIR>          Users
> 2018-11-09  08:18 AM    <DIR>          Windows
>
> or attrib:
>
> > attrib C:\pagefile.sys
> A  SH        C:\pagefile.sys
Ah, that's easily explained.  lsattr has to open the file with read
perms to be allowed to call ioctl on the file descriptor:

  fd = open (filename, O_RDONLY);
  ioctl (fd, FS_IOC_GETFLAGS, &flags);
  close (fd);

But that's disallowed for certain files.  pagefile.sys, for instance,
always results in a sharing violation when trying to open it.

cmd's dir as well as attrib don't even try to open the file.  Both
open the directory and print the attributes from the directory
information.

Nothing I can do about for now.  We could add another ioctl at
one point which operates on the parent dir, kind of like:

  fd_dir = open (parent_dir, O_RDONLY);
  ioctl (fd_dir, FS_IOC_GETFLAGS_FILE, filename, &flags);
  close (fd_dir)

Patches welcome.


Corinna

--
Corinna Vinschen
Cygwin Maintainer

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [ANNOUNCEMENT] TEST: Cygwin 3.0.0-0.1

Corinna Vinschen-2
In reply to this post by Corinna Vinschen-2
On Jan 30 14:18, Corinna Vinschen wrote:

> On Jan 30 12:43, Christian Franke wrote:
> > Corinna Vinschen wrote:
> > > I uploaded a new Cygwin test release 3.0.0-0.1
> > >
> > > ...
> > > What's new:
> > > -----------
> > >
> > > ...
> > >
> > > - Support for case sensitive directories.  mkdir(2) automatically
> > >    creates directories within the Cygwin installation dir as case
> > >    sensitive now.
> > >
> > >    This feature requires Windows 10 1803 or later and WSL installed!
> >
> > Before enabling WSL and relying on this new feature, users should check
> > their backup tool. Some tools fail if a directory contains names which
> > differ only in letter case. I don't know whether this may also happen if a
> > case sensitive directory simply exists.
> >
> > At least Windows' own imaging tool dism.exe is affected. It is used for
> > example by c't-WIMage (https://heise.de/-3863074, German). This cmd script
> > creates compact incremental backups of the system partition in install.wim
> > files. Depending on the version of dism.exe, the failure occurs during image
> > creation or (even worse) during restore.
> >
> > I have also seen a report that some Paragon imaging tool is affected.
>
> Good point.  To expand a bit on the above text:
>
> To reduce side-effects, case-sensitive subdirs are *only* created with
                                                                   ^^^^^^
====>                                                              within


> the Cygwin installation directory.  Outside, on the rest of the system,
> Cygwin won't do that and just rely on the standard case-sensitivity
> settings per
>
> https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive
>
> Which reminds me... I guess I have to tweak the documentation.


Corinna

--
Corinna Vinschen
Cygwin Maintainer

signature.asc (849 bytes) Download Attachment