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