public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* fstat st_size on open files on Parallels filesystem is wrong
@ 2014-04-21 18:27 lennox
  2014-04-21 18:35 ` Andrey Repin
  0 siblings, 1 reply; 20+ messages in thread
From: lennox @ 2014-04-21 18:27 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 1190 bytes --]

I’m running cygwin64 1.7.29 in a Windows 8.1 Pro virtual machine, running in
Parallels Desktop 9.0.24229 on Mac OS X 10.9.2.

Parallels Desktop automatically mounts my Mac OS X home directory as a Z:
drive in Windows.  Cygwin mount reports this drive as being type "prlsf".

Unfortunately, I've discovered that if I have an open file on this
filesystem which has been written to, the size returned by Cygwin fstat() on
the open file is wrong.  A stat() of the file after it's been closed is
correct.

This has the consequence that emacs always thinks saved files have been
modified externally, since emacs looks at files' sizes (as well as their
modification times) to detect external changes.  This makes emacs
near-unusable.

This problem does not occur for files in my Cygwin home directory, or other
locations mounted on my Windows C: drive.

I've attached a simple unit test program that illustrates the problem.
I've also attached my cygcheck -s -v -r output.

Any ideas?  Is this a Cygwin bug, a Parallels bug, or something else?
Glancing over the Cygwin code, I see that there are a few cases where fstat
has special cases for certain filesystem types.


[-- Attachment #2: stat-size-test.c --]
[-- Type: text/plain, Size: 1093 bytes --]

#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>

int main(int argc, const char* argv[])
{
	int i;
	for (i = 1; i < argc; i++) {
		int fd, len, ret;
		struct stat statbuf;
		fd = open(argv[i], O_CREAT|O_TRUNC|O_WRONLY, 0666);
		if (fd == -1) {
			fprintf(stderr, "%s: open: %s\n", argv[i], strerror(errno));
			continue;
		}
		len = write(fd, "Hello world\n", 12);
		if (len != 12) {
			fprintf(stderr, "%s: write: %s\n", argv[i], strerror(errno));
			close(fd);
			continue;
		}
		
		ret = fstat(fd, &statbuf);
		if (ret != 0) {
			fprintf(stderr, "%s: fstat: %s\n", argv[i], strerror(errno));
			close(fd);
			continue;
		}

		printf("%s: fstat: st_size=%lld\n", argv[i], (long long)statbuf.st_size);

		ret = close(fd);
		if (ret != 0) {
			fprintf(stderr, "%s: close: %s\n", argv[i], strerror(errno));
		}

		ret = stat(argv[i], &statbuf);
		if (ret != 0) {
			fprintf(stderr, "%s: stat: %s\n", argv[i], strerror(errno));
			continue;
		}
		printf("%s: stat: st_size=%lld\n", argv[i], (long long)statbuf.st_size);
	}
}

[-- Attachment #3: message body text --]
[-- Type: text/plain, Size: 672 bytes --]


$ ./stat-size-test.exe $HOME/foo /cygdrive/z/foo
/home/jonathan/foo: fstat: st_size=12
/home/jonathan/foo: stat: st_size=12
/cygdrive/z/foo: fstat: st_size=0
/cygdrive/z/foo: stat: st_size=12

$ mount
C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type iso9660 (binary,posix=0,user,noumount,auto)
S: on /cygdrive/s type ntfs (binary,posix=0,user,noumount,auto)
U: on /cygdrive/u type ntfs (binary,posix=0,user,noumount,auto)
Z: on /cygdrive/z type prlsf (binary,posix=0,user,noumount,auto)


[-- Attachment #4: cygcheck.out.txt --]
[-- Type: text/plain, Size: 47939 bytes --]


Cygwin Configuration Diagnostics
Current System Time: Fri Apr 11 22:57:28 2014

Windows 8.1 Professional Ver 6.3 Build 9600 

Path:	C:\cygwin64\usr\local\bin
	C:\cygwin64\bin
	C:\Program Files (x86)\Parallels\Parallels Tools\Applications
	C:\Windows\system32
	C:\Windows
	C:\Windows\System32\Wbem
	C:\Windows\System32\WindowsPowerShell\v1.0
	C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit
	C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0

Output from C:\cygwin64\bin\id.exe
UID: 11394(jonathan)        GID: 10513(Domain Users)
10513(Domain Users)         578(Hyper-V Administrators)
559(Performance Log Users)  545(Users)

SysDir: C:\Windows\system32
WinDir: C:\Windows

USER = 'jonathan'
PWD = '/cygdrive/z/Emacs-Modtime'
HOME = '/home/jonathan'

USERDOMAIN_ROAMINGPROFILE = 'VIDYOCRM'
HOMEPATH = '\'
MANPATH = '/usr/local/man:/usr/share/man:/usr/man:/usr/ssl/man'
APPDATA = 'C:\Users\jonathan.VIDYOCRM\AppData\Roaming'
ProgramW6432 = 'C:\Program Files'
HOSTNAME = 'Vidyo-LT0519-W8'
SHELL = '/bin/bash'
TERM = 'xterm'
PROCESSOR_IDENTIFIER = 'Intel64 Family 6 Model 70 Stepping 1, GenuineIntel'
PROFILEREAD = 'true'
WINDIR = 'C:\Windows'
PUBLIC = 'C:\Users\Public'
OLDPWD = '/home/jonathan'
ORIGINAL_PATH = '/cygdrive/c/Program Files (x86)/Parallels/Parallels Tools/Applications:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Windows Kits/8.1/Windows Performance Toolkit:/cygdrive/c/Program Files (x86)/Microsoft SDKs/TypeScript/1.0'
USERDOMAIN = 'VIDYOCRM'
CommonProgramFiles(x86) = 'C:\Program Files (x86)\Common Files'
OS = 'Windows_NT'
ALLUSERSPROFILE = 'C:\ProgramData'
TEMP = '/tmp'
COMMONPROGRAMFILES = 'C:\Program Files\Common Files'
USERNAME = 'jonathan'
PROCESSOR_LEVEL = '6'
ProgramFiles(x86) = 'C:\Program Files (x86)'
PSModulePath = 'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\'
FP_NO_HOST_CHECK = 'NO'
SYSTEMDRIVE = 'C:'
EDITOR = 'emacs'
VS120COMNTOOLS = 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\'
USERPROFILE = 'C:\Users\jonathan.VIDYOCRM'
TZ = 'America/New_York'
PS1 = '\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ '
LOGONSERVER = '\\VIDYOCRM-AD'
CommonProgramW6432 = 'C:\Program Files\Common Files'
PROCESSOR_ARCHITECTURE = 'AMD64'
LOCALAPPDATA = 'C:\Users\jonathan.VIDYOCRM\AppData\Local'
ProgramData = 'C:\ProgramData'
EXECIGNORE = '*.dll'
SHLVL = '1'
USERDNSDOMAIN = 'VIDYO.COM'
PATHEXT = '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC'
HOMEDRIVE = 'U:'
COMSPEC = 'C:\Windows\system32\cmd.exe'
TMP = '/tmp'
SYSTEMROOT = 'C:\Windows'
CVS_RSH = 'ssh'
PRINTER = 'NJ1-UTIL1-Printer3'
PROCESSOR_REVISION = '4601'
XNAGSShared = 'C:\Program Files (x86)\Common Files\Microsoft Shared\XNA\'
INFOPATH = '/usr/local/info:/usr/share/info:/usr/info'
PROGRAMFILES = 'C:\Program Files'
HOMESHARE = '\\vidyodocs\users\jonathan'
VS110COMNTOOLS = 'C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\'
NUMBER_OF_PROCESSORS = '8'
SESSIONNAME = 'Console'
COMPUTERNAME = 'VIDYO-LT0519-W8'
_ = '/usr/bin/cygcheck'

HKEY_CURRENT_USER\Software\Cygwin
HKEY_CURRENT_USER\Software\Cygwin\Installations
  (default) = '\??\C:\cygwin64'
HKEY_CURRENT_USER\Software\Cygwin\Program Options
HKEY_CURRENT_USER\Software\Cygwin\setup
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Installations
  (default) = '\??\C:\cygwin64'
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\Program Options
HKEY_LOCAL_MACHINE\SOFTWARE\Cygwin\setup
  (default) = 'C:\cygwin64'

obcaseinsensitive set to 1

Cygwin installations found in the registry:
  System: Key: e022582115c10879 Path: C:\cygwin64
  User:   Key: e022582115c10879 Path: C:\cygwin64

a:  fd  FAT          1Mb  19% CP    UN           PRL
c:  hd  NTFS     65183Mb  79% CP CS UN PA FC     
d:  cd  CDFS         9Mb 100%    CS UN           Parallels Tools
s:  net NTFS   3670019Mb  88% CP CS UN PA FC     Data Volume
u:  net NTFS   3670019Mb  88% CP CS UN PA FC     Data Volume
z:  net PrlSF   476282Mb  77% CP CS              Shared Folders

C:\cygwin64      /          system  binary,auto
C:\cygwin64\bin  /usr/bin   system  binary,auto
C:\cygwin64\lib  /usr/lib   system  binary,auto
cygdrive prefix  /cygdrive  user    binary,posix=0,auto

Found: C:\cygwin64\bin\awk
 -> C:\cygwin64\bin\gawk.exe
Found: C:\cygwin64\bin\bash.exe
Found: C:\cygwin64\bin\cat.exe
Found: C:\cygwin64\bin\cp.exe
Found: C:\cygwin64\bin\cpp.exe
Not Found: crontab
Found: C:\cygwin64\bin\find.exe
Found: C:\Windows\system32\find.exe
Warning: C:\cygwin64\bin\find.exe hides C:\Windows\system32\find.exe
Found: C:\cygwin64\bin\gcc.exe
Found: C:\cygwin64\bin\gdb.exe
Found: C:\cygwin64\bin\grep.exe
Found: C:\cygwin64\bin\kill.exe
Found: C:\cygwin64\bin\ld.exe
Found: C:\cygwin64\bin\ls.exe
Found: C:\cygwin64\bin\make.exe
Found: C:\cygwin64\bin\mv.exe
Found: C:\cygwin64\bin\patch.exe
Found: C:\cygwin64\bin\perl.exe
Found: C:\cygwin64\bin\rm.exe
Found: C:\cygwin64\bin\sed.exe
Found: C:\cygwin64\bin\ssh.exe
Found: C:\cygwin64\bin\sh.exe
Found: C:\cygwin64\bin\tar.exe
Found: C:\cygwin64\bin\test.exe
Found: C:\cygwin64\bin\vi.exe
Not Found: vim

  127k 2013/06/23 C:\cygwin64\bin\cygapr-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygapr-1-0.dll" v0.0 ts=2013-06-23 18:53
  115k 2013/08/11 C:\cygwin64\bin\cygaprutil-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygaprutil-1-0.dll" v0.0 ts=2013-08-11 19:13
   38k 2013/07/19 C:\cygwin64\bin\cygargp-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygargp-0.dll" v0.0 ts=2013-07-19 15:07
  510k 2014/03/20 C:\cygwin64\bin\cygasn1-8.dll - os=4.0 img=0.0 sys=5.2
                  "cygasn1-8.dll" v0.0 ts=2014-03-20 04:54
  643k 2013/04/30 C:\cygwin64\bin\cygaspell-15.dll - os=4.0 img=0.0 sys=5.2
                  "cygaspell-15.dll" v0.0 ts=2013-04-30 08:11
    9k 2013/06/24 C:\cygwin64\bin\cygasprintf-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygasprintf-0.dll" v0.0 ts=2013-06-24 04:36
  107k 2014/03/12 C:\cygwin64\bin\cygatk-1.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygatk-1.0-0.dll" v0.0 ts=2014-03-12 07:45
   87k 2014/01/29 C:\cygwin64\bin\cygatomic-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygatomic-1.dll" v0.0 ts=2014-01-29 01:15
   16k 2013/03/26 C:\cygwin64\bin\cygattr-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygattr-1.dll" v0.0 ts=2013-03-26 18:26
  125k 2013/03/11 C:\cygwin64\bin\cygblkid-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygblkid-1.dll" v0.0 ts=2013-03-11 03:08
   64k 2013/03/07 C:\cygwin64\bin\cygbz2-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygbz2-1.dll" v0.0 ts=2013-03-07 02:54
 1061k 2014/03/13 C:\cygwin64\bin\cygcairo-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygcairo-2.dll" v0.0 ts=2014-03-13 21:39
   26k 2014/03/13 C:\cygwin64\bin\cygcairo-gobject-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygcairo-gobject-2.dll" v0.0 ts=2014-03-13 21:39
  122k 2014/03/13 C:\cygwin64\bin\cygcairo-script-interpreter-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygcairo-script-interpreter-2.dll" v0.0 ts=2014-03-13 21:40
   13k 2013/03/06 C:\cygwin64\bin\cygcatgets1.dll - os=4.0 img=0.0 sys=5.2
                  "cygcatgets1.dll" v0.0 ts=2013-03-06 14:34
  117k 2013/05/05 C:\cygwin64\bin\cygcloog-isl-4.dll - os=4.0 img=0.0 sys=5.2
                  "cygcloog-isl-4.dll" v0.0 ts=2013-05-05 16:41
   12k 2013/03/11 C:\cygwin64\bin\cygcom_err-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygcom_err-2.dll" v0.0 ts=2013-03-11 03:59
    9k 2013/03/07 C:\cygwin64\bin\cygcrypt-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygcrypt-0.dll" v0.0 ts=2013-03-07 09:29
 1749k 2014/04/08 C:\cygwin64\bin\cygcrypto-1.0.0.dll - os=4.0 img=0.0 sys=5.2
                  "cygcrypto-1.0.0.dll" v0.0 ts=1970-01-01 00:00
  404k 2013/12/18 C:\cygwin64\bin\cygcurl-4.dll - os=4.0 img=0.0 sys=5.2
                  "cygcurl-4.dll" v0.0 ts=2013-12-18 05:17
   23k 2013/04/12 C:\cygwin64\bin\cygdatrie-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygdatrie-1.dll" v0.0 ts=2013-04-12 07:10
 1526k 2013/03/08 C:\cygwin64\bin\cygdb-5.3.dll - os=4.0 img=0.0 sys=5.2
                  "cygdb-5.3.dll" v0.0 ts=2013-03-08 07:55
  242k 2014/03/31 C:\cygwin64\bin\cygdbus-1-3.dll - os=4.0 img=0.0 sys=5.2
                  "cygdbus-1-3.dll" v0.0 ts=1970-01-01 00:00
  111k 2013/03/08 C:\cygwin64\bin\cygdb_cxx-5.3.dll - os=4.0 img=0.0 sys=5.2
                  "cygdb_cxx-5.3.dll" v0.0 ts=2013-03-08 07:56
  472k 2013/03/08 C:\cygwin64\bin\cygdb_sql-5.3.dll - os=4.0 img=0.0 sys=5.2
                  "cygdb_sql-5.3.dll" v0.0 ts=2013-03-08 07:58
  169k 2014/02/10 C:\cygwin64\bin\cygdialog-11.dll - os=4.0 img=0.0 sys=5.2
                  "cygdialog-11.dll" v0.0 ts=2014-02-10 01:24
  154k 2013/10/20 C:\cygwin64\bin\cygedit-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygedit-0.dll" v0.0 ts=2013-10-20 21:56
  147k 2013/07/31 C:\cygwin64\bin\cygexpat-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygexpat-1.dll" v0.0 ts=2013-07-31 22:53
   31k 2013/08/06 C:\cygwin64\bin\cygfam-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygfam-0.dll" v0.0 ts=2013-08-06 20:09
   22k 2013/05/12 C:\cygwin64\bin\cygffi-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygffi-6.dll" v0.0 ts=2013-05-12 22:53
  210k 2013/08/05 C:\cygwin64\bin\cygfontconfig-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygfontconfig-1.dll" v0.0 ts=2013-08-05 07:59
   53k 2013/05/06 C:\cygwin64\bin\cygformw-10.dll - os=4.0 img=0.0 sys=5.2
                  "cygformw-10.dll" v0.0 ts=2013-05-06 08:10
  585k 2014/03/31 C:\cygwin64\bin\cygfreetype-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygfreetype-6.dll" v0.0 ts=1970-01-01 00:00
   67k 2014/01/29 C:\cygwin64\bin\cyggcc_s-seh-1.dll - os=4.0 img=0.0 sys=5.2
                  "cyggcc_s-seh-1.dll" v0.0 ts=2014-01-29 00:47
  472k 2013/03/13 C:\cygwin64\bin\cyggcrypt-11.dll - os=4.0 img=0.0 sys=5.2
                  "cyggcrypt-11.dll" v0.0 ts=2013-03-13 02:27
  239k 2013/04/21 C:\cygwin64\bin\cyggd-2.dll - os=4.0 img=0.0 sys=5.2
                  "cyggd-2.dll" v0.0 ts=2013-04-21 15:06
   29k 2013/03/11 C:\cygwin64\bin\cyggdbm-4.dll - os=4.0 img=0.0 sys=5.2
                  "cyggdbm-4.dll" v0.0 ts=2013-03-11 05:00
   12k 2013/03/11 C:\cygwin64\bin\cyggdbm_compat-4.dll - os=4.0 img=0.0 sys=5.2
                  "cyggdbm_compat-4.dll" v0.0 ts=2013-03-11 05:01
  602k 2014/03/28 C:\cygwin64\bin\cyggdk-x11-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggdk-x11-2.0-0.dll" v0.0 ts=2014-03-28 17:57
  215k 2014/03/12 C:\cygwin64\bin\cyggdk_pixbuf-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggdk_pixbuf-2.0-0.dll" v0.0 ts=2014-03-12 08:07
   36k 2013/04/02 C:\cygwin64\bin\cyggg-1.dll - os=4.0 img=0.0 sys=5.2
                  "cyggg-1.dll" v0.0 ts=2013-04-02 20:27
   52k 2013/04/02 C:\cygwin64\bin\cygggi-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygggi-2.dll" v0.0 ts=2013-04-02 20:50
   12k 2013/04/02 C:\cygwin64\bin\cygggiwmh-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygggiwmh-0.dll" v0.0 ts=2013-04-02 20:58
   29k 2013/04/02 C:\cygwin64\bin\cyggii-1.dll - os=4.0 img=0.0 sys=5.2
                  "cyggii-1.dll" v0.0 ts=2013-04-02 20:28
 1189k 2014/04/02 C:\cygwin64\bin\cyggio-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggio-2.0-0.dll" v0.0 ts=1970-01-01 00:00
  396k 2013/10/09 C:\cygwin64\bin\cygGL-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygGL-1.dll" v0.0 ts=2013-10-09 03:31
  213k 2013/10/09 C:\cygwin64\bin\cygglapi-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygglapi-0.dll" v0.0 ts=2013-10-09 01:25
  904k 2014/04/02 C:\cygwin64\bin\cygglib-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygglib-2.0-0.dll" v0.0 ts=1970-01-01 00:00
   15k 2014/04/02 C:\cygwin64\bin\cyggmodule-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggmodule-2.0-0.dll" v0.0 ts=1970-01-01 00:00
  516k 2014/04/05 C:\cygwin64\bin\cyggmp-10.dll - os=4.0 img=0.0 sys=5.2
                  "cyggmp-10.dll" v0.0 ts=1970-01-01 00:00
  904k 2013/05/29 C:\cygwin64\bin\cyggnutls-28.dll - os=4.0 img=0.0 sys=5.2
                  "cyggnutls-28.dll" v0.0 ts=2013-05-29 16:52
   84k 2013/05/29 C:\cygwin64\bin\cyggnutls-openssl-27.dll - os=4.0 img=0.0 sys=5.2
                  "cyggnutls-openssl-27.dll" v0.0 ts=2013-05-29 16:52
   83k 2013/05/29 C:\cygwin64\bin\cyggnutls-xssl-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggnutls-xssl-0.dll" v0.0 ts=2013-05-29 16:52
   41k 2013/05/29 C:\cygwin64\bin\cyggnutlsxx-28.dll - os=4.0 img=0.0 sys=5.2
                  "cyggnutlsxx-28.dll" v0.0 ts=2013-05-29 16:52
  277k 2014/04/02 C:\cygwin64\bin\cyggobject-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggobject-2.0-0.dll" v0.0 ts=1970-01-01 00:00
   46k 2014/01/29 C:\cygwin64\bin\cyggomp-1.dll - os=4.0 img=0.0 sys=5.2
                  "cyggomp-1.dll" v0.0 ts=2014-01-29 00:49
   17k 2013/03/13 C:\cygwin64\bin\cyggpg-error-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggpg-error-0.dll" v0.0 ts=2013-03-13 01:03
  116k 2013/08/05 C:\cygwin64\bin\cyggraphite2-3.dll - os=4.0 img=3.0 sys=5.2
                  "cyggraphite2-3.dll" v0.0 ts=2013-08-05 07:33
 7684k 2013/04/30 C:\cygwin64\bin\cyggs-9.dll - os=4.0 img=0.0 sys=5.2
                  "cyggs-9.dll" v0.0 ts=2013-04-30 12:31
  198k 2014/03/20 C:\cygwin64\bin\cyggssapi-3.dll - os=4.0 img=0.0 sys=5.2
                  "cyggssapi-3.dll" v0.0 ts=2014-03-20 06:15
   10k 2014/04/02 C:\cygwin64\bin\cyggthread-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggthread-2.0-0.dll" v0.0 ts=1970-01-01 00:00
 3929k 2014/03/28 C:\cygwin64\bin\cyggtk-x11-2.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cyggtk-x11-2.0-0.dll" v0.0 ts=2014-03-28 18:03
  316k 2014/01/09 C:\cygwin64\bin\cygharfbuzz-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygharfbuzz-0.dll" v0.0 ts=2014-01-09 07:16
   10k 2014/01/09 C:\cygwin64\bin\cygharfbuzz-icu-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygharfbuzz-icu-0.dll" v0.0 ts=2014-01-09 07:16
   14k 2014/03/20 C:\cygwin64\bin\cygheimbase-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygheimbase-1.dll" v0.0 ts=2014-03-20 04:52
   24k 2014/03/20 C:\cygwin64\bin\cygheimntlm-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygheimntlm-0.dll" v0.0 ts=2014-03-20 06:13
   29k 2013/03/14 C:\cygwin64\bin\cyghistory7.dll - os=4.0 img=0.0 sys=5.2
                  "cyghistory7.dll" v0.0 ts=2013-03-14 11:14
  166k 2013/05/14 C:\cygwin64\bin\cyghogweed-2.dll - os=4.0 img=0.0 sys=5.2
                  "cyghogweed-2.dll" v0.0 ts=2013-05-14 07:42
  236k 2014/03/20 C:\cygwin64\bin\cyghx509-5.dll - os=4.0 img=0.0 sys=5.2
                  "cyghx509-5.dll" v0.0 ts=2014-03-20 04:55
   78k 2013/03/15 C:\cygwin64\bin\cygICE-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygICE-6.dll" v0.0 ts=2013-03-15 09:46
  998k 2013/03/07 C:\cygwin64\bin\cygiconv-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygiconv-2.dll" v0.0 ts=2013-03-07 03:03
21806k 2013/06/25 C:\cygwin64\bin\cygicudata51.dll - os=4.0 img=0.0 sys=5.2
                  "cygicudata51.dll" v0.0 ts=2013-06-25 06:30
 1717k 2013/06/25 C:\cygwin64\bin\cygicui18n51.dll - os=4.0 img=0.0 sys=5.2
                  "cygicui18n51.dll" v0.0 ts=2013-06-25 06:28
   43k 2013/06/25 C:\cygwin64\bin\cygicuio51.dll - os=4.0 img=0.0 sys=5.2
                  "cygicuio51.dll" v0.0 ts=2013-06-25 06:30
  305k 2013/06/25 C:\cygwin64\bin\cygicule51.dll - os=4.0 img=0.0 sys=5.2
                  "cygicule51.dll" v0.0 ts=2013-06-25 06:28
   38k 2013/06/25 C:\cygwin64\bin\cygiculx51.dll - os=4.0 img=0.0 sys=5.2
                  "cygiculx51.dll" v0.0 ts=2013-06-25 06:28
 1231k 2013/06/25 C:\cygwin64\bin\cygicuuc51.dll - os=4.0 img=0.0 sys=5.2
                  "cygicuuc51.dll" v0.0 ts=2013-06-25 06:27
  195k 2013/04/05 C:\cygwin64\bin\cygidn-11.dll - os=4.0 img=0.0 sys=5.2
                  "cygidn-11.dll" v0.0 ts=2013-04-05 09:58
   38k 2013/06/24 C:\cygwin64\bin\cygintl-8.dll - os=4.0 img=0.0 sys=5.2
                  "cygintl-8.dll" v0.0 ts=2013-06-24 04:36
  294k 2013/09/09 C:\cygwin64\bin\cygiodbc-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygiodbc-2.dll" v0.0 ts=2013-09-09 16:36
   66k 2013/09/09 C:\cygwin64\bin\cygiodbcinst-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygiodbcinst-2.dll" v0.0 ts=2013-09-09 16:35
  888k 2013/05/05 C:\cygwin64\bin\cygisl-10.dll - os=4.0 img=0.0 sys=5.2
                  "cygisl-10.dll" v0.0 ts=2013-05-05 16:36
  271k 2013/04/11 C:\cygwin64\bin\cygjasper-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygjasper-1.dll" v0.0 ts=2013-04-11 08:18
  236k 2013/04/12 C:\cygwin64\bin\cygjpeg-8.dll - os=4.0 img=0.0 sys=5.2
                  "cygjpeg-8.dll" v0.0 ts=2013-04-12 05:00
   23k 2014/03/20 C:\cygwin64\bin\cygkafs-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygkafs-0.dll" v0.0 ts=2014-03-20 06:13
   83k 2013/05/30 C:\cygwin64\bin\cygkpathsea-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygkpathsea-6.dll" v0.0 ts=2013-05-30 15:10
  403k 2014/03/20 C:\cygwin64\bin\cygkrb5-26.dll - os=4.0 img=0.0 sys=5.2
                  "cygkrb5-26.dll" v0.0 ts=2014-03-20 06:12
   44k 2013/06/18 C:\cygwin64\bin\cyglber-2-4-2.dll - os=4.0 img=0.0 sys=5.2
                  "cyglber-2-4-2.dll" v0.0 ts=2013-06-17 21:00
  283k 2013/09/03 C:\cygwin64\bin\cyglcms2-2.dll - os=4.0 img=0.0 sys=5.2
                  "cyglcms2-2.dll" v0.0 ts=2013-09-03 13:56
  243k 2013/06/18 C:\cygwin64\bin\cygldap-2-4-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygldap-2-4-2.dll" v0.0 ts=2013-06-17 21:00
  260k 2013/06/18 C:\cygwin64\bin\cygldap_r-2-4-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygldap_r-2-4-2.dll" v0.0 ts=2013-06-17 21:01
    6k 2014/04/07 C:\cygwin64\bin\cyglsa64.dll - os=4.0 img=0.0 sys=5.2
                  "cyglsa64.dll" v0.0 ts=2014-04-07 12:46
   34k 2013/05/27 C:\cygwin64\bin\cygltdl-7.dll - os=4.0 img=0.0 sys=5.2
                  "cygltdl-7.dll" v0.0 ts=2013-05-27 07:22
  145k 2013/05/14 C:\cygwin64\bin\cyglua-5.1.dll - os=4.0 img=0.0 sys=5.2
                  "cyglua-5.1.dll" v0.0 ts=2013-05-14 02:53
  129k 2013/03/07 C:\cygwin64\bin\cyglzma-5.dll - os=4.0 img=0.0 sys=5.2
                  "cyglzma-5.dll" v0.0 ts=2013-03-07 10:20
  124k 2013/03/19 C:\cygwin64\bin\cyglzo2-2.dll - os=4.0 img=0.0 sys=5.2
                  "cyglzo2-2.dll" v0.0 ts=2013-03-19 05:35
  107k 2014/03/27 C:\cygwin64\bin\cygmagic-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygmagic-1.dll" v0.0 ts=1970-01-01 00:00
   28k 2013/05/06 C:\cygwin64\bin\cygmenuw-10.dll - os=4.0 img=0.0 sys=5.2
                  "cygmenuw-10.dll" v0.0 ts=2013-05-06 08:10
   87k 2014/04/05 C:\cygwin64\bin\cygmpc-3.dll - os=4.0 img=0.0 sys=5.2
                  "cygmpc-3.dll" v0.0 ts=1970-01-01 00:00
  319k 2013/05/05 C:\cygwin64\bin\cygmpfr-4.dll - os=4.0 img=0.0 sys=5.2
                  "cygmpfr-4.dll" v0.0 ts=2013-05-05 13:40
 2833k 2013/12/06 C:\cygwin64\bin\cygmysqlclient-18.dll - os=4.0 img=18.0 sys=5.2
                  "cygmysqlclient-18.dll" v0.0 ts=2013-12-06 01:49
   52k 2013/05/06 C:\cygwin64\bin\cygncurses++w-10.dll - os=4.0 img=0.0 sys=5.2
                  "cygncurses++w-10.dll" v0.0 ts=2013-05-06 08:14
  295k 2013/05/06 C:\cygwin64\bin\cygncursesw-10.dll - os=4.0 img=0.0 sys=5.2
                  "cygncursesw-10.dll" v0.0 ts=2013-05-06 08:08
  126k 2013/04/24 C:\cygwin64\bin\cygneon-27.dll - os=4.0 img=0.0 sys=5.2
                  "cygneon-27.dll" v0.0 ts=2013-04-24 08:25
  177k 2013/05/14 C:\cygwin64\bin\cygnettle-4.dll - os=4.0 img=0.0 sys=5.2
                  "cygnettle-4.dll" v0.0 ts=2013-05-14 07:42
  122k 2014/01/29 C:\cygwin64\bin\cygobjc-4.dll - os=4.0 img=0.0 sys=5.2
                  "cygobjc-4.dll" v0.0 ts=2014-01-29 01:14
  123k 2014/01/31 C:\cygwin64\bin\cygopenjpeg-1.dll - os=4.0 img=1.5 sys=5.2
                  "cygopenjpeg-1.dll" v0.0 ts=2014-01-31 05:12
  207k 2014/03/13 C:\cygwin64\bin\cygp11-kit-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygp11-kit-0.dll" v0.0 ts=2014-03-13 03:35
   13k 2013/05/06 C:\cygwin64\bin\cygpanelw-10.dll - os=4.0 img=0.0 sys=5.2
                  "cygpanelw-10.dll" v0.0 ts=2013-05-06 08:09
  261k 2014/03/20 C:\cygwin64\bin\cygpango-1.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygpango-1.0-0.dll" v0.0 ts=2014-03-20 10:59
   41k 2014/03/20 C:\cygwin64\bin\cygpangocairo-1.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygpangocairo-1.0-0.dll" v0.0 ts=2014-03-20 10:59
   69k 2014/03/20 C:\cygwin64\bin\cygpangoft2-1.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygpangoft2-1.0-0.dll" v0.0 ts=2014-03-20 10:59
   27k 2014/03/20 C:\cygwin64\bin\cygpangoxft-1.0-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygpangoxft-1.0-0.dll" v0.0 ts=2014-03-20 10:59
   11k 2013/07/23 C:\cygwin64\bin\cygpaper-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygpaper-1.dll" v0.0 ts=2013-07-23 05:40
  271k 2014/03/12 C:\cygwin64\bin\cygpcre-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygpcre-1.dll" v0.0 ts=2014-03-12 02:35
 1580k 2013/03/11 C:\cygwin64\bin\cygperl5_14.dll - os=4.0 img=0.0 sys=5.2
                  "cygperl5_14.dll" v0.0 ts=2013-03-12 00:25
  656k 2014/01/10 C:\cygwin64\bin\cygpixman-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygpixman-1-0.dll" v0.0 ts=2014-01-10 01:32
  147k 2013/03/19 C:\cygwin64\bin\cygpng15-15.dll - os=4.0 img=0.0 sys=5.2
                  "cygpng15-15.dll" v0.0 ts=2013-03-19 02:58
 1847k 2013/06/05 C:\cygwin64\bin\cygpoppler-28.dll - os=4.0 img=0.0 sys=5.2
                  "cygpoppler-28.dll" v0.0 ts=2013-06-05 06:22
   41k 2013/10/21 C:\cygwin64\bin\cygpopt-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygpopt-0.dll" v0.0 ts=2013-10-21 21:52
  145k 2014/02/02 C:\cygwin64\bin\cygpq-5.dll - os=4.0 img=0.0 sys=5.2
                  "cygpq-5.dll" v0.0 ts=2014-02-02 21:42
  122k 2013/04/21 C:\cygwin64\bin\cygproxy-1.dll - os=4.0 img=1.0 sys=5.2
                  "cygproxy-1.dll" v0.0 ts=2013-04-21 10:24
    8k 2013/04/30 C:\cygwin64\bin\cygpspell-15.dll - os=4.0 img=0.0 sys=5.2
                  "cygpspell-15.dll" v0.0 ts=2013-04-30 08:12
   38k 2013/05/30 C:\cygwin64\bin\cygptexenc-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygptexenc-1.dll" v0.0 ts=2013-05-30 15:10
  302k 2014/01/29 C:\cygwin64\bin\cygquadmath-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygquadmath-0.dll" v0.0 ts=2014-01-29 01:16
  193k 2013/03/14 C:\cygwin64\bin\cygreadline7.dll - os=4.0 img=0.0 sys=5.2
                  "cygreadline7.dll" v0.0 ts=2013-03-14 11:14
   57k 2014/03/20 C:\cygwin64\bin\cygroken-18.dll - os=4.0 img=0.0 sys=5.2
                  "cygroken-18.dll" v0.0 ts=2014-03-20 04:53
   96k 2014/01/16 C:\cygwin64\bin\cygsasl2-3.dll - os=4.0 img=0.0 sys=5.2
                  "cygsasl2-3.dll" v0.0 ts=2014-01-16 17:34
   82k 2013/12/13 C:\cygwin64\bin\cygserf-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygserf-1-0.dll" v0.0 ts=2013-12-13 00:46
   28k 2014/01/14 C:\cygwin64\bin\cygSM-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygSM-6.dll" v0.0 ts=2014-01-14 23:23
  721k 2014/03/11 C:\cygwin64\bin\cygsqlite3-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsqlite3-0.dll" v0.0 ts=2014-03-11 21:05
  141k 2013/03/11 C:\cygwin64\bin\cygssh2-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygssh2-1.dll" v0.0 ts=2013-03-11 11:42
  377k 2014/04/08 C:\cygwin64\bin\cygssl-1.0.0.dll - os=4.0 img=0.0 sys=5.2
                  "cygssl-1.0.0.dll" v0.0 ts=1970-01-01 00:00
   11k 2014/01/29 C:\cygwin64\bin\cygssp-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygssp-0.dll" v0.0 ts=2014-01-29 01:14
  892k 2014/01/29 C:\cygwin64\bin\cygstdc++-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygstdc++-6.dll" v0.0 ts=2014-01-29 00:57
  356k 2014/02/22 C:\cygwin64\bin\cygsvn_client-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_client-1-0.dll" v0.0 ts=2014-02-22 18:35
   63k 2014/02/22 C:\cygwin64\bin\cygsvn_delta-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_delta-1-0.dll" v0.0 ts=2014-02-22 18:34
   70k 2014/02/22 C:\cygwin64\bin\cygsvn_diff-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_diff-1-0.dll" v0.0 ts=2014-02-22 18:34
   30k 2014/02/22 C:\cygwin64\bin\cygsvn_fs-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_fs-1-0.dll" v0.0 ts=2014-02-22 18:34
  150k 2014/02/22 C:\cygwin64\bin\cygsvn_fs_base-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_fs_base-1-0.dll" v0.0 ts=2014-02-22 18:34
  180k 2014/02/22 C:\cygwin64\bin\cygsvn_fs_fs-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_fs_fs-1-0.dll" v0.0 ts=2014-02-22 18:34
   10k 2014/02/22 C:\cygwin64\bin\cygsvn_fs_util-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_fs_util-1-0.dll" v0.0 ts=2014-02-22 18:34
   45k 2014/02/22 C:\cygwin64\bin\cygsvn_ra-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_ra-1-0.dll" v0.0 ts=2014-02-22 18:35
   30k 2014/02/22 C:\cygwin64\bin\cygsvn_ra_local-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_ra_local-1-0.dll" v0.0 ts=2014-02-22 18:34
  162k 2014/02/22 C:\cygwin64\bin\cygsvn_ra_serf-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_ra_serf-1-0.dll" v0.0 ts=2014-02-22 18:34
   94k 2014/02/22 C:\cygwin64\bin\cygsvn_ra_svn-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_ra_svn-1-0.dll" v0.0 ts=2014-02-22 18:34
  182k 2014/02/22 C:\cygwin64\bin\cygsvn_repos-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_repos-1-0.dll" v0.0 ts=2014-02-22 18:34
  380k 2014/02/22 C:\cygwin64\bin\cygsvn_subr-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_subr-1-0.dll" v0.0 ts=2014-02-22 18:34
  618k 2014/02/22 C:\cygwin64\bin\cygsvn_wc-1-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygsvn_wc-1-0.dll" v0.0 ts=2014-02-22 18:34
  242k 2013/04/26 C:\cygwin64\bin\cygt1-5.dll - os=4.0 img=0.0 sys=5.2
                  "cygt1-5.dll" v0.0 ts=2013-04-25 17:35
   69k 2013/04/22 C:\cygwin64\bin\cygtasn1-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygtasn1-6.dll" v0.0 ts=2013-04-22 01:25
   31k 2013/04/12 C:\cygwin64\bin\cygthai-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygthai-0.dll" v0.0 ts=2013-04-12 12:02
   51k 2013/05/06 C:\cygwin64\bin\cygticw-10.dll - os=4.0 img=0.0 sys=5.2
                  "cygticw-10.dll" v0.0 ts=2013-05-06 08:08
  359k 2013/04/24 C:\cygwin64\bin\cygtiff-5.dll - os=4.0 img=0.0 sys=5.2
                  "cygtiff-5.dll" v0.0 ts=2013-04-24 06:30
   10k 2013/04/24 C:\cygwin64\bin\cygtiffxx-5.dll - os=4.0 img=0.0 sys=5.2
                  "cygtiffxx-5.dll" v0.0 ts=2013-04-24 06:30
   15k 2013/03/11 C:\cygwin64\bin\cyguuid-1.dll - os=4.0 img=0.0 sys=5.2
                  "cyguuid-1.dll" v0.0 ts=2013-03-11 03:07
  161k 2014/03/20 C:\cygwin64\bin\cygwind-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygwind-0.dll" v0.0 ts=2014-03-20 04:53
   30k 2013/11/15 C:\cygwin64\bin\cygwrap-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygwrap-0.dll" v0.0 ts=2013-11-15 19:58
 1120k 2014/01/10 C:\cygwin64\bin\cygX11-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygX11-6.dll" v0.0 ts=2014-01-10 01:15
    8k 2014/01/10 C:\cygwin64\bin\cygX11-xcb-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygX11-xcb-1.dll" v0.0 ts=2014-01-10 01:15
   12k 2013/06/06 C:\cygwin64\bin\cygXau-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygXau-6.dll" v0.0 ts=2013-06-06 06:23
  368k 2014/01/15 C:\cygwin64\bin\cygXaw-7.dll - os=4.0 img=0.0 sys=5.2
                  "cygXaw-7.dll" v0.0 ts=2014-01-15 02:53
   97k 2013/08/14 C:\cygwin64\bin\cygxcb-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygxcb-1.dll" v0.0 ts=2013-08-14 19:30
   70k 2013/08/14 C:\cygwin64\bin\cygxcb-glx-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygxcb-glx-0.dll" v0.0 ts=2013-08-14 19:31
   31k 2013/08/14 C:\cygwin64\bin\cygxcb-render-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygxcb-render-0.dll" v0.0 ts=2013-08-14 19:31
   11k 2013/08/14 C:\cygwin64\bin\cygxcb-shm-0.dll - os=4.0 img=0.0 sys=5.2
                  "cygxcb-shm-0.dll" v0.0 ts=2013-08-14 19:31
   11k 2013/03/18 C:\cygwin64\bin\cygXcomposite-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygXcomposite-1.dll" v0.0 ts=2013-03-18 23:05
   34k 2013/06/06 C:\cygwin64\bin\cygXcursor-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygXcursor-1.dll" v0.0 ts=2013-06-06 21:15
   10k 2013/04/08 C:\cygwin64\bin\cygXdamage-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygXdamage-1.dll" v0.0 ts=2013-04-08 22:24
   21k 2013/03/13 C:\cygwin64\bin\cygXdmcp-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygXdmcp-6.dll" v0.0 ts=2013-03-13 04:58
   56k 2013/06/06 C:\cygwin64\bin\cygXext-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygXext-6.dll" v0.0 ts=2013-06-06 10:04
   19k 2013/06/06 C:\cygwin64\bin\cygXfixes-3.dll - os=4.0 img=0.0 sys=5.2
                  "cygXfixes-3.dll" v0.0 ts=2013-06-06 20:27
   73k 2013/03/14 C:\cygwin64\bin\cygXft-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygXft-2.dll" v0.0 ts=2013-03-14 05:18
   56k 2013/07/29 C:\cygwin64\bin\cygXi-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygXi-6.dll" v0.0 ts=2013-07-29 07:30
   10k 2013/06/06 C:\cygwin64\bin\cygXinerama-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygXinerama-1.dll" v0.0 ts=2013-06-06 21:33
 1212k 2013/04/21 C:\cygwin64\bin\cygxml2-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygxml2-2.dll" v0.0 ts=2013-04-21 05:57
   85k 2014/01/15 C:\cygwin64\bin\cygXmu-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygXmu-6.dll" v0.0 ts=2014-01-15 02:27
   59k 2014/01/15 C:\cygwin64\bin\cygXpm-4.dll - os=4.0 img=0.0 sys=5.2
                  "cygXpm-4.dll" v0.0 ts=2014-01-15 00:59
   34k 2014/01/14 C:\cygwin64\bin\cygXrandr-2.dll - os=4.0 img=0.0 sys=5.2
                  "cygXrandr-2.dll" v0.0 ts=2014-01-14 23:56
   35k 2013/06/14 C:\cygwin64\bin\cygXrender-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygXrender-1.dll" v0.0 ts=2013-06-14 09:29
   12k 2013/03/14 C:\cygwin64\bin\cygXss-1.dll - os=4.0 img=0.0 sys=5.2
                  "cygXss-1.dll" v0.0 ts=2013-03-14 04:07
  320k 2013/06/06 C:\cygwin64\bin\cygXt-6.dll - os=4.0 img=0.0 sys=5.2
                  "cygXt-6.dll" v0.0 ts=2013-06-06 20:43
   79k 2013/05/09 C:\cygwin64\bin\cygz.dll - os=4.0 img=0.0 sys=5.2
                  "cygz.dll" v0.0 ts=2013-05-09 22:20
   24k 2013/05/30 C:\cygwin64\bin\cygzzip-0-13.dll - os=4.0 img=0.0 sys=5.2
                  "cygzzip-0-13.dll" v0.0 ts=2013-05-30 03:34
   12k 2013/05/30 C:\cygwin64\bin\cygzzipfseeko-0-13.dll - os=4.0 img=0.0 sys=5.2
                  "cygzzipfseeko-0-13.dll" v0.0 ts=2013-05-30 03:34
   15k 2013/05/30 C:\cygwin64\bin\cygzzipmmapped-0-13.dll - os=4.0 img=0.0 sys=5.2
                  "cygzzipmmapped-0-13.dll" v0.0 ts=2013-05-30 03:34
    9k 2013/05/30 C:\cygwin64\bin\cygzzipwrap-0-13.dll - os=4.0 img=0.0 sys=5.2
                  "cygzzipwrap-0-13.dll" v0.0 ts=2013-05-30 03:34
 3073k 2014/04/07 C:\cygwin64\bin\cygwin1.dll - os=4.0 img=0.0 sys=5.2
                  "cygwin1.dll" v0.0 ts=1970-01-01 00:00
    Cygwin DLL version info:
        DLL version: 1.7.29
        DLL epoch: 19
        DLL old termios: 5
        DLL malloc env: 28
        Cygwin conv: 181
        API major: 0
        API minor: 272
        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


No Cygwin services found.


Cygwin Package Information
Last downloaded files to: C:\Temp
Last downloaded files from: http://mirror.cs.vt.edu/pub/cygwin/cygwin/

Package                    Version                Status
_autorebase                000133-1               OK
_update-info-dir           00269-1                OK
alternatives               1.3.30c-10             OK
aspell                     0.60.6.1-1             OK
autoconf                   13-1                   OK
autoconf2.1                2.13-12                OK
autoconf2.5                2.69-2                 OK
automake                   9-1                    OK
automake1.10               1.10.3-2               OK
automake1.11               1.11.6-2               OK
automake1.12               1.12.6-2               OK
automake1.13               1.13.4-1               OK
automake1.14               1.14-1                 OK
automake1.4                1.4p6-11               OK
automake1.5                1.5-11                 OK
automake1.6                1.6.3-12               OK
automake1.7                1.7.9-11               OK
automake1.8                1.8.5-11               OK
automake1.9                1.9.6-11               OK
base-cygwin                3.3-1                  OK
base-files                 4.2-1                  OK
bash                       4.1.11-2               OK
bc                         1.06.95-1              OK
binutils                   2.24.51-2              OK
bzip2                      1.0.6-2                OK
ca-certificates            1.97-1                 OK
coreutils                  8.15-3                 OK
crypt                      1.1-1                  OK
csih                       0.9.7-1                OK
cvs                        1.11.23-1              OK
cygport                    0.15.0-1               OK
cygrunsrv                  1.50-1                 OK
cygutils                   1.4.14-1               OK
cygwin                     1.7.29-2               OK
cygwin-doc                 1.7-1                  OK
cygwin32                   1.7.27-2               OK
cygwin32-binutils          2.24.51.20140326-1     OK
cygwin32-gcc-core          4.8.2-2                OK
cygwin32-gcc-g++           4.8.2-2                OK
cygwin32-gcc-objc          4.8.2-2                OK
cygwin32-w32api-headers    3.1.0-1                OK
cygwin32-w32api-runtime    3.1.0-1                OK
dash                       0.5.7-4                OK
dbus                       1.6.18-1               OK
desktop-file-utils         0.21-1                 OK
dialog                     1.2-20140112-1         OK
diffstat                   1.58-1                 OK
diffutils                  3.3-1                  OK
dos2unix                   6.0.4-1                OK
ed                         1.9-1                  OK
editrights                 1.02-1                 OK
emacs                      24.3-7                 OK
emacs-el                   24.3-7                 OK
file                       5.18-1                 OK
findutils                  4.5.11-1               OK
fontconfig                 2.10.93-1              OK
gamin                      0.1.10-14              OK
gawk                       4.1.1-1                OK
gcc-core                   4.8.2-3                OK
gcc-g++                    4.8.2-3                OK
gcc-objc                   4.8.2-3                OK
gdb                        7.6.50-4               OK
getent                     2.18.90-1              OK
gettext                    0.18.1.1-3             OK
ghostscript                9.06-2                 OK
ghostscript-fonts-other    6.0-1                  OK
ghostscript-fonts-std      8.11-1                 OK
gnome-icon-theme           3.10.0-1               OK
gnuplot                    4.6.3-3                OK
grep                       2.16-1                 OK
groff                      1.22.2-2               OK
gsettings-desktop-schemas  3.10.1-1               OK
gtk-update-icon-cache      3.10.7-2               OK
gzip                       1.4-1                  OK
hicolor-icon-theme         0.12-1                 OK
hostname                   3.13-1                 OK
indent                     2.2.11-1               OK
inetutils                  1.9.1-2                OK
inetutils-server           1.9.1-2                OK
ipc-utils                  1.0-2                  OK
less                       458-1                  OK
libapr1                    1.4.8-1                OK
libaprutil1                1.5.2-4                OK
libargp                    20110921-2             OK
libasn1_8                  1.5.3-1                OK
libaspell15                0.60.6.1-1             OK
libasprintf0               0.18.1.1-3             OK
libatk1.0_0                2.10.0-1               OK
libatomic1                 4.8.2-3                OK
libattr1                   2.4.46-1               OK
libblkid1                  2.21.2-1               OK
libbz2_1                   1.0.6-2                OK
libcairo2                  1.12.16-1              OK
libcatgets1                1.1-2                  OK
libcloog-isl4              0.18.0-2               OK
libcom_err2                1.42.7-1               OK
libcrypt-devel             1.1-1                  OK
libcrypt0                  1.1-1                  OK
libcurl4                   7.34.0-1               OK
libdatrie1                 0.2.6-1                OK
libdb-devel                5.3.21-1               OK
libdb5.3                   5.3.21-1               OK
libdbus1_3                 1.6.18-1               OK
libdialog11                1.2-20140112-1         OK
libedit0                   20130712-1             OK
libexpat1                  2.1.0-3                OK
libfam0                    0.1.10-14              OK
libffi6                    3.0.13-1               OK
libfontconfig1             2.10.93-1              OK
libfreetype6               2.5.3-1                OK
libgcc1                    4.8.2-3                OK
libgcrypt11                1.5.0-1                OK
libgd2                     2.0.36RC1-1            OK
libgdbm4                   1.10-2                 OK
libgdk_pixbuf2.0_0         2.30.4-1               OK
libggi2                    2.2.2-3                OK
libggiwmh0                 0.3.2-3                OK
libgii1                    1.0.2-3                OK
libGL1                     8.0.5-5                OK
libglapi0                  8.0.5-5                OK
libglib2.0_0               2.38.2-2               OK
libgmp10                   6.0.0a-1               OK
libgnutls28                3.2.0-4                OK
libgomp1                   4.8.2-3                OK
libgpg-error0              1.10-1                 OK
libgraphite2_3             1.2.3-1                OK
libgs9                     9.06-2                 OK
libgssapi3                 1.5.3-1                OK
libgtk2.0_0                2.24.23-1              OK
libharfbuzz0               0.9.25-1               OK
libheimbase1               1.5.3-1                OK
libheimntlm0               1.5.3-1                OK
libhogweed2                2.7-1                  OK
libhx509_5                 1.5.3-1                OK
libICE6                    1.0.8-1                OK
libiconv2                  1.14-1                 OK
libicu51                   51.2-1                 OK
libidn11                   1.26-1                 OK
libintl8                   0.18.1.1-3             OK
libiodbc-devel             3.52.8-2               OK
libiodbc2                  3.52.8-2               OK
libisl10                   0.11.1-2               OK
libjasper1                 1.900.1-13             OK
libjpeg8                   1.2.1-2                OK
libkafs0                   1.5.3-1                OK
libkpathsea6               20130529-1             OK
libkrb5_26                 1.5.3-1                OK
liblcms2_2                 2.5-1                  OK
libltdl7                   2.4.2-3                OK
liblzma5                   5.0.4-1                OK
liblzo2_2                  2.06-1                 OK
libmpc3                    1.0.2-1                OK
libmpfr4                   3.1.2-1                OK
libmysqlclient18           5.5.35-1               OK
libncursesw10              5.9-4                  OK
libneon27                  0.29.6-1               OK
libnettle4                 2.7-1                  OK
libobjc4                   4.8.2-3                OK
libopenjpeg1               1.5.1-3                OK
libopenldap2_4_2           2.4.35-1               OK
libopenssl100              1.0.1g-1               OK
libp11-kit0                0.20.2-1               OK
libpango1.0_0              1.36.3-1               OK
libpaper-common            1.1.24-2               OK
libpaper1                  1.1.24-2               OK
libpcre1                   8.34-1                 OK
libpixman1_0               0.32.4-1               OK
libpng15                   1.5.14-1               OK
libpoppler28               0.20.5-3               OK
Empty package libpopt0
libpopt0                   1.16-1                 OK
libpq5                     9.3.2-2                OK
libproxy1                  0.4.11-2               OK
libptexenc1                20130529-1             OK
libquadmath0               4.8.2-3                OK
libreadline7               6.2-1                  OK
libroken18                 1.5.3-1                OK
libsasl2-devel             2.1.26-6               OK
libsasl2_3                 2.1.26-6               OK
libserf1_0                 1.3.3-1                OK
libSM6                     1.2.2-1                OK
libsqlite3_0               3.8.4.1-1              OK
libssh2_1                  1.4.2-1                OK
libssp0                    4.8.2-3                OK
libstdc++6                 4.8.2-3                OK
libtasn1_6                 3.3-1                  OK
libthai0                   0.1.19-1               OK
libtiff5                   3.9.7-3                OK
libtool                    2.4.2-3                OK
libuuid-devel              2.21.2-1               OK
libuuid1                   2.21.2-1               OK
libwind0                   1.5.3-1                OK
libwrap-devel              7.6-22                 OK
libwrap0                   7.6-22                 OK
libX11-xcb1                1.6.2-1                OK
libX11_6                   1.6.2-1                OK
libXau6                    1.0.8-1                OK
libXaw7                    1.0.12-1               OK
libxcb-glx0                1.9.1-2                OK
libxcb-render0             1.9.1-2                OK
libxcb-shm0                1.9.1-2                OK
libxcb1                    1.9.1-2                OK
libXcomposite1             0.4.3-1                OK
libXcursor1                1.1.14-1               OK
libXdamage1                1.1.4-1                OK
libXdmcp6                  1.1.1-1                OK
libXext6                   1.3.2-1                OK
libXfixes3                 5.0.1-1                OK
libXft2                    2.3.1-1                OK
libXi6                     1.7.2-1                OK
libXinerama1               1.1.3-1                OK
libxml2                    2.9.1-1                OK
libXmu6                    1.1.2-1                OK
libXpm4                    3.5.11-1               OK
libXrandr2                 1.4.2-1                OK
libXrender1                0.9.8-1                OK
libXss1                    1.2.2-1                OK
libXt6                     1.1.4-1                OK
libzzip0.13                0.13.62-1              OK
lndir                      1.0.3-1                OK
login                      1.10-10                OK
lua                        5.1.5-1                OK
m4                         1.4.17-1               OK
make                       4.0-2                  OK
man                        1.6g-2                 OK
mingw-binutils             2.23.1-1               OK
mingw-gcc-core             4.7.3-1                OK
mingw-gcc-g++              4.7.3-1                OK
mingw-pthreads             20110507-2             OK
mingw-runtime              4.0-1                  OK
mingw-w32api               4.0-1                  OK
mingw64-i686-binutils      2.24.0.1.acd6540-1     OK
mingw64-i686-gcc-core      4.8.2-1                OK
mingw64-i686-gcc-g++       4.8.2-1                OK
mingw64-i686-headers       3.1.0-1                OK
mingw64-i686-runtime       3.1.0-1                OK
mingw64-i686-winpthreads   3.1.0-1                OK
mingw64-x86_64-binutils    2.24.0.1.acd6540-1     OK
mingw64-x86_64-gcc-core    4.8.2-1                OK
mingw64-x86_64-gcc-g++     4.8.2-1                OK
mingw64-x86_64-headers     3.1.0-1                OK
mingw64-x86_64-runtime     3.1.0-1                OK
mingw64-x86_64-winpthreads 3.1.0-1                OK
mintty                     1.2-beta1-1            OK
openldap-devel             2.4.35-1               OK
openssh                    6.6p1-1                OK
openssl                    1.0.1g-1               OK
openssl-devel              1.0.1g-1               OK
p11-kit                    0.20.2-1               OK
p11-kit-trust              0.20.2-1               OK
patch                      2.7.1-1                OK
perl                       5.14.4-1               OK
perl-DBD-mysql             4.023-1                OK
perl-DBI                   1.623-2                OK
perl-Encode-Locale         1.03-1                 OK
perl-File-Listing          6.04-1                 OK
perl-HTML-Parser           3.70-1                 OK
perl-HTML-Tagset           3.20-1                 OK
perl-HTTP-Cookies          6.01-1                 OK
perl-HTTP-Date             6.02-1                 OK
perl-HTTP-Message          6.06-1                 OK
perl-HTTP-Negotiate        6.01-1                 OK
perl-LWP                   6.05-1                 OK
perl-LWP-MediaTypes        6.02-1                 OK
perl-Net-HTTP              6.06-1                 OK
perl-Params-Util           1.07-1                 OK
perl-Tk                    804.030-3              OK
perl-URI                   1.60-1                 OK
perl-WWW-RobotRules        6.02-1                 OK
perl-XML-Parser            2.41-1                 OK
pkg-config                 0.27.1-1               OK
poppler-data               0.4.6-1                OK
popt                       1.16-1                 OK
procps                     3.2.8-2                OK
python                     2.7.5-3                OK
python-tkinter             2.7.5-3                OK
rebase                     4.4.1-1                OK
rsync                      3.0.9-1                OK
run                        1.3.0-1                OK
sed                        4.2.2-3                OK
shared-mime-info           1.2-1                  OK
subversion                 1.8.8-1                OK
t1lib5                     5.1.2-1                OK
tar                        1.26-1                 OK
tcl                        8.5.11-1               OK
tcl-tix                    8.4.3-2                OK
tcl-tk                     8.5.11-1               OK
tcsh                       6.18.01-3              OK
terminfo                   5.9-4                  OK
texinfo                    5.2-1                  OK
texlive                    20130529-1             OK
texlive-collection-basic   20130529-1             OK
tzcode                     2013c-1                OK
units                      2.01-2                 OK
unzip                      6.0-1                  OK
util-linux                 2.21.2-1               OK
vim-minimal                7.4.182-1              OK
w32api-headers             3.1.0-1                OK
w32api-runtime             3.1.0-1                OK
wdiff                      1.1.2-1                OK
wget                       1.13.4-1               OK
which                      2.20-2                 OK
xz                         5.0.4-1                OK
zip                        3.0-1                  OK
zlib-devel                 1.2.8-1                OK
zlib0                      1.2.8-1                OK
Use -h to see help about each section

[-- Attachment #5: .signature --]
[-- Type: text/plain, Size: 45 bytes --]


-- 
Jonathan Lennox
lennox@cs.columbia.edu


[-- Attachment #6: 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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-21 18:27 fstat st_size on open files on Parallels filesystem is wrong lennox
@ 2014-04-21 18:35 ` Andrey Repin
  2014-04-21 18:46   ` lennox
  0 siblings, 1 reply; 20+ messages in thread
From: Andrey Repin @ 2014-04-21 18:35 UTC (permalink / raw)
  To: lennox, cygwin

Greetings, lennox@cs.columbia.edu!

> I’m running cygwin64 1.7.29 in a Windows 8.1 Pro virtual machine, running in
> Parallels Desktop 9.0.24229 on Mac OS X 10.9.2.

> Parallels Desktop automatically mounts my Mac OS X home directory as a Z:
> drive in Windows.  Cygwin mount reports this drive as being type "prlsf".

> Unfortunately, I've discovered that if I have an open file on this
> filesystem which has been written to, the size returned by Cygwin fstat() on
> the open file is wrong.  A stat() of the file after it's been closed is
> correct.

> This has the consequence that emacs always thinks saved files have been
> modified externally, since emacs looks at files' sizes (as well as their
> modification times) to detect external changes.  This makes emacs
> near-unusable.

> This problem does not occur for files in my Cygwin home directory, or other
> locations mounted on my Windows C: drive.

> I've attached a simple unit test program that illustrates the problem.
> I've also attached my cygcheck -s -v -r output.

> Any ideas?  Is this a Cygwin bug, a Parallels bug, or something else?
> Glancing over the Cygwin code, I see that there are a few cases where fstat
> has special cases for certain filesystem types.

You never flushing the buffer in your test code, or I'm reading it wrong?


--
WBR,
Andrey Repin (anrdaemon@yandex.ru) 21.04.2014, <22:33>

Sorry for my terrible english...

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-21 18:35 ` Andrey Repin
@ 2014-04-21 18:46   ` lennox
  2014-04-22  8:16     ` Corinna Vinschen
  0 siblings, 1 reply; 20+ messages in thread
From: lennox @ 2014-04-21 18:46 UTC (permalink / raw)
  To: cygwin

On Monday, April 21 2014, "Andrey Repin" wrote to "lennox at
cs.columbia.edu, cygwin at cygwin.com" saying:

> Greetings, lennox at cs.columbia.edu!
> 
> > I’m running cygwin64 1.7.29 in a Windows 8.1 Pro virtual machine, running in
> > Parallels Desktop 9.0.24229 on Mac OS X 10.9.2.
> 
> > Parallels Desktop automatically mounts my Mac OS X home directory as a Z:
> > drive in Windows.  Cygwin mount reports this drive as being type "prlsf".
> 
> > Unfortunately, I've discovered that if I have an open file on this
> > filesystem which has been written to, the size returned by Cygwin fstat() on
> > the open file is wrong.  A stat() of the file after it's been closed is
> > correct.
> 
> > This has the consequence that emacs always thinks saved files have been
> > modified externally, since emacs looks at files' sizes (as well as their
> > modification times) to detect external changes.  This makes emacs
> > near-unusable.
> 
> > This problem does not occur for files in my Cygwin home directory, or other
> > locations mounted on my Windows C: drive.
> 
> > I've attached a simple unit test program that illustrates the problem.
> > I've also attached my cygcheck -s -v -r output.
> 
> > Any ideas?  Is this a Cygwin bug, a Parallels bug, or something else?
> > Glancing over the Cygwin code, I see that there are a few cases where fstat
> > has special cases for certain filesystem types.
> 
> You never flushing the buffer in your test code, or I'm reading it wrong?

This is using Posix APIs -- open() / write() -- not C APIs, fopen() /
fwrite(), so there shouldn't be a buffer?  Notice that the test behaves as I
expect for a file on NTFS.

Adding a call to fsync() prior to the fstat() call doesn't change anything.

I've modeled this as closely as I could on what it appears emacs is doing,
as far as I could tell.

-- 
Jonathan Lennox
lennox at cs.columbia.edu

--
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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-21 18:46   ` lennox
@ 2014-04-22  8:16     ` Corinna Vinschen
  2014-04-22 16:09       ` lennox
  2014-04-22 20:57       ` lennox
  0 siblings, 2 replies; 20+ messages in thread
From: Corinna Vinschen @ 2014-04-22  8:16 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2505 bytes --]

On Apr 21 14:46, lennox@cs.columbia.edu wrote:
> On Monday, April 21 2014, "Andrey Repin" wrote to "lennox at
> cs.columbia.edu, cygwin at cygwin.com" saying:
> 
> > Greetings, lennox at cs.columbia.edu!
> > 
> > > I’m running cygwin64 1.7.29 in a Windows 8.1 Pro virtual machine, running in
> > > Parallels Desktop 9.0.24229 on Mac OS X 10.9.2.
> > 
> > > Parallels Desktop automatically mounts my Mac OS X home directory as a Z:
> > > drive in Windows.  Cygwin mount reports this drive as being type "prlsf".
> > 
> > > Unfortunately, I've discovered that if I have an open file on this
> > > filesystem which has been written to, the size returned by Cygwin fstat() on
> > > the open file is wrong.  A stat() of the file after it's been closed is
> > > correct.
> > 
> > > This has the consequence that emacs always thinks saved files have been
> > > modified externally, since emacs looks at files' sizes (as well as their
> > > modification times) to detect external changes.  This makes emacs
> > > near-unusable.
> > 
> > > This problem does not occur for files in my Cygwin home directory, or other
> > > locations mounted on my Windows C: drive.
> > 
> > > I've attached a simple unit test program that illustrates the problem.
> > > I've also attached my cygcheck -s -v -r output.
> > 
> > > Any ideas?  Is this a Cygwin bug, a Parallels bug, or something else?
> > > Glancing over the Cygwin code, I see that there are a few cases where fstat
> > > has special cases for certain filesystem types.
> > 
> > You never flushing the buffer in your test code, or I'm reading it wrong?
> 
> This is using Posix APIs -- open() / write() -- not C APIs, fopen() /
> fwrite(), so there shouldn't be a buffer?  Notice that the test behaves as I
> expect for a file on NTFS.
> 
> Adding a call to fsync() prior to the fstat() call doesn't change anything.

This is actually a bad sign.  The problem you're describing occurs on
NFS, too.  If you write to the file, a subsequent call to fetch stat
attributes does not return the actual size of the file, but the size at
the time the handle has been opened.

However, on NFS, a call to FlushFileBuffers helps to kick stat back into
shape.  That's the Win32 function called from fsync as well.  What is
Cygwin supposed to do if that doesn't work?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-22  8:16     ` Corinna Vinschen
@ 2014-04-22 16:09       ` lennox
  2014-04-22 20:57       ` lennox
  1 sibling, 0 replies; 20+ messages in thread
From: lennox @ 2014-04-22 16:09 UTC (permalink / raw)
  To: cygwin

On Tuesday, April 22 2014, "Corinna Vinschen" wrote to "cygwin at cygwin.com" saying:

> On Apr 21 14:46, lennox at cs.columbia.edu wrote:
> > On Monday, April 21 2014, "Andrey Repin" wrote to "lennox at
> > cs.columbia.edu, cygwin at cygwin.com" saying:
> > 
> > > Greetings, lennox at cs.columbia.edu!
> > > 
> > > > I’m running cygwin64 1.7.29 in a Windows 8.1 Pro virtual machine, running in
> > > > Parallels Desktop 9.0.24229 on Mac OS X 10.9.2.
> > > 
> > > > Parallels Desktop automatically mounts my Mac OS X home directory as a Z:
> > > > drive in Windows.  Cygwin mount reports this drive as being type "prlsf".
> > > 
> > > > Unfortunately, I've discovered that if I have an open file on this
> > > > filesystem which has been written to, the size returned by Cygwin fstat() on
> > > > the open file is wrong.  A stat() of the file after it's been closed is
> > > > correct.
> > > 
> > > > This has the consequence that emacs always thinks saved files have been
> > > > modified externally, since emacs looks at files' sizes (as well as their
> > > > modification times) to detect external changes.  This makes emacs
> > > > near-unusable.
> > > 
> > > > This problem does not occur for files in my Cygwin home directory, or other
> > > > locations mounted on my Windows C: drive.
> > > 
> > > > I've attached a simple unit test program that illustrates the problem.
> > > > I've also attached my cygcheck -s -v -r output.
> > > 
> > > > Any ideas?  Is this a Cygwin bug, a Parallels bug, or something else?
> > > > Glancing over the Cygwin code, I see that there are a few cases where fstat
> > > > has special cases for certain filesystem types.
> > > 
> > > You never flushing the buffer in your test code, or I'm reading it wrong?
> > 
> > This is using Posix APIs -- open() / write() -- not C APIs, fopen() /
> > fwrite(), so there shouldn't be a buffer?  Notice that the test behaves as I
> > expect for a file on NTFS.
> > 
> > Adding a call to fsync() prior to the fstat() call doesn't change anything.
> 
> This is actually a bad sign.  The problem you're describing occurs on
> NFS, too.  If you write to the file, a subsequent call to fetch stat
> attributes does not return the actual size of the file, but the size at
> the time the handle has been opened.
> 
> However, on NFS, a call to FlushFileBuffers helps to kick stat back into
> shape.  That's the Win32 function called from fsync as well.  What is
> Cygwin supposed to do if that doesn't work?

It's certainly possible that the file system driver in the Parallels Tools
has a bug, and if so I'm happy to report it to Parallels.

I'll see if I can reproduce the test case using just Win32 APIs.  Are there
any particular gotchas I should watch out for, or should just looking at
what Win32 functions are called in fhandler_disk_file.cc be sufficient?


-- 
Jonathan Lennox
lennox at cs.columbia.edu

--
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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-22  8:16     ` Corinna Vinschen
  2014-04-22 16:09       ` lennox
@ 2014-04-22 20:57       ` lennox
  2014-04-23  8:41         ` Corinna Vinschen
  1 sibling, 1 reply; 20+ messages in thread
From: lennox @ 2014-04-22 20:57 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 3952 bytes --]

On Tuesday, April 22 2014, "Corinna Vinschen" wrote to "cygwin at cygwin.com" saying:

> On Apr 21 14:46, lennox at cs.columbia.edu wrote:
> > On Monday, April 21 2014, "Andrey Repin" wrote to "lennox at
> > cs.columbia.edu, cygwin at cygwin.com" saying:
> > 
> > > Greetings, lennox at cs.columbia.edu!
> > > 
> > > > I’m running cygwin64 1.7.29 in a Windows 8.1 Pro virtual machine, running in
> > > > Parallels Desktop 9.0.24229 on Mac OS X 10.9.2.
> > > 
> > > > Parallels Desktop automatically mounts my Mac OS X home directory as a Z:
> > > > drive in Windows.  Cygwin mount reports this drive as being type "prlsf".
> > > 
> > > > Unfortunately, I've discovered that if I have an open file on this
> > > > filesystem which has been written to, the size returned by Cygwin fstat() on
> > > > the open file is wrong.  A stat() of the file after it's been closed is
> > > > correct.
> > > 
> > > > This has the consequence that emacs always thinks saved files have been
> > > > modified externally, since emacs looks at files' sizes (as well as their
> > > > modification times) to detect external changes.  This makes emacs
> > > > near-unusable.
> > > 
> > > > This problem does not occur for files in my Cygwin home directory, or other
> > > > locations mounted on my Windows C: drive.
> > > 
> > > > I've attached a simple unit test program that illustrates the problem.
> > > > I've also attached my cygcheck -s -v -r output.
> > > 
> > > > Any ideas?  Is this a Cygwin bug, a Parallels bug, or something else?
> > > > Glancing over the Cygwin code, I see that there are a few cases where fstat
> > > > has special cases for certain filesystem types.
> > > 
> > > You never flushing the buffer in your test code, or I'm reading it wrong?
> > 
> > This is using Posix APIs -- open() / write() -- not C APIs, fopen() /
> > fwrite(), so there shouldn't be a buffer?  Notice that the test behaves as I
> > expect for a file on NTFS.
> > 
> > Adding a call to fsync() prior to the fstat() call doesn't change anything.
> 
> This is actually a bad sign.  The problem you're describing occurs on
> NFS, too.  If you write to the file, a subsequent call to fetch stat
> attributes does not return the actual size of the file, but the size at
> the time the handle has been opened.
> 
> However, on NFS, a call to FlushFileBuffers helps to kick stat back into
> shape.  That's the Win32 function called from fsync as well.  What is
> Cygwin supposed to do if that doesn't work?

Okay, interesting further investigation.

The Parallels filesystem appears to work correctly when I repeat the test
case using Windows kernel32 APIs -- specifically, FileInformationByHandle --
so something's different between the kernel32 APIs and the ntdll APIs that
Cygwin uses.

Sample code for Win32 test attached.  Works identically with Cygwin, MinGW,
or Visual C++.

Just spitballing here, but -- I see that cygwin's file_get_fnoi function
(which is where fhandler_base::fstat_by_handle gets its size parameter)
tries NtQueryInformationFile(FileNetworkOpenInformation) before
NtQueryInformationFile(FileStandardInformation).  Is it possible that the
Parallels filesystem isn't filling out all fields of that API properly?  Is
there a straightforward way I could debug this?



$ ./stat-size-test.exe '/cygdrive/z/foo'
/cygdrive/z/foo: fstat: st_size=0
/cygdrive/z/foo: stat: st_size=12

$ ./win32-size-test.exe 'z:\foo'
z:\foo: FileInformationByHandle: nFileSize=12

$ mount
C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
S: on /cygdrive/s type ntfs (binary,posix=0,user,noumount,auto)
U: on /cygdrive/u type ntfs (binary,posix=0,user,noumount,auto)
Z: on /cygdrive/z type prlsf (binary,posix=0,user,noumount,auto)


[-- Attachment #2: win32-size-test.c --]
[-- Type: text/plain, Size: 1748 bytes --]

#include <windows.h>
#include <stdio.h>
#include <inttypes.h>

#if __LP64__
#define PRI_DWORD "u"
#else
#define PRI_DWORD "lu"
#endif

static const char* geterr(DWORD err)
{
	static char msg[1024];

	FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS |
		FORMAT_MESSAGE_MAX_WIDTH_MASK, NULL, err,
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
		(LPSTR)msg, sizeof(msg), NULL);

	return msg;
}

int main(int argc, char* argv[])
{
	int i;
	int status = 0;
	for (i = 1; i < argc; i++) {
		HANDLE file;
		DWORD err, bytesWritten;
		BY_HANDLE_FILE_INFORMATION fileInfo;

		file = CreateFileA(argv[i], GENERIC_WRITE, FILE_SHARE_WRITE,
			NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
		if (file == INVALID_HANDLE_VALUE) {
			err = GetLastError();
			fprintf(stderr, "%s: CreateFile: %s (err %" PRI_DWORD")\n", argv[i],
				geterr(err), err);
			status++;
			continue;
		}

		if (!WriteFile(file, "Hello world!\n", 12, &bytesWritten, NULL) ||
			bytesWritten != 12) {
			err = GetLastError();
			fprintf(stderr, "%s: WriteFile: %s (err %" PRI_DWORD ")\n", argv[i],
				geterr(err), err);
			CloseHandle(file);
			status++;
			continue;
		}

		if (!GetFileInformationByHandle(file, &fileInfo)) {
			err = GetLastError();
			fprintf(stderr, "%s: GetFileInformationByHandle: %s (err %" PRI_DWORD ")\n",
				argv[i], geterr(err), err);
			CloseHandle(file);
			status++;
			continue;
		}

		printf("%s: FileInformationByHandle: nFileSize=%" PRIu64 "\n",
			argv[i], (uint64_t)fileInfo.nFileSizeHigh << 32 | fileInfo.nFileSizeLow);

		if (!CloseHandle(file)) {
			err = GetLastError();
			fprintf(stderr, "%s: CloseHandle: %s (err %" PRI_DWORD ")\n", argv[i],
				geterr(err), err);
			status++;
			continue;
		}
	}
	return status;
}

[-- Attachment #3: .signature --]
[-- Type: text/plain, Size: 49 bytes --]



-- 
Jonathan Lennox
lennox at cs.columbia.edu


[-- 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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-22 20:57       ` lennox
@ 2014-04-23  8:41         ` Corinna Vinschen
  2014-04-23 16:47           ` lennox
  0 siblings, 1 reply; 20+ messages in thread
From: Corinna Vinschen @ 2014-04-23  8:41 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 3896 bytes --]

On Apr 22 16:57, lennox@cs.columbia.edu wrote:
> On Tuesday, April 22 2014, "Corinna Vinschen" wrote to "cygwin at cygwin.com" saying:
> > On Apr 21 14:46, lennox at cs.columbia.edu wrote:
> > > [...]
> > > This is using Posix APIs -- open() / write() -- not C APIs, fopen() /
> > > fwrite(), so there shouldn't be a buffer?  Notice that the test behaves as I
> > > expect for a file on NTFS.
> > > 
> > > Adding a call to fsync() prior to the fstat() call doesn't change anything.
> > 
> > This is actually a bad sign.  The problem you're describing occurs on
> > NFS, too.  If you write to the file, a subsequent call to fetch stat
> > attributes does not return the actual size of the file, but the size at
> > the time the handle has been opened.
> > 
> > However, on NFS, a call to FlushFileBuffers helps to kick stat back into
> > shape.  That's the Win32 function called from fsync as well.  What is
> > Cygwin supposed to do if that doesn't work?
> 
> Okay, interesting further investigation.
> 
> The Parallels filesystem appears to work correctly when I repeat the test
> case using Windows kernel32 APIs -- specifically, FileInformationByHandle --
> so something's different between the kernel32 APIs and the ntdll APIs that
> Cygwin uses.
> 
> Sample code for Win32 test attached.  Works identically with Cygwin, MinGW,
> or Visual C++.
> 
> Just spitballing here, but -- I see that cygwin's file_get_fnoi function
> (which is where fhandler_base::fstat_by_handle gets its size parameter)
> tries NtQueryInformationFile(FileNetworkOpenInformation) before
> NtQueryInformationFile(FileStandardInformation).  Is it possible that the
> Parallels filesystem isn't filling out all fields of that API properly?  Is
> there a straightforward way I could debug this?

You could use the same functions.  Since you had a look into the sources
anyway, you probably saw the comments:

  /* Some FSes (Netapps) don't implement FileNetworkOpenInformation. */
  [...call NtQueryInformationFile(FileNetworkOpenInformation) unless
      the skip_network_open_inf flag is given...]
  if (status == STATUS_INVALID_PARAMETER)
     /* Apart from accessing Netapps, this also occurs when accessing SMB
	share root dirs hosted on NT4. */
     [...call NtQueryInformationFile(FileBasicInformation) and
              NtQueryInformationFile(FileStandardInformation)...]

Rather than calling GetFileInformationByHandle, try this

  #include <winternl.h>

  [...]

  NTSTATUS status;
  IO_STATUS_BLOCK io;
  FILE_NETWORK_OPEN_INFORMATION fnoi;
  
  status = NtQueryInformationFile (file, &io, &fnoi, sizeof fnoi,
				   FileNetworkOpenInformation);
  if (!NT_SUCCESS (status))
    {
      fprintf (stderr, "NtQueryInformationFile: 0x%08x\n", status);
      [...]
    }
  printf("%s: NtQueryInformationFile: nFileSize=%" PRIu64 "\n",
	 argv[i], fnoi.EndOfFile.QuadPart);

Maybe that's really the problem.  If so, either the EndOfFile info
is wrong, or (more likely) the call to NtQueryInformationFile returns
with a non-0 status code, which would be interesting to know.  It's
probably not STATUS_INVALID_PARAMETER, otherwise you probably wouldn't
have seen a problem at all.

Replacing the above call with

  FILE_STANDARD_INFORMATION fsi;
  status = NtQueryInformationFile (file, &io, &fsi, sizeof fsi,
				   FileStandardInformation);
  [...]
  printf("%s: NtQueryInformationFile: nFileSize=%" PRIu64 "\n",
	 argv[i], fsi.EndOfFile.QuadPart);

should then give the correct result.

Also, to add handling for the Parallels filesystem to Cygwin, I'd
need the info printed by the getVolInfo tool from the csih package:

  $ /usr/lib/csih/getVolInfo /cygdrive/z


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-23  8:41         ` Corinna Vinschen
@ 2014-04-23 16:47           ` lennox
  2014-04-23 17:24             ` Corinna Vinschen
  0 siblings, 1 reply; 20+ messages in thread
From: lennox @ 2014-04-23 16:47 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 4633 bytes --]

On Wednesday, April 23 2014, "Corinna Vinschen" wrote to "cygwin at cygwin.com" saying:

> Rather than calling GetFileInformationByHandle, try this
> 
>   #include <winternl.h>
> 
>   [...]
> 
>   NTSTATUS status;
>   IO_STATUS_BLOCK io;
>   FILE_NETWORK_OPEN_INFORMATION fnoi;
>   
>   status = NtQueryInformationFile (file, &io, &fnoi, sizeof fnoi,
>                                        FileNetworkOpenInformation);
>   if (!NT_SUCCESS (status))
>     {
>       fprintf (stderr, "NtQueryInformationFile: 0x%08x\n", status);
>       [...]
>     }
>   printf("%s: NtQueryInformationFile: nFileSize=%" PRIu64 "\n",
>    argv[i], fnoi.EndOfFile.QuadPart);
> 
> Maybe that's really the problem.  If so, either the EndOfFile info
> is wrong, or (more likely) the call to NtQueryInformationFile returns
> with a non-0 status code, which would be interesting to know.  It's
> probably not STATUS_INVALID_PARAMETER, otherwise you probably wouldn't
> have seen a problem at all.
> 
> Replacing the above call with
> 
>   FILE_STANDARD_INFORMATION fsi;
>   status = NtQueryInformationFile (file, &io, &fsi, sizeof fsi,
>                                        FileStandardInformation);
>   [...]
>   printf("%s: NtQueryInformationFile: nFileSize=%" PRIu64 "\n",
>    argv[i], fsi.EndOfFile.QuadPart);
> 
> should then give the correct result.

Okay, looks like FileNetworkOpenInformation is succeeding, but returning a
bad EndOfFile value.

$ ./win32-size-test 'z:\foo'
z:\foo: NtQueryInformationFile(FileNetworkOpenInformation): EndOfFile=0
z:\foo: NtQueryInformationFile(FileStandardInformation): EndOfFile=12

$ gdb --quiet --args ./win32-size-test.exe 'z:\foo'
Reading symbols from /cygdrive/z/Emacs-Modtime/win32-size-test.exe...done.
(gdb) break 82
Breakpoint 1 at 0x100401400: file win32-size-test.c, line 82.
(gdb) run
Starting program: /cygdrive/z/Emacs-Modtime/win32-size-test.exe z:\\foo
[New Thread 10540.0x48dc]
[New Thread 10540.0x39d4]
z:\\foo: NtQueryInformationFile(FileNetworkOpenInformation): EndOfFile=0
z:\\foo: NtQueryInformationFile(FileStandardInformation): EndOfFile=12

Breakpoint 1, main (argc=2, argv=0x22aaf0) at win32-size-test.c:82
82                      if (!CloseHandle(file)) {
(gdb) p fnoi
$1 = {CreationTime = {{LowPart = 1493948928, HighPart = 30367507}, u = {
      LowPart = 1493948928, HighPart = 30367507},
    QuadPart = 130427450920000000}, LastAccessTime = {{LowPart = 1493948928,
      HighPart = 30367507}, u = {LowPart = 1493948928, HighPart = 30367507},
    QuadPart = 130427450920000000}, LastWriteTime = {{LowPart = 1493948928,
      HighPart = 30367507}, u = {LowPart = 1493948928, HighPart = 30367507},
    QuadPart = 130427450920000000}, ChangeTime = {{LowPart = 1493948928,
      HighPart = 30367507}, u = {LowPart = 1493948928, HighPart = 30367507},
    QuadPart = 130427450920000000}, AllocationSize = {{LowPart = 12,
      HighPart = 0}, u = {LowPart = 12, HighPart = 0}, QuadPart = 12},
  EndOfFile = {{LowPart = 0, HighPart = 0}, u = {LowPart = 0, HighPart = 0},
    QuadPart = 0}, FileAttributes = 128}
(gdb) p fsi
$2 = {AllocationSize = {{LowPart = 12, HighPart = 0}, u = {LowPart = 12,
      HighPart = 0}, QuadPart = 12}, EndOfFile = {{LowPart = 12,
      HighPart = 0}, u = {LowPart = 12, HighPart = 0}, QuadPart = 12},
  NumberOfLinks = 1, DeletePending = 0 '\000', Directory = 0 '\000'}

At this point this is looking pretty clearly like a Parallels Tools bug.
I'll report it to them.


> Also, to add handling for the Parallels filesystem to Cygwin, I'd
> need the info printed by the getVolInfo tool from the csih package:
> 
>   $ /usr/lib/csih/getVolInfo /cygdrive/z

$ /usr/lib/csih/getVolInfo.exe /cygdrive/z/
Device Type        : 7
Characteristics    : 10
Volume Name        : <Shared Folders>
Serial Number      : 0
Max Filenamelength : 255
Filesystemname     : <PrlSF>
Flags              : 3
  FILE_CASE_SENSITIVE_SEARCH  : TRUE
  FILE_CASE_PRESERVED_NAMES   : TRUE
  FILE_UNICODE_ON_DISK        : FALSE
  FILE_PERSISTENT_ACLS        : FALSE
  FILE_FILE_COMPRESSION       : FALSE
  FILE_VOLUME_QUOTAS          : FALSE
  FILE_SUPPORTS_SPARSE_FILES  : FALSE
  FILE_SUPPORTS_REPARSE_POINTS: FALSE
  FILE_SUPPORTS_REMOTE_STORAGE: FALSE
  FILE_VOLUME_IS_COMPRESSED   : FALSE
  FILE_SUPPORTS_OBJECT_IDS    : FALSE
  FILE_SUPPORTS_ENCRYPTION    : FALSE
  FILE_NAMED_STREAMS          : FALSE
  FILE_READ_ONLY_VOLUME       : FALSE
  FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
  FILE_SUPPORTS_TRANSACTIONS  : FALSE


Here's my test code.  Compiles with either Cygwin or mingw64 GCC, but not
classic mingw or Visual Studio due to missing headers/declarations.  Link
with -lntdll.


[-- Attachment #2: win32-size-test.c --]
[-- Type: text/plain, Size: 2409 bytes --]

#include <windows.h>
#include <stdio.h>
#include <inttypes.h>
#include <winternl.h>

#if __LP64__
#define PRIuDWORD "u"
#define PRIxDWORD "x"
#else
#define PRIuDWORD "lu"
#define PRIxDWORD "lx"
#endif

static const char* geterr(DWORD err)
{
	static char msg[1024];

	FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS |
		FORMAT_MESSAGE_MAX_WIDTH_MASK, NULL, err,
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
		(LPSTR)msg, sizeof(msg), NULL);

	return msg;
}

int main(int argc, char* argv[])
{
	int i;
	int exitstatus = 0;
	for (i = 1; i < argc; i++) {
		HANDLE file;
		DWORD err, bytesWritten;

		NTSTATUS ntstatus;
		IO_STATUS_BLOCK io;
		FILE_NETWORK_OPEN_INFORMATION fnoi;
		FILE_STANDARD_INFORMATION fsi;
  
		file = CreateFileA(argv[i], GENERIC_WRITE, FILE_SHARE_WRITE,
			NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
		if (file == INVALID_HANDLE_VALUE) {
			err = GetLastError();
			fprintf(stderr, "%s: CreateFile: %s (err 0x%08" PRIxDWORD")\n", argv[i],
				geterr(err), err);
			exitstatus++;
			continue;
		}

		if (!WriteFile(file, "Hello world!\n", 12, &bytesWritten, NULL) ||
			bytesWritten != 12) {
			err = GetLastError();
			fprintf(stderr, "%s: WriteFile: %s (err 0x%08" PRIxDWORD ")\n", argv[i],
				geterr(err), err);
			CloseHandle(file);
			exitstatus++;
			continue;
		}

		ntstatus = NtQueryInformationFile (file, &io, &fnoi, sizeof fnoi,
			FileNetworkOpenInformation);
		if (!NT_SUCCESS (ntstatus)) {
			fprintf (stderr, "%s: NtQueryInformationFile(FileNetworkOpenInformation): %s (err 0x%08" PRIxDWORD ")\n",
				argv[i], geterr(ntstatus), ntstatus);
		}
		else {
			printf("%s: NtQueryInformationFile(FileNetworkOpenInformation): EndOfFile=%" PRIu64 "\n",
				argv[i], (uint64_t)fnoi.EndOfFile.QuadPart);
		}

		ntstatus = NtQueryInformationFile (file, &io, &fsi, sizeof fsi,
			FileStandardInformation);
		if (!NT_SUCCESS (ntstatus)) {
			fprintf (stderr, "%s: NtQueryInformationFile(FileStandardInformation): %s (err 0x%08" PRIxDWORD ")\n",
				argv[i], geterr(ntstatus), ntstatus);
		}
		else {
			printf("%s: NtQueryInformationFile(FileStandardInformation): EndOfFile=%" PRIu64 "\n",
				argv[i], (uint64_t)fsi.EndOfFile.QuadPart);
		}


		if (!CloseHandle(file)) {
			err = GetLastError();
			fprintf(stderr, "%s: CloseHandle: %s (err %" PRIxDWORD ")\n", argv[i],
				geterr(err), err);
			exitstatus++;
			continue;
		}
	}
	return exitstatus;
}

[-- Attachment #3: .signature --]
[-- Type: text/plain, Size: 49 bytes --]



-- 
Jonathan Lennox
lennox at cs.columbia.edu


[-- 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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-23 16:47           ` lennox
@ 2014-04-23 17:24             ` Corinna Vinschen
  2015-10-08 16:16               ` Jonathan Lennox
  0 siblings, 1 reply; 20+ messages in thread
From: Corinna Vinschen @ 2014-04-23 17:24 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 3145 bytes --]

On Apr 23 12:47, lennox@cs.columbia.edu wrote:
> On Wednesday, April 23 2014, "Corinna Vinschen" wrote to "cygwin at cygwin.com" saying:
> 
> > Rather than calling GetFileInformationByHandle, try this
> > [...]
> Okay, looks like FileNetworkOpenInformation is succeeding, but returning a
> bad EndOfFile value.
> 
> $ ./win32-size-test 'z:\foo'
> z:\foo: NtQueryInformationFile(FileNetworkOpenInformation): EndOfFile=0
> z:\foo: NtQueryInformationFile(FileStandardInformation): EndOfFile=12
> 
> $ gdb --quiet --args ./win32-size-test.exe 'z:\foo'
> Reading symbols from /cygdrive/z/Emacs-Modtime/win32-size-test.exe...done.
> (gdb) break 82
> Breakpoint 1 at 0x100401400: file win32-size-test.c, line 82.
> (gdb) run
> Starting program: /cygdrive/z/Emacs-Modtime/win32-size-test.exe z:\\foo
> [New Thread 10540.0x48dc]
> [New Thread 10540.0x39d4]
> z:\\foo: NtQueryInformationFile(FileNetworkOpenInformation): EndOfFile=0
> z:\\foo: NtQueryInformationFile(FileStandardInformation): EndOfFile=12

Wow, strange.

> At this point this is looking pretty clearly like a Parallels Tools bug.
> I'll report it to them.

Yes, that sounds good.  Given that, I'm wondering if we should try to
workaround this problem at all or rather wait to see if the vendor will
fix the issue.

> > Also, to add handling for the Parallels filesystem to Cygwin, I'd
> > need the info printed by the getVolInfo tool from the csih package:
> > 
> >   $ /usr/lib/csih/getVolInfo /cygdrive/z
> 
> $ /usr/lib/csih/getVolInfo.exe /cygdrive/z/
> Device Type        : 7
> Characteristics    : 10
> Volume Name        : <Shared Folders>
> Serial Number      : 0
> Max Filenamelength : 255
> Filesystemname     : <PrlSF>
> Flags              : 3
>   FILE_CASE_SENSITIVE_SEARCH  : TRUE
>   FILE_CASE_PRESERVED_NAMES   : TRUE
>   FILE_UNICODE_ON_DISK        : FALSE
>   FILE_PERSISTENT_ACLS        : FALSE
>   FILE_FILE_COMPRESSION       : FALSE
>   FILE_VOLUME_QUOTAS          : FALSE
>   FILE_SUPPORTS_SPARSE_FILES  : FALSE
>   FILE_SUPPORTS_REPARSE_POINTS: FALSE
>   FILE_SUPPORTS_REMOTE_STORAGE: FALSE
>   FILE_VOLUME_IS_COMPRESSED   : FALSE
>   FILE_SUPPORTS_OBJECT_IDS    : FALSE
>   FILE_SUPPORTS_ENCRYPTION    : FALSE
>   FILE_NAMED_STREAMS          : FALSE
>   FILE_READ_ONLY_VOLUME       : FALSE
>   FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
>   FILE_SUPPORTS_TRANSACTIONS  : FALSE

Thanks.  This looks pretty much like a filesystem pretending to be
FAT-like.  There may be another problem lurking, which is, are the inode
numbers (called "FileId" or "IndexNumber" in Windows) persistant?  With
FAT this is not the case, and given the above, it might be a problem...

...or not.  I just realize that Cygwin doesn't even try to use the
FileId as inode number on filesystems with FILE_PERSISTENT_ACLS==FALSE
so, never mind.

OTOH, does it support hardlinks?  If so, two hardlinks to the
same file would have different inode numbers on Cygwin.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2014-04-23 17:24             ` Corinna Vinschen
@ 2015-10-08 16:16               ` Jonathan Lennox
  2015-10-21 11:07                 ` Corinna Vinschen
  0 siblings, 1 reply; 20+ messages in thread
From: Jonathan Lennox @ 2015-10-08 16:16 UTC (permalink / raw)
  To: cygwin

Hi, following up on this issue from last year.  The message I'm replying to
is at <https://cygwin.com/ml/cygwin/2014-04/msg00524.html>.

The problem is weird behavior in Parallels Desktop-hosted Windows VMs, when
accessing the host's native Mac OS X filesystem.  See the thread for the
details.

On Wednesday, April 23 2014, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:

> > At this point this is looking pretty clearly like a Parallels Tools bug.
> > I'll report it to them.
> 
> Yes, that sounds good.  Given that, I'm wondering if we should try to
> workaround this problem at all or rather wait to see if the vendor will
> fix the issue.

No such luck, despite two major version revisions of Parallels Desktop (I'm
now on version 11.0.2) and moving to Windows 10 as the guest OS -- the bug
perists, unchanged.  So it looks like Cygwin will need to add a workaround
for this filesystem to fix the problem.

The output of /usr/lib/csih/getVolInfo seems to be unchanged from the output
I reported last year.

> Thanks.  This looks pretty much like a filesystem pretending to be
> FAT-like.  There may be another problem lurking, which is, are the inode
> numbers (called "FileId" or "IndexNumber" in Windows) persistant?  With
> FAT this is not the case, and given the above, it might be a problem...
> 
> ...or not.  I just realize that Cygwin doesn't even try to use the
> FileId as inode number on filesystems with FILE_PERSISTENT_ACLS==FALSE
> so, never mind.
> 
> OTOH, does it support hardlinks?  If so, two hardlinks to the
> same file would have different inode numbers on Cygwin.

How would I figure these points out?

-- 
Jonathan Lennox
lennox@cs.columbia.edu

--
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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-10-08 16:16               ` Jonathan Lennox
@ 2015-10-21 11:07                 ` Corinna Vinschen
  2015-11-02  9:38                   ` Jonathan Lennox
  0 siblings, 1 reply; 20+ messages in thread
From: Corinna Vinschen @ 2015-10-21 11:07 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2605 bytes --]

On Oct  8 12:16, Jonathan Lennox wrote:
> Hi, following up on this issue from last year.  The message I'm replying to
> is at <https://cygwin.com/ml/cygwin/2014-04/msg00524.html>.
> 
> The problem is weird behavior in Parallels Desktop-hosted Windows VMs, when
> accessing the host's native Mac OS X filesystem.  See the thread for the
> details.
> 
> On Wednesday, April 23 2014, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> 
> > > At this point this is looking pretty clearly like a Parallels Tools bug.
> > > I'll report it to them.
> > 
> > Yes, that sounds good.  Given that, I'm wondering if we should try to
> > workaround this problem at all or rather wait to see if the vendor will
> > fix the issue.
> 
> No such luck, despite two major version revisions of Parallels Desktop (I'm
> now on version 11.0.2) and moving to Windows 10 as the guest OS -- the bug
> perists, unchanged.  So it looks like Cygwin will need to add a workaround
> for this filesystem to fix the problem.

Ok, we could do that.  Can you compile and run the testcase from
https://cygwin.com/ml/cygwin/2014-04/msg00523.html again?  Does it
still show 0 vs. 12 bytes?  Dumb extra test: Does the output change
if you reorder the calls, requesting FileStandardInformation first,
FileNetworkOpenInformation second?

> The output of /usr/lib/csih/getVolInfo seems to be unchanged from the output
> I reported last year.
> 
> > Thanks.  This looks pretty much like a filesystem pretending to be
> > FAT-like.  There may be another problem lurking, which is, are the inode
> > numbers (called "FileId" or "IndexNumber" in Windows) persistant?  With
> > FAT this is not the case, and given the above, it might be a problem...
> > 
> > ...or not.  I just realize that Cygwin doesn't even try to use the
> > FileId as inode number on filesystems with FILE_PERSISTENT_ACLS==FALSE
> > so, never mind.
> > 
> > OTOH, does it support hardlinks?  If so, two hardlinks to the
> > same file would have different inode numbers on Cygwin.
> 
> How would I figure these points out?

Just create a hardlink on that drive using native means:

  $ touch foo
  $ cmd /c mklink /h bar foo

Error at this point?  No hardlinks.  Otherwise:

  $ ls -li foo bar

Are the inode numbers identical?  Congrats, hardlinks work.  But given
the general FAT-iness of the getVolInfo output, I guess it doesn't
maintain hardlinks.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-10-21 11:07                 ` Corinna Vinschen
@ 2015-11-02  9:38                   ` Jonathan Lennox
  2015-11-02 11:23                     ` Corinna Vinschen
  2015-11-02 12:52                     ` cyg Simple
  0 siblings, 2 replies; 20+ messages in thread
From: Jonathan Lennox @ 2015-11-02  9:38 UTC (permalink / raw)
  To: cygwin

On Wednesday, October 21 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:

> On Oct  8 12:16, Jonathan Lennox wrote:
> > Hi, following up on this issue from last year.  The message I'm replying to
> > is at <https://cygwin.com/ml/cygwin/2014-04/msg00524.html>.
> > 
> > The problem is weird behavior in Parallels Desktop-hosted Windows VMs, when
> > accessing the host's native Mac OS X filesystem.  See the thread for the
> > details.
> > 
> > On Wednesday, April 23 2014, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> > 
> > > > At this point this is looking pretty clearly like a Parallels Tools bug.
> > > > I'll report it to them.
> > > 
> > > Yes, that sounds good.  Given that, I'm wondering if we should try to
> > > workaround this problem at all or rather wait to see if the vendor will
> > > fix the issue.
> > 
> > No such luck, despite two major version revisions of Parallels Desktop (I'm
> > now on version 11.0.2) and moving to Windows 10 as the guest OS -- the bug
> > perists, unchanged.  So it looks like Cygwin will need to add a workaround
> > for this filesystem to fix the problem.
> 
> Ok, we could do that.  Can you compile and run the testcase from
> https://cygwin.com/ml/cygwin/2014-04/msg00523.html again?  Does it
> still show 0 vs. 12 bytes?  Dumb extra test: Does the output change
> if you reorder the calls, requesting FileStandardInformation first,
> FileNetworkOpenInformation second?

I re-ran the test, no change. Changing the order gives the same result --
FileStandardInformation works, FileNetworkOpenInformation doesn't.

> Just create a hardlink on that drive using native means:
> 
>   $ touch foo
>   $ cmd /c mklink /h bar foo
> 
> Error at this point?  No hardlinks.  Otherwise:

"You do not have sufficient privilege to perform this operation."  Is that
sufficient proof?

Unfortunately, when I do "Run As Administrator" on MinTTY, the Mac drives
(/cygdrive/z and /cygdrive/y) don't show up. I don't know why that is.  So I
can't test hard links as administrator.

>   $ ls -li foo bar
> 
> Are the inode numbers identical?  Congrats, hardlinks work.  But given
> the general FAT-iness of the getVolInfo output, I guess it doesn't
> maintain hardlinks.

However, when I create a hardlink on the underlying (Mac) file system, the
inode numbers that Cygwin shows are not identical.  So "no hardlinks" seems
very likely.

-- 
Jonathan Lennox
lennox at cs dot columbia dot edu

--
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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-02  9:38                   ` Jonathan Lennox
@ 2015-11-02 11:23                     ` Corinna Vinschen
  2015-11-02 13:08                       ` Jonathan Lennox
  2015-11-02 12:52                     ` cyg Simple
  1 sibling, 1 reply; 20+ messages in thread
From: Corinna Vinschen @ 2015-11-02 11:23 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 3175 bytes --]

On Nov  2 04:38, Jonathan Lennox wrote:
> On Wednesday, October 21 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> > On Oct  8 12:16, Jonathan Lennox wrote:
> > > No such luck, despite two major version revisions of Parallels Desktop (I'm
> > > now on version 11.0.2) and moving to Windows 10 as the guest OS -- the bug
> > > perists, unchanged.  So it looks like Cygwin will need to add a workaround
> > > for this filesystem to fix the problem.
> > 
> > Ok, we could do that.  Can you compile and run the testcase from
> > https://cygwin.com/ml/cygwin/2014-04/msg00523.html again?  Does it
> > still show 0 vs. 12 bytes?  Dumb extra test: Does the output change
> > if you reorder the calls, requesting FileStandardInformation first,
> > FileNetworkOpenInformation second?
> 
> I re-ran the test, no change. Changing the order gives the same result --
> FileStandardInformation works, FileNetworkOpenInformation doesn't.

Ok, so it's not about some caching.

> > Just create a hardlink on that drive using native means:
> > 
> >   $ touch foo
> >   $ cmd /c mklink /h bar foo
> > 
> > Error at this point?  No hardlinks.  Otherwise:
> 
> "You do not have sufficient privilege to perform this operation."  Is that
> sufficient proof?

No.

> Unfortunately, when I do "Run As Administrator" on MinTTY, the Mac drives
> (/cygdrive/z and /cygdrive/y) don't show up. I don't know why that is.  So I
> can't test hard links as administrator.

That's a security feature of UAC.  You can change that in the registry.
As administrator:

  regtool -d set /HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections 1

Then reboot.

> >   $ ls -li foo bar
> > 
> > Are the inode numbers identical?  Congrats, hardlinks work.  But given
> > the general FAT-iness of the getVolInfo output, I guess it doesn't
> > maintain hardlinks.
> 
> However, when I create a hardlink on the underlying (Mac) file system, the
> inode numbers that Cygwin shows are not identical.  So "no hardlinks" seems
> very likely.

Given the filesystem flags, Cygwin treats your FS as some kind of FAT
anyway, so this isn't convincing.  I doubt they work anyway, but if you
really want to test it, use your orignal testcase and replace the
NtQueryInformationFile like this:

  FILE_INTERNAL_INFORMATION fii;
  status = NtQueryInformationFile (h, &io, &fii, sizeof fii,
				   FileInternalInformation);
  if (!NT_SUCCESS (status))
    fprintf (stderr, "NtQueryInformationFile: 0x%08x\n", status);
  else
    printf ("inode number %llu\n", fii.FileId.QuadPart);

Then call this application multiple times on some well known hardlinks
to the same file.  If they have the same number, all the time, hardlinks
work.

I added support for this filesystem (called prlfs in mount output) and
without hardlink support for now.  I uploaded a new developer snapshot
to https://cygwin.com/snapshots/ Please give it a try.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-02  9:38                   ` Jonathan Lennox
  2015-11-02 11:23                     ` Corinna Vinschen
@ 2015-11-02 12:52                     ` cyg Simple
  1 sibling, 0 replies; 20+ messages in thread
From: cyg Simple @ 2015-11-02 12:52 UTC (permalink / raw)
  To: cygwin

On 11/2/2015 4:38 AM, Jonathan Lennox wrote:
> 
> Unfortunately, when I do "Run As Administrator" on MinTTY, the Mac drives
> (/cygdrive/z and /cygdrive/y) don't show up. I don't know why that is.  So I
> can't test hard links as administrator.
> 

This is due to "Run As Administrator" is a different user with a
different environment.  You would need to recreate the mapped drives.

-- 
cyg Simple

--
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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-02 11:23                     ` Corinna Vinschen
@ 2015-11-02 13:08                       ` Jonathan Lennox
  2015-11-02 14:06                         ` Corinna Vinschen
  0 siblings, 1 reply; 20+ messages in thread
From: Jonathan Lennox @ 2015-11-02 13:08 UTC (permalink / raw)
  To: cygwin

On Monday, November 2 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:

> On Nov  2 04:38, Jonathan Lennox wrote:
> > Unfortunately, when I do "Run As Administrator" on MinTTY, the Mac drives
> > (/cygdrive/z and /cygdrive/y) don't show up. I don't know why that is.  So I
> > can't test hard links as administrator.
> 
> That's a security feature of UAC.  You can change that in the registry.
> As administrator:
> 
>   regtool -d set /HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections 1
> 
> Then reboot.

Didn't work:

$ ls /cygdrive/
c  d  e

$ regtool get /HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections

$ uname -a
CYGWIN_NT-10.0 Vidyo-LT0519-10 2.3.0(0.291/5/3) 2015-11-02 11:15 x86_64 Cygwin

Is Windows 10 the same?

> I added support for this filesystem (called prlfs in mount output) and
> without hardlink support for now.  I uploaded a new developer snapshot
> to https://cygwin.com/snapshots/ Please give it a try.

No, still seeing the failure in the snapshot:

$ ./stat-size-test.exe /cygdrive/y/foo ~/foo
/cygdrive/y/foo: fstat: st_size=0
/cygdrive/y/foo: stat: st_size=12
/home/jonathan/foo: fstat: st_size=12
/home/jonathan/foo: stat: st_size=12

$ uname -a
CYGWIN_NT-10.0 Vidyo-LT0519-10 2.3.0(0.291/5/3) 2015-11-02 11:15 x86_64 Cygwin

(See https://cygwin.com/ml/cygwin/2014-04/msg00488.html for the source code
to stat-size-test.c).

Oddly, though, the original problematic behavior I saw in emacs (with it
falsely detecting files as being modified externally) has gone away. Maybe
emacs added a workaround for this?

-- 
Jonathan Lennox
lennox@cs.columbia.edu

--
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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-02 13:08                       ` Jonathan Lennox
@ 2015-11-02 14:06                         ` Corinna Vinschen
  2015-11-02 22:05                           ` Jonathan Lennox
  0 siblings, 1 reply; 20+ messages in thread
From: Corinna Vinschen @ 2015-11-02 14:06 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 2226 bytes --]

On Nov  2 08:08, Jonathan Lennox wrote:
> On Monday, November 2 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> 
> > On Nov  2 04:38, Jonathan Lennox wrote:
> > > Unfortunately, when I do "Run As Administrator" on MinTTY, the Mac drives
> > > (/cygdrive/z and /cygdrive/y) don't show up. I don't know why that is.  So I
> > > can't test hard links as administrator.
> > 
> > That's a security feature of UAC.  You can change that in the registry.
> > As administrator:
> > 
> >   regtool -d set /HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections 1
> > 
> > Then reboot.
> 
> Didn't work:
> 
> $ ls /cygdrive/
> c  d  e
> 
> $ regtool get /HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections
> 
 ^^^?

That should print "1"

EnableLinkedConnections is a DWORD value and should be set to 1.

> $ uname -a
> CYGWIN_NT-10.0 Vidyo-LT0519-10 2.3.0(0.291/5/3) 2015-11-02 11:15 x86_64 Cygwin
> 
> Is Windows 10 the same?

Yes.  Works for me.

> > I added support for this filesystem (called prlfs in mount output) and
> > without hardlink support for now.  I uploaded a new developer snapshot
> > to https://cygwin.com/snapshots/ Please give it a try.
> 
> No, still seeing the failure in the snapshot:
> 
> $ ./stat-size-test.exe /cygdrive/y/foo ~/foo
> /cygdrive/y/foo: fstat: st_size=0
> /cygdrive/y/foo: stat: st_size=12
> /home/jonathan/foo: fstat: st_size=12
> /home/jonathan/foo: stat: st_size=12

Weird.  There should be no FileNetworkOpenInformation call anymore for
Netapp and the PrlSF filesystem.

Does Cygwin correctly recognize the FS?  What does `mount' print?  It
should print `type prlfs'.

Can you please once again call `/usr/lib/csih/getVolInfo.exe Z:' and
`/usr/lib/csih/getVolInfo.exe Y:' and paste the output here?  I'm not
quite sure because the original getVolInfo call returned a filesystem
type of "PrlSF", not "PrlFS" as I had expected.  Cygwin now checks for
"PrlSF".


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-02 14:06                         ` Corinna Vinschen
@ 2015-11-02 22:05                           ` Jonathan Lennox
  2015-11-03 12:19                             ` Corinna Vinschen
  0 siblings, 1 reply; 20+ messages in thread
From: Jonathan Lennox @ 2015-11-02 22:05 UTC (permalink / raw)
  To: cygwin

On Monday, November 2 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:

> On Nov  2 08:08, Jonathan Lennox wrote:
> > On Monday, November 2 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> > 
> > > On Nov  2 04:38, Jonathan Lennox wrote:
> > > > Unfortunately, when I do "Run As Administrator" on MinTTY, the Mac drives
> > > > (/cygdrive/z and /cygdrive/y) don't show up. I don't know why that is.  So I
> > > > can't test hard links as administrator.
> > > 
> > > That's a security feature of UAC.  You can change that in the registry.
> > > As administrator:
> > > 
> > >   regtool -d set /HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections 1
> > > 
> > > Then reboot.
> > 
> > Didn't work:
> > 
> > $ ls /cygdrive/
> > c  d  e
> > 
> > $ regtool get /HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System/EnableLinkedConnections
> > 
>  ^^^?
> 
> That should print "1"
> 
> EnableLinkedConnections is a DWORD value and should be set to 1.

Yes, sorry, it does print 1. Copy & Paste error.

Given "cyg Simple"'s comment, I guess I need to recreate the mapped drives as
the Administrator user?

> > > I added support for this filesystem (called prlfs in mount output) and
> > > without hardlink support for now.  I uploaded a new developer snapshot
> > > to https://cygwin.com/snapshots/ Please give it a try.
> > 
> > No, still seeing the failure in the snapshot:
> > 
> > $ ./stat-size-test.exe /cygdrive/y/foo ~/foo
> > /cygdrive/y/foo: fstat: st_size=0
> > /cygdrive/y/foo: stat: st_size=12
> > /home/jonathan/foo: fstat: st_size=12
> > /home/jonathan/foo: stat: st_size=12
> 
> Weird.  There should be no FileNetworkOpenInformation call anymore for
> Netapp and the PrlSF filesystem.
> 
> Does Cygwin correctly recognize the FS?  What does `mount' print?  It
> should print `type prlfs'.

$ mount
C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin64 on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type iso9660 (binary,posix=0,user,noumount,auto)
E: on /cygdrive/e type iso9660 (binary,posix=0,user,noumount,auto)
U: on /cygdrive/u type prlsf (binary,posix=0,user,noumount,auto)
V: on /cygdrive/v type prlsf (binary,posix=0,user,noumount,auto)
W: on /cygdrive/w type prlsf (binary,posix=0,user,noumount,auto)
X: on /cygdrive/x type prlsf (binary,posix=0,user,noumount,auto)
Y: on /cygdrive/y type prlsf (binary,posix=0,user,noumount,auto)
Z: on /cygdrive/z type prlsf (binary,posix=0,user,noumount,auto)


> Can you please once again call `/usr/lib/csih/getVolInfo.exe Z:' and
> `/usr/lib/csih/getVolInfo.exe Y:' and paste the output here?  I'm not
> quite sure because the original getVolInfo call returned a filesystem
> type of "PrlSF", not "PrlFS" as I had expected.  Cygwin now checks for
> "PrlSF".
> 

$ /usr/lib/csih/getVolInfo.exe /cygdrive/z
Device Type        : 7
Characteristics    : 10
Volume Name        : <Shared Folders>
Serial Number      : 0
Max Filenamelength : 255
Filesystemname     : <PrlSF>
Flags              : 3
  FILE_CASE_SENSITIVE_SEARCH  : TRUE
  FILE_CASE_PRESERVED_NAMES   : TRUE
  FILE_UNICODE_ON_DISK        : FALSE
  FILE_PERSISTENT_ACLS        : FALSE
  FILE_FILE_COMPRESSION       : FALSE
  FILE_VOLUME_QUOTAS          : FALSE
  FILE_SUPPORTS_SPARSE_FILES  : FALSE
  FILE_SUPPORTS_REPARSE_POINTS: FALSE
  FILE_SUPPORTS_REMOTE_STORAGE: FALSE
  FILE_VOLUME_IS_COMPRESSED   : FALSE
  FILE_SUPPORTS_OBJECT_IDS    : FALSE
  FILE_SUPPORTS_ENCRYPTION    : FALSE
  FILE_NAMED_STREAMS          : FALSE
  FILE_READ_ONLY_VOLUME       : FALSE
  FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
  FILE_SUPPORTS_TRANSACTIONS  : FALSE

$ /usr/lib/csih/getVolInfo.exe /cygdrive/y
Device Type        : 7
Characteristics    : 10
Volume Name        : <Shared Folders>
Serial Number      : 0
Max Filenamelength : 255
Filesystemname     : <PrlSF>
Flags              : 3
  FILE_CASE_SENSITIVE_SEARCH  : TRUE
  FILE_CASE_PRESERVED_NAMES   : TRUE
  FILE_UNICODE_ON_DISK        : FALSE
  FILE_PERSISTENT_ACLS        : FALSE
  FILE_FILE_COMPRESSION       : FALSE
  FILE_VOLUME_QUOTAS          : FALSE
  FILE_SUPPORTS_SPARSE_FILES  : FALSE
  FILE_SUPPORTS_REPARSE_POINTS: FALSE
  FILE_SUPPORTS_REMOTE_STORAGE: FALSE
  FILE_VOLUME_IS_COMPRESSED   : FALSE
  FILE_SUPPORTS_OBJECT_IDS    : FALSE
  FILE_SUPPORTS_ENCRYPTION    : FALSE
  FILE_NAMED_STREAMS          : FALSE
  FILE_READ_ONLY_VOLUME       : FALSE
  FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
  FILE_SUPPORTS_TRANSACTIONS  : FALSE

(Note that the literal "/usr/lib/csih/getVolInfo.exe Z:" printed
"NtOpenFile(\??\C:\cygwin64\home\jonathan\Z:) failed, c0000033", so I assume
that's not what you want.)

-- 
Jonathan Lennox
lennox@cs.columbia.edu

--
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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-02 22:05                           ` Jonathan Lennox
@ 2015-11-03 12:19                             ` Corinna Vinschen
  2015-11-04  6:35                               ` Jonathan Lennox
  0 siblings, 1 reply; 20+ messages in thread
From: Corinna Vinschen @ 2015-11-03 12:19 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 3980 bytes --]

On Nov  2 17:05, Jonathan Lennox wrote:
> On Monday, November 2 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> 
> > On Nov  2 08:08, Jonathan Lennox wrote:
> > > On Monday, November 2 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> > > > I added support for this filesystem (called prlfs in mount output) and
> > > > without hardlink support for now.  I uploaded a new developer snapshot
> > > > to https://cygwin.com/snapshots/ Please give it a try.
> > > 
> > > No, still seeing the failure in the snapshot:
> > > 
> > > $ ./stat-size-test.exe /cygdrive/y/foo ~/foo
> > > /cygdrive/y/foo: fstat: st_size=0
> > > /cygdrive/y/foo: stat: st_size=12
> > > /home/jonathan/foo: fstat: st_size=12
> > > /home/jonathan/foo: stat: st_size=12
> > 
> > Weird.  There should be no FileNetworkOpenInformation call anymore for
> > Netapp and the PrlSF filesystem.
> > 
> > Does Cygwin correctly recognize the FS?  What does `mount' print?  It
> > should print `type prlfs'.
> 
> $ mount
> C:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
> C:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
> C:/cygwin64 on / type ntfs (binary,auto)
> C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
> D: on /cygdrive/d type iso9660 (binary,posix=0,user,noumount,auto)
> E: on /cygdrive/e type iso9660 (binary,posix=0,user,noumount,auto)
> U: on /cygdrive/u type prlsf (binary,posix=0,user,noumount,auto)
> V: on /cygdrive/v type prlsf (binary,posix=0,user,noumount,auto)
> W: on /cygdrive/w type prlsf (binary,posix=0,user,noumount,auto)
> X: on /cygdrive/x type prlsf (binary,posix=0,user,noumount,auto)
> Y: on /cygdrive/y type prlsf (binary,posix=0,user,noumount,auto)
> Z: on /cygdrive/z type prlsf (binary,posix=0,user,noumount,auto)

"prlsf".  If Cygwin had recognized the FS, it would have printed
"prlfs".  I did this shuffle "sf" vs. "fs" on purpose.  But...

> > Can you please once again call `/usr/lib/csih/getVolInfo.exe Z:' and
> > `/usr/lib/csih/getVolInfo.exe Y:' and paste the output here?  I'm not
> > quite sure because the original getVolInfo call returned a filesystem
> > type of "PrlSF", not "PrlFS" as I had expected.  Cygwin now checks for
> > "PrlSF".
> > 
> 
> $ /usr/lib/csih/getVolInfo.exe /cygdrive/z
> Device Type        : 7
> Characteristics    : 10
> Volume Name        : <Shared Folders>
> Serial Number      : 0
> Max Filenamelength : 255
> Filesystemname     : <PrlSF>
> Flags              : 3
> [...]

...I don't understand *why* Cygwin doesn't recognize the FS.  It checks
explicitely for the "PrlSF" filesystem name.  I tried this locally
by faking the above information and it worked for me.

Btw., there's more than one problem here.  The fact that all drives
have the same volume name *and* a serial number of 0 leads to all
drives being identified as the same drive.  I have to add some code
creating a reproducible serial number from scratch if the original
serial number is 0, but for testing, I didn't implement this yet.

Talking about testing.  I created a test DLL which provides a lot
of output when stracing the calls.  I'll send you a private mail
with the URL to this DLL in a minute.  Please install it, and under
that DLL, run

  $ strace -o stat.trace ./stat-size-test.exe /cygdrive/y/foo

I'll need to have a look into that strace to (hopefully) see what's
going wrong.

>   FILE_READ_ONLY_VOLUME       : FALSE
>   FILE_SEQUENTIAL_WRITE_ONCE  : FALSE
>   FILE_SUPPORTS_TRANSACTIONS  : FALSE
> 
> (Note that the literal "/usr/lib/csih/getVolInfo.exe Z:" printed
> "NtOpenFile(\??\C:\cygwin64\home\jonathan\Z:) failed, c0000033", so I assume
> that's not what you want.)

Indeed. Sorry, I was thinking of one of my local test hacks using DOS
paths.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-03 12:19                             ` Corinna Vinschen
@ 2015-11-04  6:35                               ` Jonathan Lennox
  2015-11-04  9:45                                 ` Corinna Vinschen
  0 siblings, 1 reply; 20+ messages in thread
From: Jonathan Lennox @ 2015-11-04  6:35 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: message body text --]
[-- Type: text/plain, Size: 906 bytes --]

On Tuesday, November 3 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:

> Btw., there's more than one problem here.  The fact that all drives
> have the same volume name *and* a serial number of 0 leads to all
> drives being identified as the same drive.  I have to add some code
> creating a reproducible serial number from scratch if the original
> serial number is 0, but for testing, I didn't implement this yet.

I've confirmed that this is the case for all the prlsf drives I have (drives
U:-Z:).

> Talking about testing.  I created a test DLL which provides a lot
> of output when stracing the calls.  I'll send you a private mail
> with the URL to this DLL in a minute.  Please install it, and under
> that DLL, run
> 
>   $ strace -o stat.trace ./stat-size-test.exe /cygdrive/y/foo
> 
> I'll need to have a look into that strace to (hopefully) see what's
> going wrong.

Attached.


[-- Attachment #2: stat.trace --]
[-- Type: text/plain, Size: 44485 bytes --]

--- Process 3620 created
--- Process 3620 loaded C:\Windows\System32\ntdll.dll at 00007FFA60F20000
--- Process 3620 loaded C:\Windows\System32\kernel32.dll at 00007FFA60CC0000
--- Process 3620 loaded C:\Windows\System32\KernelBase.dll at 00007FFA5E410000
--- Process 3620 thread 6728 created
--- Process 3620 loaded C:\cygwin64\bin\cygwin1.dll at 0000000180040000
--- Process 3620 thread 3204 created
    8       8 [main] stat-size-test (3620) **********************************************
  407     415 [main] stat-size-test (3620) Program name: Y:\Emacs-Modtime\stat-size-test.exe (windows pid 3620)
  285     700 [main] stat-size-test (3620) OS version:   Windows NT-10.0
  295     995 [main] stat-size-test (3620) **********************************************
  347    1342 [main] stat-size-test (3620) sigprocmask: 0 = sigprocmask (0, 0x0, 0x180301128)
  588    1930 [main] stat-size-test 3620 open_shared: name shared.5, n 5, shared 0x180030000 (wanted 0x180030000), h 0xAC, *m 6
  287    2217 [main] stat-size-test 3620 user_heap_info::init: heap base 0x600000000, heap top 0x600000000, heap size 0x20000000 (536870912)
  292    2509 [main] stat-size-test 3620 open_shared: name S-1-5-21-4096061939-177889333-3710151321-1394.1, n 1, shared 0x180020000 (wanted 0x180020000), h 0xA8, *m 6
  267    2776 [main] stat-size-test 3620 user_info::create: opening user shared for 'S-1-5-21-4096061939-177889333-3710151321-1394' at 0x180020000
  308    3084 [main] stat-size-test 3620 user_info::create: user shared version AB1FCCE8
  293    3377 [main] stat-size-test 3620 fhandler_pipe::create: name \\.\pipe\cygwin-e022582115c10879-3620-sigwait, size 11440, mode PIPE_TYPE_MESSAGE
  309    3686 [main] stat-size-test 3620 fhandler_pipe::create: pipe read handle 0xC4
  268    3954 [main] stat-size-test 3620 fhandler_pipe::create: CreateFile: name \\.\pipe\cygwin-e022582115c10879-3620-sigwait
  299    4253 [main] stat-size-test 3620 fhandler_pipe::create: pipe write handle 0xC8
  282    4535 [main] stat-size-test 3620 dll_crt0_0: finished dll_crt0_0 initialization
--- Process 3620 thread 444 created
 1051    5586 [sig] stat-size-test 3620 wait_sig: entering ReadFile loop, my_readsig 0xC4, my_sendsig 0xC8
  338    5924 [main] stat-size-test 3620 time: 1446618094 = time(0x0)
  557    6481 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (Y:\Emacs-Modtime, no-keep-rel, no-add-slash)
  311    6792 [main] stat-size-test 3620 normalize_win32_path: Y:\Emacs-Modtime = normalize_win32_path (Y:\Emacs-Modtime)
  227    7019 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/y/Emacs-Modtime = conv_to_posix_path (Y:\Emacs-Modtime)
  298    7317 [main] stat-size-test 3620 sigprocmask: 0 = sigprocmask (0, 0x0, 0x600018128)
  530    7847 [main] stat-size-test 3620 _cygwin_istext_for_stdio: fd 0: not open
  235    8082 [main] stat-size-test 3620 _cygwin_istext_for_stdio: fd 1: not open
  217    8299 [main] stat-size-test 3620 _cygwin_istext_for_stdio: fd 2: not open
  382    8681 [main] stat-size-test (3620) open_shared: name cygpid.3620, n 3620, shared 0x180010000 (wanted 0x180010000), h 0xF0, *m 2
  232    8913 [main] stat-size-test (3620) time: 1446618094 = time(0x0)
  227    9140 [main] stat-size-test 3620 pinfo::thisproc: myself dwProcessId 3620
  376    9516 [main] stat-size-test 3620 environ_init: GetEnvironmentStrings returned 0x3ADB00
  274    9790 [main] stat-size-test 3620 environ_init: 0x6000284F0: !::=::\
  296   10086 [main] stat-size-test 3620 environ_init: 0x600028510: ALLUSERSPROFILE=C:\ProgramData
  306   10392 [main] stat-size-test 3620 environ_init: 0x600028540: APPDATA=C:\Users\jonathan.VIDYOCRM\AppData\Roaming
  299   10691 [main] stat-size-test 3620 environ_init: 0x600028580: COMMONPROGRAMFILES=C:\Program Files\Common Files
  297   10988 [main] stat-size-test 3620 environ_init: 0x6000285C0: COMPUTERNAME=VIDYO-LT0519-10
  278   11266 [main] stat-size-test 3620 environ_init: 0x6000285F0: COMSPEC=C:\Windows\system32\cmd.exe
  275   11541 [main] stat-size-test 3620 environ_init: 0x600028620: CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
  345   11886 [main] stat-size-test 3620 environ_init: 0x600028670: CommonProgramW6432=C:\Program Files\Common Files
  295   12181 [main] stat-size-test 3620 parse_options: glob (called func)
  339   12520 [main] stat-size-test 3620 parse_options: returning
  219   12739 [main] stat-size-test 3620 environ_init: 0x6000286B0: CYGWIN=noglob
  403   13142 [main] stat-size-test 3620 environ_init: 0x6000286F0: EXECIGNORE=*.dll
  310   13452 [main] stat-size-test 3620 getwinenv: can't set native for HOME= since no environ yet
  256   13708 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\cygwin64\home\jonathan, no-keep-rel, no-add-slash)
  234   13942 [main] stat-size-test 3620 normalize_win32_path: C:\cygwin64\home\jonathan = normalize_win32_path (C:\cygwin64\home\jonathan)
  249   14191 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /home/jonathan = conv_to_posix_path (C:\cygwin64\home\jonathan)
  401   14592 [main] stat-size-test 3620 win_env::add_cache: posix /home/jonathan
  230   14822 [main] stat-size-test 3620 win_env::add_cache: native HOME=C:\cygwin64\home\jonathan
  353   15175 [main] stat-size-test 3620 posify_maybe: env var converted to HOME=/home/jonathan
  568   15743 [main] stat-size-test 3620 environ_init: 0x600028790: HOME=/home/jonathan
  407   16150 [main] stat-size-test 3620 environ_init: 0x600028710: HOMEDRIVE=C:
  406   16556 [main] stat-size-test 3620 environ_init: 0x6000287B0: HOMEPATH=\Users\jonathan.VIDYOCRM
  320   16876 [main] stat-size-test 3620 environ_init: 0x6000287E0: HOSTNAME=Vidyo-LT0519-10
  389   17265 [main] stat-size-test 3620 environ_init: 0x600028810: INFOPATH=/usr/local/info:/usr/share/info:/usr/info
  329   17594 [main] stat-size-test 3620 environ_init: 0x600028850: LANG=en_US.UTF-8
  267   17861 [main] stat-size-test 3620 environ_init: 0x600028870: LMI_FRAMEWORKS_DIR=y:\Cvs\Frameworks
  269   18130 [main] stat-size-test 3620 environ_init: 0x6000288A0: LOCALAPPDATA=C:\Users\jonathan.VIDYOCRM\AppData\Local
  258   18388 [main] stat-size-test 3620 environ_init: 0x6000288E0: LOGONSERVER=\\VIDYO-AD
  261   18649 [main] stat-size-test 3620 environ_init: 0x600028900: NUMBER_OF_PROCESSORS=8
  265   18914 [main] stat-size-test 3620 environ_init: 0x600028920: OLDPWD=/home/jonathan
  261   19175 [main] stat-size-test 3620 environ_init: 0x600028940: ORIGINAL_PATH=/cygdrive/c/Program Files (x86)/Parallels/Parallels Tools/Applications:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files/Microsoft SQL Server/120/Tools/Binn
  259   19434 [main] stat-size-test 3620 environ_init: 0x600028AB0: OS=Windows_NT
  283   19717 [main] stat-size-test 3620 getwinenv: can't set native for PATH= since no environ yet
  294   20011 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\cygwin64\usr\local\bin, keep-rel, no-add-slash)
  206   20217 [main] stat-size-test 3620 normalize_win32_path: C:\cygwin64\usr\local\bin = normalize_win32_path (C:\cygwin64\usr\local\bin)
  151   20368 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /usr/local/bin = conv_to_posix_path (C:\cygwin64\usr\local\bin)
  229   20597 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\cygwin64\bin, keep-rel, no-add-slash)
  139   20736 [main] stat-size-test 3620 normalize_win32_path: C:\cygwin64\bin = normalize_win32_path (C:\cygwin64\bin)
  201   20937 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /usr/bin = conv_to_posix_path (C:\cygwin64\bin)
  140   21077 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Program Files (x86)\Parallels\Parallels Tools\Applications, keep-rel, no-add-slash)
  201   21278 [main] stat-size-test 3620 normalize_win32_path: C:\Program Files (x86)\Parallels\Parallels Tools\Applications = normalize_win32_path (C:\Program Files (x86)\Parallels\Parallels Tools\Applications)
  208   21486 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/c/Program Files (x86)/Parallels/Parallels Tools/Applications = conv_to_posix_path (C:\Program Files (x86)\Parallels\Parallels Tools\Applications)
  203   21689 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Windows\system32, keep-rel, no-add-slash)
  193   21882 [main] stat-size-test 3620 normalize_win32_path: C:\Windows\system32 = normalize_win32_path (C:\Windows\system32)
  192   22074 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/c/Windows/system32 = conv_to_posix_path (C:\Windows\system32)
  192   22266 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Windows, keep-rel, no-add-slash)
  191   22457 [main] stat-size-test 3620 normalize_win32_path: C:\Windows = normalize_win32_path (C:\Windows)
  190   22647 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/c/Windows = conv_to_posix_path (C:\Windows)
  192   22839 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Windows\System32\Wbem, keep-rel, no-add-slash)
  190   23029 [main] stat-size-test 3620 normalize_win32_path: C:\Windows\System32\Wbem = normalize_win32_path (C:\Windows\System32\Wbem)
  191   23220 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/c/Windows/System32/Wbem = conv_to_posix_path (C:\Windows\System32\Wbem)
  192   23412 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Windows\System32\WindowsPowerShell\v1.0, keep-rel, no-add-slash)
  191   23603 [main] stat-size-test 3620 normalize_win32_path: C:\Windows\System32\WindowsPowerShell\v1.0 = normalize_win32_path (C:\Windows\System32\WindowsPowerShell\v1.0)
  191   23794 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/c/Windows/System32/WindowsPowerShell/v1.0 = conv_to_posix_path (C:\Windows\System32\WindowsPowerShell\v1.0)
  191   23985 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit, keep-rel, no-add-slash)
  207   24192 [main] stat-size-test 3620 normalize_win32_path: C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit = normalize_win32_path (C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit)
  198   24390 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit = conv_to_posix_path (C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit)
  197   24587 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\Program Files\Microsoft SQL Server\120\Tools\Binn, keep-rel, no-add-slash)
  197   24784 [main] stat-size-test 3620 normalize_win32_path: C:\Program Files\Microsoft SQL Server\120\Tools\Binn = normalize_win32_path (C:\Program Files\Microsoft SQL Server\120\Tools\Binn)
  193   24977 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/c/Program Files/Microsoft SQL Server/120/Tools/Binn = conv_to_posix_path (C:\Program Files\Microsoft SQL Server\120\Tools\Binn)
  332   25309 [main] stat-size-test 3620 win_env::add_cache: posix /usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/Parallels/Parallels Tools/Applications:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files/Microsoft SQL Server/120/Tools/Binn
  196   25505 [main] stat-size-test 3620 win_env::add_cache: native PATH=C:\cygwin64\usr\local\bin;C:\cygwin64\bin;C:\Program Files (x86)\Parallels\Parallels Tools\Applications;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit;C:\Program Files\Microsoft SQL Server\120\Tools\Binn
  137   25642 [main] stat-size-test 3620 posify_maybe: env var converted to PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/Parallels/Parallels Tools/Applications:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files/Microsoft SQL Server/120/Tools/Binn
  365   26007 [main] stat-size-test 3620 environ_init: 0x600038F00: PATH=/usr/local/bin:/usr/bin:/cygdrive/c/Program Files (x86)/Parallels/Parallels Tools/Applications:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/System32/Wbem:/cygdrive/c/Windows/System32/WindowsPowerShell/v1.0:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files/Microsoft SQL Server/120/Tools/Binn
  278   26285 [main] stat-size-test 3620 environ_init: 0x600028AD0: PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  262   26547 [main] stat-size-test 3620 environ_init: 0x600028B20: PRINTER=term-printer
  261   26808 [main] stat-size-test 3620 environ_init: 0x600028B40: PROCESSOR_ARCHITECTURE=AMD64
  261   27069 [main] stat-size-test 3620 environ_init: 0x600028B70: PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 70 Stepping 1, GenuineIntel
  261   27330 [main] stat-size-test 3620 environ_init: 0x600028BC0: PROCESSOR_LEVEL=6
  261   27591 [main] stat-size-test 3620 environ_init: 0x600028BE0: PROCESSOR_REVISION=4601
  262   27853 [main] stat-size-test 3620 environ_init: 0x600028C00: PROFILEREAD=true
  261   28114 [main] stat-size-test 3620 environ_init: 0x600039080: PROGRAMFILES=C:\Program Files
  262   28376 [main] stat-size-test 3620 environ_init: 0x6000390B0: PS1=\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\n\$ 
  259   28635 [main] stat-size-test 3620 environ_init: 0x600039100: PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
  261   28896 [main] stat-size-test 3620 environ_init: 0x600039150: PUBLIC=C:\Users\Public
  297   29193 [main] stat-size-test 3620 environ_init: 0x600039170: PWD=/home/jonathan/MacHome/Emacs-Modtime
  372   29565 [main] stat-size-test 3620 environ_init: 0x6000391B0: ProgramData=C:\ProgramData
  397   29962 [main] stat-size-test 3620 environ_init: 0x6000391E0: ProgramFiles(x86)=C:\Program Files (x86)
  321   30283 [main] stat-size-test 3620 environ_init: 0x600039220: ProgramW6432=C:\Program Files
  301   30584 [main] stat-size-test 3620 environ_init: 0x600039250: SESSIONNAME=Console
  500   31084 [main] stat-size-test 3620 environ_init: 0x600039270: SHELL=/bin/bash
  300   31384 [main] stat-size-test 3620 environ_init: 0x600039290: SHLVL=1
  294   31678 [main] stat-size-test 3620 environ_init: 0x6000392B0: SYSTEMDRIVE=C:
  279   31957 [main] stat-size-test 3620 environ_init: 0x6000392D0: SYSTEMROOT=C:\Windows
  264   32221 [main] stat-size-test 3620 getwinenv: can't set native for TEMP= since no environ yet
  198   32419 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\cygwin64\tmp, no-keep-rel, no-add-slash)
  192   32611 [main] stat-size-test 3620 normalize_win32_path: C:\cygwin64\tmp = normalize_win32_path (C:\cygwin64\tmp)
  188   32799 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /tmp = conv_to_posix_path (C:\cygwin64\tmp)
  328   33127 [main] stat-size-test 3620 win_env::add_cache: posix /tmp
  208   33335 [main] stat-size-test 3620 win_env::add_cache: native TEMP=C:\cygwin64\tmp
  203   33538 [main] stat-size-test 3620 posify_maybe: env var converted to TEMP=/tmp
  339   33877 [main] stat-size-test 3620 environ_init: 0x600039350: TEMP=/tmp
  257   34134 [main] stat-size-test 3620 environ_init: 0x6000392F0: TERM=xterm
  255   34389 [main] stat-size-test 3620 getwinenv: can't set native for TMP= since no environ yet
  185   34574 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (C:\cygwin64\tmp, no-keep-rel, no-add-slash)
  187   34761 [main] stat-size-test 3620 normalize_win32_path: C:\cygwin64\tmp = normalize_win32_path (C:\cygwin64\tmp)
  191   34952 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /tmp = conv_to_posix_path (C:\cygwin64\tmp)
  343   35295 [main] stat-size-test 3620 win_env::add_cache: posix /tmp
  182   35477 [main] stat-size-test 3620 win_env::add_cache: native TMP=C:\cygwin64\tmp
  187   35664 [main] stat-size-test 3620 posify_maybe: env var converted to TMP=/tmp
  327   35991 [main] stat-size-test 3620 environ_init: 0x6000393D0: TMP=/tmp
  253   36244 [main] stat-size-test 3620 environ_init: 0x600039370: TZ=Asia/Tokyo
  254   36498 [main] stat-size-test 3620 environ_init: 0x6000393F0: USER=jonathan
  258   36756 [main] stat-size-test 3620 environ_init: 0x600039410: USERDNSDOMAIN=VIDYO.COM
  253   37009 [main] stat-size-test 3620 environ_init: 0x600039430: USERDOMAIN=VIDYOCRM
  253   37262 [main] stat-size-test 3620 environ_init: 0x600039450: USERDOMAIN_ROAMINGPROFILE=VIDYOCRM
  253   37515 [main] stat-size-test 3620 environ_init: 0x600039480: USERNAME=jonathan
  250   37765 [main] stat-size-test 3620 environ_init: 0x6000394A0: USERPROFILE=C:\Users\jonathan.VIDYOCRM
  256   38021 [main] stat-size-test 3620 environ_init: 0x6000394D0: VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
  253   38274 [main] stat-size-test 3620 environ_init: 0x600039530: WINDIR=C:\Windows
  251   38525 [main] stat-size-test 3620 environ_init: 0x600039550: _=/usr/bin/strace
  199   38724 [main] stat-size-test 3620 pinfo_init: Set nice to 0
  186   38910 [main] stat-size-test 3620 pinfo_init: pid 3620, pgid 3620, process_state 0x41
  188   39098 [main] stat-size-test 3620 App version:  1007.29, api: 0.272
  186   39284 [main] stat-size-test 3620 DLL version:  2003.0, api: 0.291
  185   39469 [main] stat-size-test 3620 DLL build:    2015-11-02 11:15
  194   39663 [main] stat-size-test 3620 dtable::extend: size 32, fds 0x180327E80
  277   39940 [main] stat-size-test 3620 __get_lcid_from_locale: LCID=0x0409
  611   40551 [main] stat-size-test 3620 transport_layer_pipes::connect: Try to connect to named pipe: \\.\pipe\cygwin-e022582115c10879-lpc
  212   40763 [main] stat-size-test 3620 transport_layer_pipes::connect: Error opening the pipe (2)
  260   41023 [main] stat-size-test 3620 client_request::make_request: cygserver un-available
--- Process 3620 loaded C:\Windows\System32\advapi32.dll at 00007FFA60130000
--- Process 3620 loaded C:\Windows\System32\msvcrt.dll at 00007FFA5E8E0000
--- Process 3620 loaded C:\Windows\System32\sechost.dll at 00007FFA606A0000
--- Process 3620 loaded C:\Windows\System32\rpcrt4.dll at 00007FFA60760000
--- Process 3620 loaded C:\Windows\System32\netapi32.dll at 00007FFA559D0000
--- Process 3620 thread 4760 created
--- Process 3620 loaded C:\Windows\System32\srvcli.dll at 00007FFA5CBA0000
--- Process 3620 loaded C:\Windows\System32\netutils.dll at 00007FFA5CBD0000
--- Process 3620 loaded C:\Windows\System32\wkscli.dll at 00007FFA59180000
--- Process 3620 loaded C:\Windows\System32\bcrypt.dll at 00007FFA5D880000
--- Process 3620 loaded C:\Windows\System32\logoncli.dll at 00007FFA5CF20000
 9424   50447 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <jonathan:*:1049970:1049089:U-VIDYOCRM\jonathan,S-1-5-21-4096061939-177889333-3710151321-1394:/home/jonathan:/bin/bash>
  545   50992 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: LookupAccountSid(S-1-5-21-4096061939-177889333-3710151321-513), Win32 error 1789
  306   51298 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(513):S-1-5-21-4096061939-177889333-3710151321-513:1049089:>
--- Process 3620 loaded C:\Windows\System32\samcli.dll at 00007FFA5A3F0000
--- Process 3620 loaded C:\Windows\System32\samlib.dll at 00007FFA58710000
 2535   53833 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <Performance Log Users:S-1-5-32-559:559:>
  627   54460 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <Users:S-1-5-32-545:545:>
  282   54742 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <INTERACTIVE:S-1-5-4:4:>
  285   55027 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <CONSOLE LOGON:S-1-2-1:66049:>
  315   55342 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <Authenticated Users:S-1-5-11:11:>
  293   55635 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <This Organization:S-1-5-15:15:>
  290   55925 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <LOCAL:S-1-2-0:66048:>
  306   56231 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3130):S-1-5-21-4096061939-177889333-3710151321-3130:1051706:>
  269   56500 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(1158):S-1-5-21-4096061939-177889333-3710151321-1158:1049734:>
  251   56751 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3282):S-1-5-21-4096061939-177889333-3710151321-3282:1051858:>
  248   56999 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(2011):S-1-5-21-4096061939-177889333-3710151321-2011:1050587:>
  237   57236 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3923):S-1-5-21-4096061939-177889333-3710151321-3923:1052499:>
  278   57514 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3774):S-1-5-21-4096061939-177889333-3710151321-3774:1052350:>
  290   57804 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3147):S-1-5-21-4096061939-177889333-3710151321-3147:1051723:>
  289   58093 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3185):S-1-5-21-4096061939-177889333-3710151321-3185:1051761:>
  289   58382 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(4272):S-1-5-21-4096061939-177889333-3710151321-4272:1052848:>
  271   58653 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3281):S-1-5-21-4096061939-177889333-3710151321-3281:1051857:>
  276   58929 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(4367):S-1-5-21-4096061939-177889333-3710151321-4367:1052943:>
  272   59201 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(1580):S-1-5-21-4096061939-177889333-3710151321-1580:1050156:>
  283   59484 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3424):S-1-5-21-4096061939-177889333-3710151321-3424:1052000:>
  244   59728 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3124):S-1-5-21-4096061939-177889333-3710151321-3124:1051700:>
  269   59997 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3201):S-1-5-21-4096061939-177889333-3710151321-3201:1051777:>
  258   60255 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(7193):S-1-5-21-4096061939-177889333-3710151321-7193:1055769:>
  256   60511 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(4398):S-1-5-21-4096061939-177889333-3710151321-4398:1052974:>
  246   60757 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(1995):S-1-5-21-4096061939-177889333-3710151321-1995:1050571:>
  227   60984 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(1903):S-1-5-21-4096061939-177889333-3710151321-1903:1050479:>
  223   61207 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(4152):S-1-5-21-4096061939-177889333-3710151321-4152:1052728:>
  224   61431 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(1575):S-1-5-21-4096061939-177889333-3710151321-1575:1050151:>
  215   61646 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(4408):S-1-5-21-4096061939-177889333-3710151321-4408:1052984:>
  203   61849 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(4147):S-1-5-21-4096061939-177889333-3710151321-4147:1052723:>
  433   62282 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(3772):S-1-5-21-4096061939-177889333-3710151321-3772:1052348:>
  224   62506 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(1572):S-1-5-21-4096061939-177889333-3710151321-1572:1050148:>
  204   62710 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(4150):S-1-5-21-4096061939-177889333-3710151321-4150:1052726:>
  278   62988 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(571):S-1-5-21-4096061939-177889333-3710151321-571:1049147:>
  290   63278 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <VIDYOCRM+Group(6105):S-1-5-21-4096061939-177889333-3710151321-6105:1054681:>
  248   63526 [main] stat-size-test 3620 pwdgrp::fetch_account_from_windows: line: <Medium Mandatory Level:S-1-16-8192:401408:>
  249   63775 [main] stat-size-test 3620 cygheap_user::ontherange: what 2, pw 0x180328340
  230   64005 [main] stat-size-test 3620 cygheap_user::ontherange: HOME is already in the environment /home/jonathan
  389   64394 [main] stat-size-test 3620 build_argv: argv[0] = 'Y:\Emacs-Modtime\stat-size-test.exe'
  195   64589 [main] stat-size-test 3620 build_argv: argv[1] = '/cygdrive/y/foo'
  195   64784 [main] stat-size-test 3620 build_argv: argc 2
  275   65059 [main] stat-size-test 3620 mount_info::conv_to_posix_path: conv_to_posix_path (Y:\Emacs-Modtime\stat-size-test.exe, keep-rel, no-add-slash)
  192   65251 [main] stat-size-test 3620 normalize_win32_path: Y:\Emacs-Modtime\stat-size-test.exe = normalize_win32_path (Y:\Emacs-Modtime\stat-size-test.exe)
  197   65448 [main] stat-size-test 3620 mount_info::conv_to_posix_path: /cygdrive/y/Emacs-Modtime/stat-size-test.exe = conv_to_posix_path (Y:\Emacs-Modtime\stat-size-test.exe)
  467   65915 [main] stat-size-test 3620 build_fh_pc: created an archetype (0x18032D5B0) for /dev/pty0(136/0)
  211   66126 [main] stat-size-test 3620 build_fh_pc: fh 0x18032D340, dev 00880000
  204   66330 [main] stat-size-test 3620 fhandler_pipe::create: name \\.\pipe\cygwin-e022582115c10879-pty0-from-master, size 131072, mode PIPE_TYPE_MESSAGE
  248   66578 [main] stat-size-test 3620 fhandler_pipe::create: pipe busy
  198   66776 [main] stat-size-test 3620 tty::exists: exists 1
  289   67065 [main] stat-size-test 3620 alloc_sd: uid 1049970, gid 1049089, attribute 020620
  222   67287 [main] stat-size-test 3620 cygsid::debug_print: alloc_sd: owner SID = S-1-5-21-4096061939-177889333-3710151321-1394 (+)
  142   67429 [main] stat-size-test 3620 cygsid::debug_print: alloc_sd: group SID = S-1-5-21-4096061939-177889333-3710151321-513 (+)
  205   67634 [main] stat-size-test 3620 alloc_sd: ACL-Size: 124
  282   67916 [main] stat-size-test 3620 alloc_sd: Created SD-Size: 200
  199   68115 [main] stat-size-test 3620 fhandler_pty_slave::open: (395): pty output_mutex (0x11C): waiting -1 ms
  141   68256 [main] stat-size-test 3620 fhandler_pty_slave::open: (395): pty output_mutex: acquired
  216   68472 [main] stat-size-test 3620 tty::create_inuse: cygtty.slave_alive.0 0x178
  144   68616 [main] stat-size-test 3620 fhandler_pty_slave::open: (398): pty output_mutex(0x11C) released
  291   68907 [main] stat-size-test 3620 open_shared: name cygpid.5932, n 5932, shared 0x20000 (wanted 0x0), h 0x17C, *m 6
  150   69057 [main] stat-size-test 3620 fhandler_pty_slave::open: dup handles directly since I'm the owner
  223   69280 [main] stat-size-test 3620 fhandler_pty_slave::open: duplicated from_master 0x374->0x17C from pty_owner
  205   69485 [main] stat-size-test 3620 fhandler_pty_slave::open: duplicated to_master 0x380->0x184 from pty_owner
  194   69679 [main] stat-size-test 3620 fhandler_pty_slave::open: duplicated to_master_cyg 0x388->0x188 from pty_owner
  295   69974 [main] stat-size-test 3620 fhandler_console::need_invisible: invisible_console 0
  200   70174 [main] stat-size-test 3620 fhandler_base::open_with_arch: line 476:  /dev/pty0<0x18032D5B0> usecount + 1 = 1
  229   70403 [main] stat-size-test 3620 fhandler_base::set_flags: flags 0x10002, supplied_bin 0x0
  195   70598 [main] stat-size-test 3620 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  195   70793 [main] stat-size-test 3620 fhandler_base::set_flags: filemode set to binary
  206   70999 [main] stat-size-test 3620 _pinfo::set_ctty: old no ctty, ctty device number 0xFFFFFFFF, tc.ntty device number 0x880000 flags & O_NOCTTY 0x0
  193   71192 [main] stat-size-test 3620 _pinfo::set_ctty: cygheap->ctty 0x0, archetype 0x18032D5B0
  191   71383 [main] stat-size-test 3620 _pinfo::set_ctty: ctty was NULL
  191   71574 [main] stat-size-test 3620 _pinfo::set_ctty: line 482:  /dev/pty0<0x18032D5B0> usecount + 1 = 2
  194   71768 [main] stat-size-test 3620 _pinfo::set_ctty: /dev/pty0 ctty, usecount 2
  195   71963 [main] stat-size-test 3620 _pinfo::set_ctty: attaching ctty /dev/pty0 sid 3620, pid 3620, pgid 3620, tty->pgid 2820, tty->sid 360
  192   72155 [main] stat-size-test 3620 _pinfo::set_ctty: cygheap->ctty now 0x18032D5B0, archetype 0x18032D5B0
  194   72349 [main] stat-size-test 3620 fhandler_pty_slave::open_setup: /dev/pty0 opened, usecount 2
  194   72543 [main] stat-size-test 3620 fhandler_base::set_flags: flags 0x10002, supplied_bin 0x0
  191   72734 [main] stat-size-test 3620 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  192   72926 [main] stat-size-test 3620 fhandler_base::set_flags: filemode set to binary
  192   73118 [main] stat-size-test 3620 _pinfo::set_ctty: old ctty /dev/pty0, ctty device number 0x880000, tc.ntty device number 0x880000 flags & O_NOCTTY 0x0
  195   73313 [main] stat-size-test 3620 _pinfo::set_ctty: attaching ctty /dev/pty0 sid 360, pid 3620, pgid 2820, tty->pgid 2820, tty->sid 360
  196   73509 [main] stat-size-test 3620 _pinfo::set_ctty: cygheap->ctty now 0x18032D5B0, archetype 0x18032D5B0
  191   73700 [main] stat-size-test 3620 fhandler_pty_slave::open_setup: /dev/pty0 opened, usecount 2
  367   74067 [main] stat-size-test 3620 build_fh_pc: found an archetype for (null)(136/0) io_handle 0x17C
  216   74283 [main] stat-size-test 3620 build_fh_pc: fh 0x18032D890, dev 00880000
  225   74508 [main] stat-size-test 3620 fhandler_base::open_with_arch: line 496:  /dev/pty0<0x18032D5B0> usecount + 1 = 3
  201   74709 [main] stat-size-test 3620 fhandler_base::set_flags: flags 0x10002, supplied_bin 0x0
  206   74915 [main] stat-size-test 3620 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  196   75111 [main] stat-size-test 3620 fhandler_base::set_flags: filemode set to binary
  194   75305 [main] stat-size-test 3620 _pinfo::set_ctty: old ctty /dev/pty0, ctty device number 0x880000, tc.ntty device number 0x880000 flags & O_NOCTTY 0x0
  196   75501 [main] stat-size-test 3620 _pinfo::set_ctty: attaching ctty /dev/pty0 sid 360, pid 3620, pgid 2820, tty->pgid 2820, tty->sid 360
  192   75693 [main] stat-size-test 3620 _pinfo::set_ctty: cygheap->ctty now 0x18032D5B0, archetype 0x18032D5B0
  193   75886 [main] stat-size-test 3620 fhandler_pty_slave::open_setup: /dev/pty0 opened, usecount 3
  193   76079 [main] stat-size-test 3620 fhandler_base::set_flags: flags 0x10002, supplied_bin 0x0
  193   76272 [main] stat-size-test 3620 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  192   76464 [main] stat-size-test 3620 fhandler_base::set_flags: filemode set to binary
  192   76656 [main] stat-size-test 3620 _pinfo::set_ctty: old ctty /dev/pty0, ctty device number 0x880000, tc.ntty device number 0x880000 flags & O_NOCTTY 0x0
  197   76853 [main] stat-size-test 3620 _pinfo::set_ctty: attaching ctty /dev/pty0 sid 360, pid 3620, pgid 2820, tty->pgid 2820, tty->sid 360
  193   77046 [main] stat-size-test 3620 _pinfo::set_ctty: cygheap->ctty now 0x18032D5B0, archetype 0x18032D5B0
  191   77237 [main] stat-size-test 3620 fhandler_pty_slave::open_setup: /dev/pty0 opened, usecount 3
  390   77627 [main] stat-size-test 3620 build_fh_pc: found an archetype for (null)(136/0) io_handle 0x17C
  236   77863 [main] stat-size-test 3620 build_fh_pc: fh 0x18032DB00, dev 00880000
  245   78108 [main] stat-size-test 3620 fhandler_base::open_with_arch: line 496:  /dev/pty0<0x18032D5B0> usecount + 1 = 4
  223   78331 [main] stat-size-test 3620 fhandler_base::set_flags: flags 0x10002, supplied_bin 0x0
  196   78527 [main] stat-size-test 3620 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  195   78722 [main] stat-size-test 3620 fhandler_base::set_flags: filemode set to binary
  195   78917 [main] stat-size-test 3620 _pinfo::set_ctty: old ctty /dev/pty0, ctty device number 0x880000, tc.ntty device number 0x880000 flags & O_NOCTTY 0x0
  195   79112 [main] stat-size-test 3620 _pinfo::set_ctty: attaching ctty /dev/pty0 sid 360, pid 3620, pgid 2820, tty->pgid 2820, tty->sid 360
  193   79305 [main] stat-size-test 3620 _pinfo::set_ctty: cygheap->ctty now 0x18032D5B0, archetype 0x18032D5B0
  191   79496 [main] stat-size-test 3620 fhandler_pty_slave::open_setup: /dev/pty0 opened, usecount 4
  224   79720 [main] stat-size-test 3620 fhandler_base::set_flags: flags 0x10002, supplied_bin 0x0
  214   79934 [main] stat-size-test 3620 fhandler_base::set_flags: O_TEXT/O_BINARY set in flags 0x10000
  212   80146 [main] stat-size-test 3620 fhandler_base::set_flags: filemode set to binary
  218   80364 [main] stat-size-test 3620 _pinfo::set_ctty: old ctty /dev/pty0, ctty device number 0x880000, tc.ntty device number 0x880000 flags & O_NOCTTY 0x0
  215   80579 [main] stat-size-test 3620 _pinfo::set_ctty: attaching ctty /dev/pty0 sid 360, pid 3620, pgid 2820, tty->pgid 2820, tty->sid 360
  349   80928 [main] stat-size-test 3620 _pinfo::set_ctty: cygheap->ctty now 0x18032D5B0, archetype 0x18032D5B0
  270   81198 [main] stat-size-test 3620 fhandler_pty_slave::open_setup: /dev/pty0 opened, usecount 4
  345   81543 [main] stat-size-test 3620 __set_errno: void dll_crt0_1(void*):1007 setting errno 0
  988   82531 [main] stat-size-test 3620 open: open(/cygdrive/y/foo, 0x601)
  235   82766 [main] stat-size-test 3620 normalize_posix_path: src /cygdrive/y/foo
  259   83025 [main] stat-size-test 3620 normalize_posix_path: /cygdrive/y/foo = normalize_posix_path (/cygdrive/y/foo)
  277   83302 [main] stat-size-test 3620 mount_info::conv_to_win32_path: conv_to_win32_path (/cygdrive/y/foo)
  254   83556 [main] stat-size-test 3620 mount_info::cygdrive_win32_path: src '/cygdrive/y/foo', dst 'Y:\foo'
  229   83785 [main] stat-size-test 3620 set_flags: flags: binary (0x2)
  226   84011 [main] stat-size-test 3620 mount_info::conv_to_win32_path: src_path /cygdrive/y/foo, dst Y:\foo, flags 0x4022, rc 0
  498   84509 [main] stat-size-test 3620 symlink_info::check: 0x0 = NtCreateFile (\??\Y:\foo)
  263   84772 [main] stat-size-test 3620 symlink_info::check: not a symlink
  258   85030 [main] stat-size-test 3620 symlink_info::check: 0 = symlink.check(Y:\foo, 0x24B720) (0x4022)
  239   85269 [main] stat-size-test 3620 path_conv::check: this->path(Y:\foo), has_acls(0)
  188   85457 [main] stat-size-test 3620 build_fh_pc: fh 0x18032DD70, dev 000000C3
  240   85697 [main] stat-size-test 3620 fhandler_base::open: (\??\Y:\foo, 0x108601)
  574   86271 [main] stat-size-test 3620 fhandler_base::set_flags: flags 0x108601, supplied_bin 0x10000
  239   86510 [main] stat-size-test 3620 fhandler_base::set_flags: filemode set to binary
  229   86739 [main] stat-size-test 3620 fhandler_base::open: 0x0 = NtCreateFile (0x3C0, 0x40120080, \??\Y:\foo, io, NULL, 0x80, 0x7, 0x3, 0x4020, NULL, 0)
  224   86963 [main] stat-size-test 3620 fhandler_base::open: 1 = fhandler_base::open(\??\Y:\foo, 0x108601)
  232   87195 [main] stat-size-test 3620 fhandler_base::open_fs: 1 = fhandler_disk_file::open(\??\Y:\foo, 0x8601)
  242   87437 [main] stat-size-test 3620 open: 3 = open(/cygdrive/y/foo, 0x8601)
  221   87658 [main] stat-size-test 3620 write: write(3, 0x10040303E, 12)
  381   88039 [main] stat-size-test 3620 write: 12 = write(3, 0x10040303E, 12)
 2534   90573 [main] stat-size-test 3620 fhandler_base::fstat_helper: 0 = fstat (\??\Y:\foo, 0x24CA10) st_size=0, st_mode=0100644, st_ino=4743388578069983243st_atim=56375F2C.0 st_ctim=56375FC6.0 st_mtim=56375FC6.0 st_birthtim=5357EE04.0
  396   90969 [main] stat-size-test 3620 fstat64: 0 = fstat(3, 0x24CA10)
 1251   92220 [main] stat-size-test 3620 time: 1446618094 = time(0x0)
  444   92664 [main] stat-size-test 3620 cygpsid::debug_print: get_sids_info: owner SID = S-1-5-21-4096061939-177889333-3710151321-1394
  274   92938 [main] stat-size-test 3620 cygpsid::debug_print: get_sids_info: group SID = S-1-5-21-4096061939-177889333-3710151321-513
  267   93205 [main] stat-size-test 3620 get_info_from_sd: ACL 0x2190, uid 1049970, gid 1049089
  386   93591 [main] stat-size-test 3620 stat64: entering
  212   93803 [main] stat-size-test 3620 normalize_posix_path: src /dev
  204   94007 [main] stat-size-test 3620 normalize_posix_path: /dev = normalize_posix_path (/dev)
  205   94212 [main] stat-size-test 3620 mount_info::conv_to_win32_path: conv_to_win32_path (/dev)
  268   94480 [main] stat-size-test 3620 set_flags: flags: binary (0x2)
  237   94717 [main] stat-size-test 3620 mount_info::conv_to_win32_path: src_path /dev, dst C:\cygwin64\dev, flags 0x3000A, rc 0
  277   94994 [main] stat-size-test 3620 symlink_info::check: 0x0 = NtCreateFile (\??\C:\cygwin64\dev)
  252   95246 [main] stat-size-test 3620 symlink_info::check: not a symlink
  221   95467 [main] stat-size-test 3620 symlink_info::check: 0 = symlink.check(C:\cygwin64\dev, 0x24B1B0) (0x43000A)
  220   95687 [main] stat-size-test 3620 build_fh_pc: fh 0x18032E080, dev 000000C1
  211   95898 [main] stat-size-test 3620 stat_worker: (\??\C:\cygwin64\dev, 0x180300F80, 0x18032E080), file_attributes 16
  315   96213 [main] stat-size-test 3620 cygpsid::debug_print: get_sids_info: owner SID = S-1-5-21-4096061939-177889333-3710151321-1394
  276   96489 [main] stat-size-test 3620 cygpsid::debug_print: get_sids_info: group SID = S-1-5-21-4096061939-177889333-3710151321-513
  341   96830 [main] stat-size-test 3620 get_info_from_sd: ACL 0x41ED, uid 1049970, gid 1049089
  490   97320 [main] stat-size-test 3620 fhandler_base::fstat_helper: 0 = fstat (\??\C:\cygwin64\dev, 0x180300F80) st_size=0, st_mode=040755, st_ino=281474976829559st_atim=5601CA2F.36FA1BE0 st_ctim=5601CA2F.36FA1BE0 st_mtim=5601CA2F.36FA1BE0 st_birthtim=5601C99A.1D663EC0
  339   97659 [main] stat-size-test 3620 stat_worker: 0 = (\??\C:\cygwin64\dev,0x180300F80)
  366   98025 [main] stat-size-test 3620 fstat64: 0 = fstat(1, 0x24C4E0)
  470   98495 [main] stat-size-test 3620 isatty: 1 = isatty(1)
 1013   99508 [main] stat-size-test 3620 fhandler_pty_slave::write: pty0, write(0x600039700, 34)
  260   99768 [main] stat-size-test 3620 fhandler_pty_common::process_opost_output: (1852): pty output_mutex (0x11C): waiting -1 ms
  213   99981 [main] stat-size-test 3620 fhandler_pty_common::process_opost_output: (1852): pty output_mutex: acquired
  195  100176 [main] stat-size-test 3620 fhandler_pty_common::process_opost_output: (1891): pty output_mutex(0x11C) released
  153  100329 [main] stat-size-test 3620 write: 34 = write(1, 0x600039700, 34)
  809  101138 [main] stat-size-test 3620 close: close(3)
  182  101320 [main] stat-size-test 3620 fhandler_base::close: closing '/cygdrive/y/foo' handle 0x3C0
  285  101605 [main] stat-size-test 3620 close: 0 = close(3)
  310  101915 [main] stat-size-test 3620 stat64: entering
  365  102280 [main] stat-size-test 3620 normalize_posix_path: src /cygdrive/y/foo
  362  102642 [main] stat-size-test 3620 normalize_posix_path: /cygdrive/y/foo = normalize_posix_path (/cygdrive/y/foo)
  333  102975 [main] stat-size-test 3620 mount_info::conv_to_win32_path: conv_to_win32_path (/cygdrive/y/foo)
  297  103272 [main] stat-size-test 3620 mount_info::cygdrive_win32_path: src '/cygdrive/y/foo', dst 'Y:\foo'
  262  103534 [main] stat-size-test 3620 set_flags: flags: binary (0x2)
  252  103786 [main] stat-size-test 3620 mount_info::conv_to_win32_path: src_path /cygdrive/y/foo, dst Y:\foo, flags 0x4022, rc 0
  538  104324 [main] stat-size-test 3620 symlink_info::check: 0x0 = NtCreateFile (\??\Y:\foo)
  293  104617 [main] stat-size-test 3620 symlink_info::check: not a symlink
  246  104863 [main] stat-size-test 3620 symlink_info::check: 0 = symlink.check(Y:\foo, 0x24B7F0) (0x404022)
  266  105129 [main] stat-size-test 3620 path_conv::check: this->path(Y:\foo), has_acls(0)
  203  105332 [main] stat-size-test 3620 build_fh_pc: fh 0x18032DD70, dev 000000C3
  196  105528 [main] stat-size-test 3620 stat_worker: (\??\Y:\foo, 0x24CA10, 0x18032DD70), file_attributes 128
 1140  106668 [main] stat-size-test 3620 fhandler_base::fstat_helper: 0 = fstat (\??\Y:\foo, 0x24CA10) st_size=12, st_mode=0100644, st_ino=4743388578069983243st_atim=5639A3EF.0 st_ctim=5639A3EF.0 st_mtim=5639A3EF.0 st_birthtim=5357EE04.0
  225  106893 [main] stat-size-test 3620 stat_worker: 0 = (\??\Y:\foo,0x24CA10)
  888  107781 [main] stat-size-test 3620 fhandler_pty_slave::write: pty0, write(0x600039700, 34)
  207  107988 [main] stat-size-test 3620 fhandler_pty_common::process_opost_output: (1852): pty output_mutex (0x11C): waiting -1 ms
  235  108223 [main] stat-size-test 3620 fhandler_pty_common::process_opost_output: (1852): pty output_mutex: acquired
  145  108368 [main] stat-size-test 3620 fhandler_pty_common::process_opost_output: (1891): pty output_mutex(0x11C) released
  244  108612 [main] stat-size-test 3620 write: 34 = write(1, 0x600039700, 34)
 1151  109763 [main] stat-size-test 3620 do_exit: do_exit (0), exit_state 1
  228  109991 [main] stat-size-test 3620 void: 0x0 = signal (20, 0x1)
  233  110224 [main] stat-size-test 3620 void: 0x0 = signal (1, 0x1)
  227  110451 [main] stat-size-test 3620 void: 0x0 = signal (2, 0x1)
  229  110680 [main] stat-size-test 3620 void: 0x0 = signal (3, 0x1)
  229  110909 [main] stat-size-test 3620 fhandler_base::close_with_arch: line 1142:  /dev/pty0<0x18032D5B0> usecount + -1 = 3
  224  111133 [main] stat-size-test 3620 fhandler_base::close_with_arch: not closing archetype
  226  111359 [main] stat-size-test 3620 fhandler_base::close_with_arch: line 1142:  /dev/pty0<0x18032D5B0> usecount + -1 = 2
  223  111582 [main] stat-size-test 3620 fhandler_base::close_with_arch: not closing archetype
  228  111810 [main] stat-size-test 3620 fhandler_base::close_with_arch: line 1142:  /dev/pty0<0x18032D5B0> usecount + -1 = 1
  224  112034 [main] stat-size-test 3620 fhandler_base::close_with_arch: not closing archetype
  224  112258 [main] stat-size-test 3620 init_cygheap::close_ctty: closing cygheap->ctty 0x18032D5B0
  225  112483 [main] stat-size-test 3620 fhandler_base::close_with_arch: closing passed in archetype 0x0, usecount 0
  224  112707 [main] stat-size-test 3620 fhandler_pty_slave::cleanup: /dev/pty0 closed, usecount 0
  224  112931 [main] stat-size-test 3620 fhandler_pty_slave::close: closing last open /dev/pty0 handle
  270  113201 [main] stat-size-test 3620 fhandler_console::free_console: freed console, res 1
  178  113379 [main] stat-size-test 3620 fhandler_pty_common::close: pty0 <0x17C,0x184> closing
  299  113678 [main] stat-size-test 3620 dtable::delete_archetype: deleting element 0 for /dev/pty0(136/0)
  306  113984 [main] stat-size-test 3620 getpid: 3620 = getpid()
  201  114185 [main] stat-size-test 3620 proc_terminate: nprocs 0
  307  114492 [main] stat-size-test 3620 proc_terminate: leaving
  357  114849 [main] stat-size-test 3620 pinfo::exit: Calling ExitProcess n 0x0, exitcode 0x0
--- Process 3620 thread 6728 exited with status 0x0
--- Process 3620 thread 3204 exited with status 0x0
--- Process 3620 thread 3716 exited with status 0x0
--- Process 3620 thread 444 exited with status 0x0
--- Process 3620 exited with status 0x0

[-- Attachment #3: .signature --]
[-- Type: text/plain, Size: 45 bytes --]


-- 
Jonathan Lennox
lennox@cs.columbia.edu


[-- 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] 20+ messages in thread

* Re: fstat st_size on open files on Parallels filesystem is wrong
  2015-11-04  6:35                               ` Jonathan Lennox
@ 2015-11-04  9:45                                 ` Corinna Vinschen
  0 siblings, 0 replies; 20+ messages in thread
From: Corinna Vinschen @ 2015-11-04  9:45 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 1610 bytes --]

On Nov  4 01:35, Jonathan Lennox wrote:
> On Tuesday, November 3 2015, "Corinna Vinschen" wrote to "cygwin@cygwin.com" saying:
> 
> > Btw., there's more than one problem here.  The fact that all drives
> > have the same volume name *and* a serial number of 0 leads to all
> > drives being identified as the same drive.  I have to add some code
> > creating a reproducible serial number from scratch if the original
> > serial number is 0, but for testing, I didn't implement this yet.
> 
> I've confirmed that this is the case for all the prlsf drives I have (drives
> U:-Z:).
> 
> > Talking about testing.  I created a test DLL which provides a lot
> > of output when stracing the calls.  I'll send you a private mail
> > with the URL to this DLL in a minute.  Please install it, and under
> > that DLL, run
> > 
> >   $ strace -o stat.trace ./stat-size-test.exe /cygdrive/y/foo
> > 
> > I'll need to have a look into that strace to (hopefully) see what's
> > going wrong.
> 
> Attached.

Thanks, but...  are you sure you created this with the test DLL I sent
you the URL for?  The attached strace looks like stock Cygwin.  It
doesn't contain any of the additional strace output the DLL is supposed
to generate and some of it is in a code path you can't avoid when
calling functions on files.

I'll upload a new DLL to the URL I mentioned in PM in a minute, just to
be sure I didn't screw this up myself.


Thanks,
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]

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

end of thread, other threads:[~2015-11-04  9:45 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-21 18:27 fstat st_size on open files on Parallels filesystem is wrong lennox
2014-04-21 18:35 ` Andrey Repin
2014-04-21 18:46   ` lennox
2014-04-22  8:16     ` Corinna Vinschen
2014-04-22 16:09       ` lennox
2014-04-22 20:57       ` lennox
2014-04-23  8:41         ` Corinna Vinschen
2014-04-23 16:47           ` lennox
2014-04-23 17:24             ` Corinna Vinschen
2015-10-08 16:16               ` Jonathan Lennox
2015-10-21 11:07                 ` Corinna Vinschen
2015-11-02  9:38                   ` Jonathan Lennox
2015-11-02 11:23                     ` Corinna Vinschen
2015-11-02 13:08                       ` Jonathan Lennox
2015-11-02 14:06                         ` Corinna Vinschen
2015-11-02 22:05                           ` Jonathan Lennox
2015-11-03 12:19                             ` Corinna Vinschen
2015-11-04  6:35                               ` Jonathan Lennox
2015-11-04  9:45                                 ` Corinna Vinschen
2015-11-02 12:52                     ` cyg Simple

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